jmespath.cpp
C++ implementation of JMESPath, a query language for JSON http://jmespath.org
|
The FunctionExpressionNode class represents a JMESPath function expression. More...
#include <functionexpressionnode.h>
Public Types | |
using | ArgumentType = boost::variant< boost::blank, boost::recursive_wrapper< ExpressionNode >, boost::recursive_wrapper< ExpressionArgumentNode > > |
Public Member Functions | |
FunctionExpressionNode () | |
Constructs an empty FunctionExpressionNode object. More... | |
FunctionExpressionNode (const String &name, const std::initializer_list< ArgumentType > &argumentList={}) | |
Constructs a FunctionExpressionNode object with the given function name and list of arguments as its arguments. More... | |
void | accept (interpreter::AbstractVisitor *visitor) const override |
Calls the visit method of the given visitor with the dynamic type of the node. More... | |
bool | operator== (const FunctionExpressionNode &other) const |
Equality compares this node to the other. More... | |
![]() | |
AbstractNode ()=default | |
Constructs an AbstractNode object. More... | |
AbstractNode (const AbstractNode &)=default | |
Copy-constructs an AbstractNode object. More... | |
virtual | ~AbstractNode () |
Destroys the AbstractNode object. More... | |
AbstractNode & | operator= (const AbstractNode &)=default |
Copy-assigns the other object to this object. More... | |
Public Attributes | |
String | functionName |
The function's name. More... | |
std::vector< ArgumentType > | arguments |
The function expressions's arguments. More... | |
The FunctionExpressionNode class represents a JMESPath function expression.
using jmespath::ast::FunctionExpressionNode::ArgumentType = boost::variant<boost::blank, boost::recursive_wrapper<ExpressionNode>, boost::recursive_wrapper<ExpressionArgumentNode> > |
jmespath::ast::FunctionExpressionNode::FunctionExpressionNode | ( | ) |
Constructs an empty FunctionExpressionNode object.
jmespath::ast::FunctionExpressionNode::FunctionExpressionNode | ( | const String & | name, |
const std::initializer_list< ArgumentType > & | argumentList = {} |
||
) |
Constructs a FunctionExpressionNode object with the given function name and list of arguments as its arguments.
[in] | name | The function's identifier |
[in] | argumentList | The function's arguments |
|
overridevirtual |
Calls the visit method of the given visitor with the dynamic type of the node.
[in] | visitor | A visitor implementation |
Implements jmespath::ast::AbstractNode.
bool jmespath::ast::FunctionExpressionNode::operator== | ( | const FunctionExpressionNode & | other | ) | const |
Equality compares this node to the other.
[in] | other | The node that should be compared. |
std::vector<ArgumentType> jmespath::ast::FunctionExpressionNode::arguments |
The function expressions's arguments.
String jmespath::ast::FunctionExpressionNode::functionName |
The function's name.