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

The BracketSpecifierNode class represents a JMESPath bracket specifier. More...

#include <bracketspecifiernode.h>

Inheritance diagram for jmespath::ast::BracketSpecifierNode:
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::AbstractNode

Public Member Functions

 BracketSpecifierNode ()
 Constructs an empty BracketSpecifierNode object. More...
 
 BracketSpecifierNode (const ValueType &expression)
 Constructs a BracketSpecifierNode object with the given expression as its value. More...
 
bool isProjection () const
 Returns whather this expression requires the projection of subsequent expressions. More...
 
bool stopsProjection () const
 Reports whether the node should stop an ongoing projection or not. More...
 
- Public Member Functions inherited from jmespath::ast::VariantNode< boost::recursive_wrapper< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > >
 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...
 

Private Member Functions

virtual void anchor ()
 A virtual function used to pin vtable to a transaltion unit. More...
 

Additional Inherited Members

- Public Types inherited from jmespath::ast::VariantNode< boost::recursive_wrapper< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > >
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< ArrayItemNode >, boost::recursive_wrapper< FlattenOperatorNode >, boost::recursive_wrapper< SliceExpressionNode >, boost::recursive_wrapper< ListWildcardNode >, boost::recursive_wrapper< FilterExpressionNode > >
ValueType value
 The variable which stores the node that this object represents. More...
 

Detailed Description

The BracketSpecifierNode class represents a JMESPath bracket specifier.

Constructor & Destructor Documentation

jmespath::ast::BracketSpecifierNode::BracketSpecifierNode ( )

Constructs an empty BracketSpecifierNode object.

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

Constructs a BracketSpecifierNode object with the given expression as its value.

Parameters
[in]expressionThe node's child expression.

Member Function Documentation

void jmespath::ast::BracketSpecifierNode::anchor ( )
privatevirtual

A virtual function used to pin vtable to a transaltion unit.

bool jmespath::ast::BracketSpecifierNode::isProjection ( ) const

Returns whather this expression requires the projection of subsequent expressions.

Returns
Returns true if projection is required, otherwise returns false.
bool jmespath::ast::BracketSpecifierNode::stopsProjection ( ) const

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.

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