192 Instruction() : opcode(Opcode::Halt), operand1(), operand2() {}
194 explicit Instruction(
Opcode op) : opcode(op), operand1(), operand2() {}
196 Instruction(
Opcode op, int32_t op1) : opcode(op), operand1(op1), operand2() {}
198 Instruction(
Opcode op, uint32_t op1)
199 : opcode(op), operand1(op1), operand2() {}
201 Instruction(
Opcode op, std::string op1)
202 : opcode(op), operand1(std::move(op1)), operand2() {}
204 Instruction(
Opcode op, int32_t op1, int32_t op2)
205 : opcode(op), operand1(op1), operand2(op2) {}
207 Instruction(
Opcode op, uint32_t op1, int32_t op2)
208 : opcode(op), operand1(op1), operand2(op2) {}
std::variant< std::monostate, int32_t, uint32_t, std::string > Operand
Operand types that an instruction can have.
Definition instruction.h:176