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::SubexpressionNode Class Reference

The SubexpressionNode class represents a JMESPath subexpression. More...

#include <subexpressionnode.h>

Inheritance diagram for jmespath::ast::SubexpressionNode:
jmespath::ast::BinaryExpressionNode jmespath::ast::AbstractNode

Public Member Functions

 SubexpressionNode ()
 Constructs an empty SubexpressionNode object. More...
 
 SubexpressionNode (const ExpressionNode &expression, const ExpressionNode &subexpression={})
 Constructs an SubexpressionNode object with the given left hand side expression and a right hand side subexpression. More...
 
bool isProjection () const override
 Returns whather this expression requires the projection of subsequent expressions. More...
 
bool stopsProjection () const override
 Reports whether the node should stop an ongoing projection or not. More...
 
- Public Member Functions inherited from jmespath::ast::BinaryExpressionNode
 BinaryExpressionNode ()
 Constructs an empty BinaryExpressionNode object. More...
 
 BinaryExpressionNode (const ExpressionNode &left, const ExpressionNode &right)
 Constructs a BinaryExpressionNode object with the given leftExpressin and rightExpression as its children. More...
 
bool operator== (const BinaryExpressionNode &other) const
 Equality compares this node to the other. More...
 
void accept (interpreter::AbstractVisitor *visitor) const override
 Calls the accept method with the given visitor as the parameter on the node's child expressions. 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 Attributes inherited from jmespath::ast::BinaryExpressionNode
ExpressionNode leftExpression
 The left hand expression of the node. More...
 
ExpressionNode rightExpression
 The right hand expression of the node. More...
 

Detailed Description

The SubexpressionNode class represents a JMESPath subexpression.

Constructor & Destructor Documentation

jmespath::ast::SubexpressionNode::SubexpressionNode ( )

Constructs an empty SubexpressionNode object.

jmespath::ast::SubexpressionNode::SubexpressionNode ( const ExpressionNode expression,
const ExpressionNode subexpression = {} 
)

Constructs an SubexpressionNode object with the given left hand side expression and a right hand side subexpression.

Parameters
[in]expressionThe node's left hand side child expression
[in]subexpressionThe node's right hand side child expression

Member Function Documentation

bool jmespath::ast::SubexpressionNode::isProjection ( ) const
overridevirtual

Returns whather this expression requires the projection of subsequent expressions.

Returns
Returns true if projection is required, otherwise returns false.

Implements jmespath::ast::BinaryExpressionNode.

bool jmespath::ast::SubexpressionNode::stopsProjection ( ) const
overridevirtual

Reports whether the node should stop an ongoing projection or not.

Returns
Returns true if the node should stop an ongoing projection, otherwise returns false.

Implements jmespath::ast::BinaryExpressionNode.


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