Template Struct Instruction

Struct Documentation

template<typename Spec>
struct sgpl::Instruction

Public Types

using library_t = typename Spec::library_t
using rectifier_t = sgpl::OpCodeRectifier<library_t>
using tag_t = typename Spec::tag_t

Public Functions

void RectifyArgs()
void RectifyOpCode(const rectifier_t &r = rectifier_t{})
void Rectify(const rectifier_t &r = rectifier_t{})
Instruction() = default
Instruction(uit_emp::Random &rand)
void NopOut()
void NopOutIfNotAnchor()
bool IsNop() const noexcept
bool IsOp() const noexcept
bool operator==(const Instruction &other) const
bool operator!=(const Instruction &other) const
bool operator<(const Instruction &other) const
std::string GetOpName() const
const tag_t &GetTag() const noexcept
auto GetDescriptors() const
auto GetCategories() const
template<typename Archive, cereal::traits::EnableIf<cereal::traits::is_text_archive<Archive>::value> = cereal::traits::sfinae>
void save(Archive &archive) const
template<typename Archive, cereal::traits::EnableIf<cereal::traits::is_text_archive<Archive>::value> = cereal::traits::sfinae>
void load(Archive &archive)
template<typename Archive, cereal::traits::DisableIf<cereal::traits::is_text_archive<Archive>::value> = cereal::traits::sfinae>
void serialize(Archive &archive)

Public Members

unsigned char op_code
std::array<unsigned char, 3> args
tag_t tag