MADARA
3.1.8
|
A composite node that calls a function. More...
#include <CompositeFunctionNode.h>
Public Member Functions | |
CompositeFunctionNode (const std::string &name, madara::knowledge::ThreadSafeContext &context, const ComponentNodes &nodes) | |
Constructor. More... | |
virtual | ~CompositeFunctionNode (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) |
Evaluates the expression tree. More... | |
virtual madara::knowledge::KnowledgeRecord | item (void) const |
Returns the printable character of the node. More... | |
virtual ComponentNode * | left (void) const |
Returns the left expression. More... | |
virtual madara::knowledge::KnowledgeRecord | prune (bool &can_change) |
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_ |
Private Attributes | |
std::vector< knowledge::KnowledgeRecord * > | compiled_args_ |
knowledge::ThreadSafeContext & | context_ |
knowledge::Function * | function_ |
const std::string | name_ |
A composite node that calls a function.
Definition at line 24 of file CompositeFunctionNode.h.
madara::expression::CompositeFunctionNode::CompositeFunctionNode | ( | const std::string & | name, |
madara::knowledge::ThreadSafeContext & | context, | ||
const ComponentNodes & | nodes | ||
) |
Constructor.
name | function name |
context | context for accessing variables and functions |
nodes | arguments to the function |
Definition at line 36 of file CompositeFunctionNode.cpp.
|
virtual |
Destructor.
Definition at line 48 of file CompositeFunctionNode.cpp.
|
virtual |
Accepts a visitor subclassed from the Visitor class.
visitor | visitor instance to use |
Reimplemented from madara::expression::CompositeTernaryNode.
Definition at line 235 of file CompositeFunctionNode.cpp.
|
virtual |
Evaluates the expression tree.
Evaluates the node and its children.
settings | settings for evaluating the node |
This does not prune any of the expression tree, and is much faster than the prune function
Implements madara::expression::CompositeTernaryNode.
Definition at line 104 of file CompositeFunctionNode.cpp.
|
virtual |
Returns the printable character of the node.
Reimplemented from madara::expression::CompositeTernaryNode.
Definition at line 53 of file CompositeFunctionNode.cpp.
|
virtualinherited |
Returns the left expression.
Reimplemented in madara::expression::CompositeBinaryNode.
Definition at line 34 of file ComponentNode.cpp.
|
virtual |
Prunes the expression tree of unnecessary nodes.
Prune the tree of unnecessary nodes.
can_change | set to true if variable nodes are contained |
Returns evaluation of the node and sets can_change appropriately. if this node can be changed, that means it shouldn't be pruned.
Implements madara::expression::CompositeTernaryNode.
Definition at line 64 of file CompositeFunctionNode.cpp.
|
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.
|
private |
Definition at line 81 of file CompositeFunctionNode.h.
|
private |
Definition at line 75 of file CompositeFunctionNode.h.
|
private |
Definition at line 78 of file CompositeFunctionNode.h.
|
protectedinherited |
handle the context
Definition at line 96 of file ComponentNode.h.
|
private |
Definition at line 72 of file CompositeFunctionNode.h.
|
protectedinherited |
Definition at line 76 of file CompositeTernaryNode.h.