Go to the documentation of this file.
22 #if !defined(VARIABLES_H)
46 {
return "BooleanVariable"; }
69 {
return "IntegerVariable"; }
91 {
return "OctetStringVariable"; }
112 {
return "ObjectRefVariable"; }
133 {
return "ContentRefVariable"; }
188 virtual int DoOp(
int arg1,
int arg2) = 0;
196 int DoOp(
int arg1,
int arg2)
override
197 {
return arg1+arg2; }
204 int DoOp(
int arg1,
int arg2)
override
205 {
return arg1-arg2; }
212 int DoOp(
int arg1,
int arg2)
override
213 {
return arg1*arg2; }
220 int DoOp(
int arg1,
int arg2)
override {
221 if (arg2 == 0)
throw "Divide by 0";
230 int DoOp(
int arg1,
int arg2)
override
231 {
return arg2 ? arg1%arg2 : 0; }
void Preparation(MHEngine *engine) override
void Copy(const MHObjectRef &objr)
void Activation(MHEngine *engine) override
void GetVariableValue(MHUnion &value, MHEngine *engine) override
void Perform(MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const
void TestVariable(int nOp, const MHUnion &parm, MHEngine *engine) override
void GetVariableValue(MHUnion &value, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void PrintArgs(FILE *fd, int) const override
void Initialise(MHParseNode *p, MHEngine *engine) override
MHIntegerAction(const char *name)
const char * ClassName() override
void PrintMe(FILE *fd, int nTabs) const override
int DoOp(int arg1, int arg2) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
int DoOp(int arg1, int arg2) override
void Initialise(MHParseNode *p, MHEngine *engine) override
MHGenericOctetString m_operand
void SetVariableValue(const MHUnion &value) override
void Initialise(MHParseNode *p, MHEngine *engine) override
void Initialise(MHParseNode *p, MHEngine *engine) override
~MHVariable() override=default
void SetVariableValue(const MHUnion &value) override
int DoOp(int arg1, int arg2) override
MHOctetString m_originalValue
void Initialise(MHParseNode *p, MHEngine *engine) override
void Preparation(MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
void PrintArgs(FILE *fd, int) const override
void Perform(MHEngine *engine) override
MHObjectRef m_originalValue
void PrintArgs(FILE *fd, int) const override
MHContentRef m_originalValue
void PrintMe(FILE *fd, int nTabs) const
const char * ClassName() override
MHGenericInteger m_operand
int DoOp(int arg1, int arg2) override
virtual int DoOp(int arg1, int arg2)=0
const char * ClassName() override
void GetVariableValue(MHUnion &value, MHEngine *engine) override
void TestVariable(int nOp, const MHUnion &parm, MHEngine *engine) override
MHContentRefVar()=default
void PrintMe(FILE *fd, int nTabs) const override
void PrintArgs(FILE *fd, int nTabs) const override
void PrintMe(FILE *fd, int nTabs) const override
void TestVariable(int nOp, const MHUnion &parmm, MHEngine *engine) override
void PrintMe(FILE *fd, int nTabs) const override
void PrintMe(FILE *fd, int nTabs) const
void Perform(MHEngine *engine) override
void Preparation(MHEngine *engine) override
void TestVariable(int nOp, const MHUnion &parm, MHEngine *engine) override
void GetVariableValue(MHUnion &value, MHEngine *engine) override
void Copy(const MHContentRef &cr)
void GetVariableValue(MHUnion &value, MHEngine *engine) override
int DoOp(int arg1, int arg2) override
void SetVariableValue(const MHUnion &value) override
void TestVariable(int nOp, const MHUnion &parm, MHEngine *engine) override
void Perform(MHEngine *engine) override
void SetVariableValue(const MHUnion &value) override
void SetVariableValue(const MHUnion &value) override
const char * ClassName() override
void Preparation(MHEngine *engine) override
void Copy(const MHOctetString &str)
const char * ClassName() override
void Preparation(MHEngine *engine) override