Public Types | |
| enum | OPERATION { OP_NONE, OP_ASSIGN, OP_EQUAL, OP_NOT_EQUAL, OP_LESS_THAN, OP_LESS_THAN_EQUAL, OP_GREATER_THAN, OP_GREATER_THAN_EQUAL, OP_PLUS_ASSIGN, OP_MINUS_ASSIGN, OP_CONTAINS, OP_HAS, OP_CURR_SDEV, OP_PLUS, OP_MINUS, OP_MULTIPLY, OP_DIVIDE, OP_AND, OP_OR, OP_MOD, OP_STATUS } |
Public Types inherited from Bagel::SpaceBar::CBagParseObject | |
| enum | KEYWORDS { UNKNOWN = 0, STORAGEDEV, START_WLD, VARIABLE, REMARK, DISKID, CURSOR, SHAREDPAL, DISKAUDIO, PDASTATE, SYSSCREEN, WIELDCURSOR } |
Public Member Functions | |
| CBagExpression (CBagExpression *prevExpr=nullptr, bool prevNegFl=false) | |
| bool | evaluate (bool negFl=false, CBagVar &result= *_tempVar) |
| bool | evalLeftToRight (bool negFl=false, CBagVar &result= *_tempVar) |
| bool | negEvaluate (CBagVar &result= *_tempVar) |
| void | setNegative (bool b=true) |
| bool | isNegative () const |
| CBagVar * | getVariable (int itemPos) |
| OPERATION | getOperation (int itemPos) |
| ParseCodes | setInfo (CBagIfstream &istr) override |
| ErrorCode | getOperatorFromStream (CBagIfstream &istr, OPERATION &oper) |
| CBagExpression * | getPrevExpression () const |
| void | setPrevExpression (CBagExpression *expr) |
| virtual bool | onAssign (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onEqual (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onNotEqual (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onLessThan (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onGreaterThan (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onLessThanEqual (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onGreaterThanEqual (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onPlusAssign (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onMinusAssign (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onContains (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onHas (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onCurrSDev (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onPlus (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onMinus (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onMultiply (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onDivide (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onMod (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onAnd (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onOr (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
| virtual bool | onStatus (CBagVar *leftHandOper, CBagVar *rightHandOper, CBagVar &resultOper) |
Public Member Functions inherited from Bagel::SpaceBar::CBagParseObject | |
| virtual ErrorCode | attach () |
| virtual ErrorCode | detach () |
| virtual bool | isAttached () |
| int | getStringFromStream (CBagIfstream &istr, CBofString &sStr, const CBofString &sEndChars, bool bPutBack=false) |
| int | getAlphaNumFromStream (CBagIfstream &istr, CBofString &sStr) |
| int | getOperStrFromStream (CBagIfstream &istr, CBofString &sStr) |
| int | getIntFromStream (CBagIfstream &istr, int &nNum) |
| int | getRectFromStream (CBagIfstream &istr, CBofRect &rect) |
| int | getKeywordFromStream (CBagIfstream &istr, KEYWORDS &keyword) |
| int | putbackStringOnStream (CBagIfstream &istr, const CBofString &sStr) |
| int | parseAlertBox (CBagIfstream &istr, const char *sTitle, const char *sFile, int nLine) |
Public Member Functions inherited from Bagel::CBofObject | |
| virtual void | DeleteObject () |
Static Public Member Functions | |
| static void | initialize () |
| static void | shutdown () |
Static Public Member Functions inherited from Bagel::SpaceBar::CBagParseObject | |
| static void | initialize () |
Static Public Member Functions inherited from Bagel::CBofObject | |
| static bool | isValidObject (const CBofObject *pObject) |
Static Public Attributes | |
| static CBagVar * | _tempVar |
| bool Bagel::SpaceBar::CBagExpression::evalLeftToRight | ( | bool | negFl = false, |
| CBagVar & | result = *_tempVar |
||
| ) |
Same as evaluate above except it evaluates left to right and preserves the value of the previous evaluation in the loop. Provides partial evaluation hierarchy support.