jmespath.cpp
C++ implementation of JMESPath, a query language for JSON http://jmespath.org
|
The BinaryExpressionNode class is the base class for all node types which consist of a left and a right hand side expression. More...
#include <binaryexpressionnode.h>
Public Member Functions | |
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... | |
virtual bool | isProjection () const =0 |
Reports whether the right hand side expression is projected onto the result of the operation or not. More... | |
virtual bool | stopsProjection () const =0 |
Reports whether the node should stop an ongoing projection or not. More... | |
![]() | |
AbstractNode ()=default | |
Constructs an AbstractNode object. More... | |
AbstractNode (const AbstractNode &)=default | |
Copy-constructs an AbstractNode object. More... | |
virtual | ~AbstractNode () |
Destroys the AbstractNode object. More... | |
AbstractNode & | operator= (const AbstractNode &)=default |
Copy-assigns the other object to this object. More... | |
Public Attributes | |
ExpressionNode | leftExpression |
The left hand expression of the node. More... | |
ExpressionNode | rightExpression |
The right hand expression of the node. More... | |
The BinaryExpressionNode class is the base class for all node types which consist of a left and a right hand side expression.
jmespath::ast::BinaryExpressionNode::BinaryExpressionNode | ( | ) |
Constructs an empty BinaryExpressionNode object.
jmespath::ast::BinaryExpressionNode::BinaryExpressionNode | ( | const ExpressionNode & | left, |
const ExpressionNode & | right | ||
) |
Constructs a BinaryExpressionNode object with the given leftExpressin and rightExpression as its children.
[in] | left | Left hand expression of the node. |
[in] | right | hand expression of the node. |
|
overridevirtual |
Calls the accept method with the given visitor as the parameter on the node's child expressions.
[in] | visitor | A visitor implementation. |
Implements jmespath::ast::AbstractNode.
Reimplemented in jmespath::ast::ComparatorExpressionNode, jmespath::ast::IndexExpressionNode, jmespath::ast::HashWildcardNode, jmespath::ast::OrExpressionNode, and jmespath::ast::PipeExpressionNode.
|
pure virtual |
Reports whether the right hand side expression is projected onto the result of the operation or not.
Implemented in jmespath::ast::ComparatorExpressionNode, jmespath::ast::IndexExpressionNode, jmespath::ast::AndExpressionNode, jmespath::ast::HashWildcardNode, jmespath::ast::OrExpressionNode, jmespath::ast::PipeExpressionNode, and jmespath::ast::SubexpressionNode.
bool jmespath::ast::BinaryExpressionNode::operator== | ( | const BinaryExpressionNode & | other | ) | const |
Equality compares this node to the other.
[in] | other | The node that should be compared. |
|
pure virtual |
Reports whether the node should stop an ongoing projection or not.
Implemented in jmespath::ast::ComparatorExpressionNode, jmespath::ast::IndexExpressionNode, jmespath::ast::AndExpressionNode, jmespath::ast::HashWildcardNode, jmespath::ast::OrExpressionNode, jmespath::ast::PipeExpressionNode, and jmespath::ast::SubexpressionNode.
ExpressionNode jmespath::ast::BinaryExpressionNode::leftExpression |
The left hand expression of the node.
ExpressionNode jmespath::ast::BinaryExpressionNode::rightExpression |
The right hand expression of the node.