28 #ifndef FUNCTIONEXPRESSIONNODE_H 
   29 #define FUNCTIONEXPRESSIONNODE_H 
   33 #include <initializer_list> 
   34 #include <boost/variant.hpp> 
   35 #include <boost/fusion/include/adapt_struct.hpp> 
   37 namespace jmespath { 
namespace ast {
 
   40 class ExpressionArgumentNode;
 
   49         boost::recursive_wrapper<ExpressionNode>,
 
   50         boost::recursive_wrapper<ExpressionArgumentNode> >;
 
   62         const std::initializer_list<ArgumentType>& argumentList = {});
 
   87 BOOST_FUSION_ADAPT_STRUCT(
 
   90     (std::vector<jmespath::ast::FunctionExpressionNode::ArgumentType>,
 
   93 #endif // FUNCTIONEXPRESSIONNODE_H 
bool operator==(const FunctionExpressionNode &other) const 
Equality compares this node to the other. 
Definition: functionexpressionnode.cpp:52
 
std::vector< ArgumentType > arguments
The function expressions's arguments. 
Definition: functionexpressionnode.h:83
 
boost::variant< boost::blank, boost::recursive_wrapper< ExpressionNode >, boost::recursive_wrapper< ExpressionArgumentNode > > ArgumentType
Definition: functionexpressionnode.h:50
 
void accept(interpreter::AbstractVisitor *visitor) const override
Calls the visit method of the given visitor with the dynamic type of the node. 
Definition: functionexpressionnode.cpp:47
 
std::basic_string< Char > String
UTF-8 encoded string type. 
Definition: types.h:44
 
FunctionExpressionNode()
Constructs an empty FunctionExpressionNode object. 
Definition: functionexpressionnode.cpp:34
 
The AbstractVisitor class is an interface which defines the member functions required to visit every ...
Definition: abstractvisitor.h:71
 
String functionName
The function's name. 
Definition: functionexpressionnode.h:79
 
The AbstractNode class is the common interface class for all AST node types. 
Definition: abstractnode.h:45
 
The FunctionExpressionNode class represents a JMESPath function expression. 
Definition: functionexpressionnode.h:45