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::AbstractNode Class Referenceabstract

The AbstractNode class is the common interface class for all AST node types. More...

#include <abstractnode.h>

Inheritance diagram for jmespath::ast::AbstractNode:
jmespath::ast::ArrayItemNode jmespath::ast::BinaryExpressionNode jmespath::ast::CurrentNode jmespath::ast::ExpressionArgumentNode jmespath::ast::FilterExpressionNode jmespath::ast::FlattenOperatorNode jmespath::ast::FunctionExpressionNode jmespath::ast::IdentifierNode jmespath::ast::ListWildcardNode jmespath::ast::LiteralNode jmespath::ast::MultiselectHashNode jmespath::ast::MultiselectListNode jmespath::ast::NotExpressionNode jmespath::ast::ParenExpressionNode jmespath::ast::RawStringNode jmespath::ast::SliceExpressionNode jmespath::ast::VariantNode< VariantT > jmespath::ast::VariantNode< boost::recursive_wrapper< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > > 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 > >

Public Member Functions

 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...
 
virtual void accept (interpreter::AbstractVisitor *visitor) const =0
 Accepts the given visitor object. More...
 

Detailed Description

The AbstractNode class is the common interface class for all AST node types.

Constructor & Destructor Documentation

jmespath::ast::AbstractNode::AbstractNode ( )
default

Constructs an AbstractNode object.

jmespath::ast::AbstractNode::AbstractNode ( const AbstractNode )
default

Copy-constructs an AbstractNode object.

jmespath::ast::AbstractNode::~AbstractNode ( )
virtual

Destroys the AbstractNode object.

Member Function Documentation

virtual void jmespath::ast::AbstractNode::accept ( interpreter::AbstractVisitor visitor) const
pure virtual

Accepts the given visitor object.

Subclasses should implement this function by calling the visit method of the visitor with a pointer to the node object itself and the accept method of the node's member nodes with the visitor as the parameter.

Parameters
[in]visitorAn interpreter::AbstractVisitor object

Implemented in jmespath::ast::VariantNode< VariantT >, jmespath::ast::VariantNode< boost::recursive_wrapper< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > >, 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::ComparatorExpressionNode, jmespath::ast::IndexExpressionNode, jmespath::ast::AndExpressionNode, jmespath::ast::HashWildcardNode, jmespath::ast::OrExpressionNode, jmespath::ast::PipeExpressionNode, jmespath::ast::MultiselectHashNode, jmespath::ast::FunctionExpressionNode, jmespath::ast::MultiselectListNode, jmespath::ast::BinaryExpressionNode, jmespath::ast::SliceExpressionNode, jmespath::ast::ArrayItemNode, jmespath::ast::ExpressionArgumentNode, jmespath::ast::FilterExpressionNode, jmespath::ast::IdentifierNode, jmespath::ast::NotExpressionNode, jmespath::ast::RawStringNode, jmespath::ast::LiteralNode, jmespath::ast::ParenExpressionNode, jmespath::ast::FlattenOperatorNode, jmespath::ast::CurrentNode, and jmespath::ast::ListWildcardNode.

AbstractNode& jmespath::ast::AbstractNode::operator= ( const AbstractNode )
default

Copy-assigns the other object to this object.

Returns
Returns a reference to this object.

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