190 Instruction() : opcode(Opcode::Halt), operand1(), operand2() {}
192 explicit Instruction(
Opcode op) : opcode(op), operand1(), operand2() {}
194 Instruction(
Opcode op, int32_t op1) : opcode(op), operand1(op1), operand2() {}
196 Instruction(
Opcode op, uint32_t op1)
197 : opcode(op), operand1(op1), operand2() {}
199 Instruction(
Opcode op, std::string op1)
200 : opcode(op), operand1(std::move(op1)), operand2() {}
202 Instruction(
Opcode op, int32_t op1, int32_t op2)
203 : opcode(op), operand1(op1), operand2(op2) {}
205 Instruction(
Opcode op, uint32_t op1, int32_t op2)
206 : 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:174