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 | Public Attributes | List of all members
jmespath::ast::IndexExpressionNode Class Reference

The IndexExpressionNode class represents a JMESPath index expression. More...

#include <indexexpressionnode.h>

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

Public Member Functions

 IndexExpressionNode ()
 Construct an empty IndexExpressionNode object. More...
 
 IndexExpressionNode (const BracketSpecifierNode &bracketNode)
 Constructs an IndexExpressionNode object with the given bracketSpecifier and empty left and right expressions. More...
 
 IndexExpressionNode (const ExpressionNode &left, const BracketSpecifierNode &bracketNode, const ExpressionNode &right={})
 Constructs an IndexExpressionNode with given expression as its left hand expression, subexpression as its right hand expression and with the given bracketSpecifier. More...
 
bool operator== (const IndexExpressionNode &other) const
 Equality compares this node to the other. 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...
 
void accept (interpreter::AbstractVisitor *visitor) const override
 Calls the visit method of the given visitor with the dynamic type of the node. 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...
 
- 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

BracketSpecifierNode bracketSpecifier
 The bracket specifier in an index expression. More...
 
- 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 IndexExpressionNode class represents a JMESPath index expression.

Constructor & Destructor Documentation

jmespath::ast::IndexExpressionNode::IndexExpressionNode ( )

Construct an empty IndexExpressionNode object.

jmespath::ast::IndexExpressionNode::IndexExpressionNode ( const BracketSpecifierNode bracketNode)

Constructs an IndexExpressionNode object with the given bracketSpecifier and empty left and right expressions.

Parameters
[in]bracketNodeThe bracket specifier node.
jmespath::ast::IndexExpressionNode::IndexExpressionNode ( const ExpressionNode left,
const BracketSpecifierNode bracketNode,
const ExpressionNode right = {} 
)

Constructs an IndexExpressionNode with given expression as its left hand expression, subexpression as its right hand expression and with the given bracketSpecifier.

Parameters
[in]leftThe left hand expression of the node.
[in]bracketNodeThe index expression's bracket specifier.
[in]rightThe right hand expression of the node.

Member Function Documentation

void jmespath::ast::IndexExpressionNode::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

Reimplemented from jmespath::ast::BinaryExpressionNode.

bool jmespath::ast::IndexExpressionNode::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::IndexExpressionNode::operator== ( const IndexExpressionNode 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
bool jmespath::ast::IndexExpressionNode::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.

Member Data Documentation

BracketSpecifierNode jmespath::ast::IndexExpressionNode::bracketSpecifier

The bracket specifier in an index expression.


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