jmespath.cpp
C++ implementation of JMESPath, a query language for JSON http://jmespath.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
jmespath::ast::FunctionExpressionNode Class Reference

The FunctionExpressionNode class represents a JMESPath function expression. More...

#include <functionexpressionnode.h>

Inheritance diagram for jmespath::ast::FunctionExpressionNode:
jmespath::ast::AbstractNode

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...
 
- Public Member Functions inherited from jmespath::ast::AbstractNode
 AbstractNode ()=default
 Constructs an AbstractNode object. More...
 
 AbstractNode (const AbstractNode &)=default
 Copy-constructs an AbstractNode object. More...
 
virtual ~AbstractNode ()
 Destroys the AbstractNode object. More...
 
AbstractNodeoperator= (const AbstractNode &)=default
 Copy-assigns the other object to this object. More...
 

Public Attributes

String functionName
 The function's name. More...
 
std::vector< ArgumentTypearguments
 The function expressions's arguments. More...
 

Detailed Description

The FunctionExpressionNode class represents a JMESPath function expression.

Member Typedef Documentation

using jmespath::ast::FunctionExpressionNode::ArgumentType = boost::variant<boost::blank, boost::recursive_wrapper<ExpressionNode>, boost::recursive_wrapper<ExpressionArgumentNode> >

Constructor & Destructor Documentation

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.

Parameters
[in]nameThe function's identifier
[in]argumentListThe function's arguments

Member Function Documentation

void jmespath::ast::FunctionExpressionNode::accept ( interpreter::AbstractVisitor visitor) const
overridevirtual

Calls the visit method of the given visitor with the dynamic type of the node.

Parameters
[in]visitorA visitor implementation

Implements jmespath::ast::AbstractNode.

bool jmespath::ast::FunctionExpressionNode::operator== ( const FunctionExpressionNode other) const

Equality compares this node to the other.

Parameters
[in]otherThe node that should be compared.
Returns
Returns true if this object is equal to the other, otherwise false

Member Data Documentation

std::vector<ArgumentType> jmespath::ast::FunctionExpressionNode::arguments

The function expressions's arguments.

String jmespath::ast::FunctionExpressionNode::functionName

The function's name.


The documentation for this class was generated from the following files: