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 Member Functions | List of all members
jmespath::ast::ExpressionNode Class Reference

The ExpressionNode class represents a JMESPath expression. More...

#include <expressionnode.h>

Inheritance diagram for jmespath::ast::ExpressionNode:
jmespath::ast::VariantNode< boost::recursive_wrapper< IdentifierNode >, boost::recursive_wrapper< RawStringNode >, boost::recursive_wrapper< LiteralNode >, boost::recursive_wrapper< SubexpressionNode >, boost::recursive_wrapper< IndexExpressionNode >, boost::recursive_wrapper< HashWildcardNode >, boost::recursive_wrapper< MultiselectListNode >, boost::recursive_wrapper< MultiselectHashNode >, boost::recursive_wrapper< NotExpressionNode >, boost::recursive_wrapper< ComparatorExpressionNode >, boost::recursive_wrapper< OrExpressionNode >, boost::recursive_wrapper< AndExpressionNode >, boost::recursive_wrapper< ParenExpressionNode >, boost::recursive_wrapper< PipeExpressionNode >, boost::recursive_wrapper< CurrentNode >, boost::recursive_wrapper< FunctionExpressionNode > > jmespath::ast::AbstractNode

Public Member Functions

 ExpressionNode ()
 Constructs an empty ExpressionNode object. More...
 
 ExpressionNode (const ExpressionNode &)=default
 Copy-constructs an ExpressionNode object. More...
 
virtual ~ExpressionNode ()
 Destroys the ExpressionNode object. More...
 
 ExpressionNode (const ValueType &expression)
 Constructs an ExpressionNode object with its child expression initialized to expression. More...
 
ExpressionNodeoperator= (const ExpressionNode &other)
 Assigns the other object to this object. More...
 
ExpressionNodeoperator= (const ValueType &expression)
 Assigns the other Expression to this object's expression. More...
 
- Public Member Functions inherited from jmespath::ast::VariantNode< boost::recursive_wrapper< IdentifierNode >, boost::recursive_wrapper< RawStringNode >, boost::recursive_wrapper< LiteralNode >, boost::recursive_wrapper< SubexpressionNode >, boost::recursive_wrapper< IndexExpressionNode >, boost::recursive_wrapper< HashWildcardNode >, boost::recursive_wrapper< MultiselectListNode >, boost::recursive_wrapper< MultiselectHashNode >, boost::recursive_wrapper< NotExpressionNode >, boost::recursive_wrapper< ComparatorExpressionNode >, boost::recursive_wrapper< OrExpressionNode >, boost::recursive_wrapper< AndExpressionNode >, boost::recursive_wrapper< ParenExpressionNode >, boost::recursive_wrapper< PipeExpressionNode >, boost::recursive_wrapper< CurrentNode >, boost::recursive_wrapper< FunctionExpressionNode > >
 VariantNode ()
 Constructs an empty VariantNode object. More...
 
 VariantNode (const VariantNode &)=default
 Copy-constructs an VariantNode object. More...
 
 VariantNode (const T &other)
 Copy constructs a VariantNode object if T is VariantNode or constructs a VariantNode object with T as the represented node type with the value given in other. More...
 
VariantNode< VariantT...> & operator= (const VariantNode &other)
 Assigns the other object's value to this object. More...
 
VariantNode< VariantT...> & operator= (const T &other)
 Assigns the value of the other object to this object's internal variant making it the node that this object represents. More...
 
bool operator== (const VariantNode &other) const
 Equality compares this node to the other. More...
 
bool isNull () const
 Returns whether this object has been initialized. More...
 
void accept (interpreter::AbstractVisitor *visitor) const override
 Accepts the given visitor object. 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...
 

Additional Inherited Members

- Public Types inherited from jmespath::ast::VariantNode< boost::recursive_wrapper< IdentifierNode >, boost::recursive_wrapper< RawStringNode >, boost::recursive_wrapper< LiteralNode >, boost::recursive_wrapper< SubexpressionNode >, boost::recursive_wrapper< IndexExpressionNode >, boost::recursive_wrapper< HashWildcardNode >, boost::recursive_wrapper< MultiselectListNode >, boost::recursive_wrapper< MultiselectHashNode >, boost::recursive_wrapper< NotExpressionNode >, boost::recursive_wrapper< ComparatorExpressionNode >, boost::recursive_wrapper< OrExpressionNode >, boost::recursive_wrapper< AndExpressionNode >, boost::recursive_wrapper< ParenExpressionNode >, boost::recursive_wrapper< PipeExpressionNode >, boost::recursive_wrapper< CurrentNode >, boost::recursive_wrapper< FunctionExpressionNode > >
using ValueType = boost::variant< boost::blank, VariantT...>
 The internal variant type which stores the nodes defined in VariantT or boost::blank if it's empty. More...
 
- Public Attributes inherited from jmespath::ast::VariantNode< boost::recursive_wrapper< IdentifierNode >, boost::recursive_wrapper< RawStringNode >, boost::recursive_wrapper< LiteralNode >, boost::recursive_wrapper< SubexpressionNode >, boost::recursive_wrapper< IndexExpressionNode >, boost::recursive_wrapper< HashWildcardNode >, boost::recursive_wrapper< MultiselectListNode >, boost::recursive_wrapper< MultiselectHashNode >, boost::recursive_wrapper< NotExpressionNode >, boost::recursive_wrapper< ComparatorExpressionNode >, boost::recursive_wrapper< OrExpressionNode >, boost::recursive_wrapper< AndExpressionNode >, boost::recursive_wrapper< ParenExpressionNode >, boost::recursive_wrapper< PipeExpressionNode >, boost::recursive_wrapper< CurrentNode >, boost::recursive_wrapper< FunctionExpressionNode > >
ValueType value
 The variable which stores the node that this object represents. More...
 

Detailed Description

The ExpressionNode class represents a JMESPath expression.

Constructor & Destructor Documentation

jmespath::ast::ExpressionNode::ExpressionNode ( )

Constructs an empty ExpressionNode object.

jmespath::ast::ExpressionNode::ExpressionNode ( const ExpressionNode )
default

Copy-constructs an ExpressionNode object.

jmespath::ast::ExpressionNode::~ExpressionNode ( )
virtual

Destroys the ExpressionNode object.

jmespath::ast::ExpressionNode::ExpressionNode ( const ValueType expression)

Constructs an ExpressionNode object with its child expression initialized to expression.

Parameters
[in]expressionThe node's child expression

Member Function Documentation

ExpressionNode & jmespath::ast::ExpressionNode::operator= ( const ExpressionNode other)

Assigns the other object to this object.

Parameters
[in]otherAn ExpressionNode object.
Returns
Returns a reference to this object.
ExpressionNode & jmespath::ast::ExpressionNode::operator= ( const ValueType expression)

Assigns the other Expression to this object's expression.

Parameters
[in]expressionAn Expression object.
Returns
Returns a reference to this object.

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