MADARA
3.1.8
|
#include <CompositeTernaryNode.h>
Public Member Functions | |
CompositeTernaryNode (logger::Logger &logger) | |
Constructor. More... | |
CompositeTernaryNode (logger::Logger &logger, const ComponentNodes &nodes) | |
Constructor. More... | |
virtual | ~CompositeTernaryNode (void) |
Destructor. More... | |
virtual void | accept (Visitor &visitor) const |
Accepts a visitor subclassed from the Visitor class. More... | |
virtual madara::knowledge::KnowledgeRecord | evaluate (const madara::knowledge::KnowledgeUpdateSettings &settings)=0 |
Evaluates the node. More... | |
virtual madara::knowledge::KnowledgeRecord | item (void) const |
Returns the value of the node. More... | |
virtual ComponentNode * | left (void) const |
Returns the left expression. More... | |
virtual madara::knowledge::KnowledgeRecord | prune (bool &can_change)=0 |
Prunes the expression tree of unnecessary nodes. More... | |
virtual ComponentNode * | right (void) const |
Returns the right expression. More... | |
void | set_logger (logger::Logger &logger) |
Sets the logger for printing errors and debugging info. More... | |
Protected Attributes | |
logger::Logger * | logger_ |
handle the context More... | |
ComponentNodes | nodes_ |
Definition at line 26 of file CompositeTernaryNode.h.
madara::expression::CompositeTernaryNode::CompositeTernaryNode | ( | logger::Logger & | logger | ) |
Constructor.
logger | the logger to use for printing |
Definition at line 14 of file CompositeTernaryNode.cpp.
madara::expression::CompositeTernaryNode::CompositeTernaryNode | ( | logger::Logger & | logger, |
const ComponentNodes & | nodes | ||
) |
Constructor.
logger | the logger to use for printing |
nodes | a list of nodes necessary for the node |
Definition at line 22 of file CompositeTernaryNode.cpp.
|
virtual |
Destructor.
Definition at line 30 of file CompositeTernaryNode.cpp.
|
virtual |
Accepts a visitor subclassed from the Visitor class.
visitor | visitor instance to use |
Reimplemented from madara::expression::ComponentNode.
Reimplemented in madara::expression::SystemCallNode, madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::CompositeFunctionNode, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::CompositeConstArray, madara::expression::SystemCallExpandEnv, madara::expression::CompositeMultiplyNode, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, madara::expression::SystemCallWriteFile, madara::expression::CompositeAndNode, madara::expression::CompositeBothNode, madara::expression::CompositeReturnRightNode, madara::expression::CompositeSequentialNode, madara::expression::CompositeOrNode, and madara::expression::CompositeAddNode.
Definition at line 44 of file CompositeTernaryNode.cpp.
|
pure virtual |
Evaluates the node.
settings | settings for evaluating the node |
Implements madara::expression::ComponentNode.
Implemented in madara::expression::SystemCallEval, madara::expression::SystemCallNode, madara::expression::SystemCallPrint, madara::expression::CompositeFunctionNode, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::CompositeConstArray, madara::expression::SystemCallExpandEnv, madara::expression::CompositeMultiplyNode, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, madara::expression::SystemCallWriteFile, madara::expression::CompositeAndNode, madara::expression::CompositeBothNode, madara::expression::CompositeReturnRightNode, madara::expression::CompositeSequentialNode, madara::expression::CompositeOrNode, and madara::expression::CompositeAddNode.
|
virtual |
Returns the value of the node.
Reimplemented from madara::expression::ComponentNode.
Reimplemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallNode, madara::expression::CompositeFunctionNode, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::CompositeConstArray, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::CompositeMultiplyNode, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, madara::expression::SystemCallWriteFile, madara::expression::CompositeBothNode, madara::expression::CompositeReturnRightNode, madara::expression::CompositeSequentialNode, madara::expression::CompositeAndNode, madara::expression::CompositeOrNode, and madara::expression::CompositeAddNode.
Definition at line 37 of file CompositeTernaryNode.cpp.
|
virtualinherited |
Returns the left expression.
Reimplemented in madara::expression::CompositeBinaryNode.
Definition at line 34 of file ComponentNode.cpp.
|
pure virtual |
Prunes the expression tree of unnecessary nodes.
can_change | set to true if variable nodes are contained |
Implements madara::expression::ComponentNode.
Implemented in madara::expression::SystemCallEval, madara::expression::SystemCallPrint, madara::expression::SystemCallNode, madara::expression::CompositeFunctionNode, madara::expression::SystemCallClearVariable, madara::expression::SystemCallDeleteVariable, madara::expression::SystemCallPrintSystemCalls, madara::expression::SystemCallExpandEnv, madara::expression::CompositeConstArray, madara::expression::SystemCallExpandStatement, madara::expression::SystemCallSetPrecision, madara::expression::SystemCallToHostDirs, madara::expression::CompositeMultiplyNode, madara::expression::SystemCallCos, madara::expression::SystemCallFragment, madara::expression::SystemCallGetClock, madara::expression::SystemCallGetTime, madara::expression::SystemCallGetTimeSeconds, madara::expression::SystemCallLogLevel, madara::expression::SystemCallPow, madara::expression::SystemCallRandDouble, madara::expression::SystemCallRandInt, madara::expression::SystemCallReadFile, madara::expression::SystemCallSetClock, madara::expression::SystemCallSetFixed, madara::expression::SystemCallSetScientific, madara::expression::SystemCallSin, madara::expression::SystemCallSize, madara::expression::SystemCallSleep, madara::expression::SystemCallSqrt, madara::expression::SystemCallTan, madara::expression::SystemCallToBuffer, madara::expression::SystemCallToDouble, madara::expression::SystemCallToDoubles, madara::expression::SystemCallToInteger, madara::expression::SystemCallToIntegers, madara::expression::SystemCallToString, madara::expression::SystemCallType, madara::expression::SystemCallWriteFile, madara::expression::CompositeAndNode, madara::expression::CompositeBothNode, madara::expression::CompositeReturnRightNode, madara::expression::CompositeSequentialNode, madara::expression::CompositeOrNode, and madara::expression::CompositeAddNode.
|
virtualinherited |
Returns the right expression.
Reimplemented in madara::expression::CompositeUnaryNode.
Definition at line 41 of file ComponentNode.cpp.
|
inherited |
Sets the logger for printing errors and debugging info.
logger | the logger to use |
Definition at line 53 of file ComponentNode.cpp.
|
protectedinherited |
handle the context
Definition at line 96 of file ComponentNode.h.
|
protected |
Definition at line 76 of file CompositeTernaryNode.h.