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 Attributes | List of all members
jmespath::parser::LeftEdgeIterator Class Reference

The LeftEdgeIterator class is a forward iterator which can be used to iterate over the ExpressionNode objects along the left edge of the AST. More...

#include <leftedgeiterator.h>

Inheritance diagram for jmespath::parser::LeftEdgeIterator:

Public Member Functions

 LeftEdgeIterator ()
 Constructs an empty LeftEdgeIterator object which can be used as an end iterator. More...
 
 LeftEdgeIterator (ast::ExpressionNode &node)
 Constructs a LeftEdgeIterator which points to the given node. More...
 
reference operator* () const
 Returns a reference to the current node. More...
 
pointer operator-> () const
 Returns a pointer to the current node. More...
 
bool operator!= (const LeftEdgeIterator &other) const
 Checks whether this iterator doesn't equals to the other. More...
 
LeftEdgeIteratoroperator++ ()
 Advances the iterator to the next node on the left edge of the AST. More...
 
LeftEdgeIterator operator++ (int)
 Advances the iterator to the next node on the left edge of the AST. More...
 

Private Attributes

ast::ExpressionNodem_node
 Pointer to the current node object. More...
 
LeftChildExtractor m_childExtractor
 Functor used for extracting the left child of the given node. More...
 

Detailed Description

The LeftEdgeIterator class is a forward iterator which can be used to iterate over the ExpressionNode objects along the left edge of the AST.

Constructor & Destructor Documentation

jmespath::parser::LeftEdgeIterator::LeftEdgeIterator ( )
inline

Constructs an empty LeftEdgeIterator object which can be used as an end iterator.

jmespath::parser::LeftEdgeIterator::LeftEdgeIterator ( ast::ExpressionNode node)
inline

Constructs a LeftEdgeIterator which points to the given node.

Parameters
[in]nodeThe node object where the iterator should point.

Member Function Documentation

bool jmespath::parser::LeftEdgeIterator::operator!= ( const LeftEdgeIterator other) const
inline

Checks whether this iterator doesn't equals to the other.

Parameters
[in]otherAn iterator object.
Returns
Returns true if other points to a different node than this iterator, otherwise returns false.
reference jmespath::parser::LeftEdgeIterator::operator* ( ) const
inline

Returns a reference to the current node.

Returns
Returns a reference to the current node.
LeftEdgeIterator& jmespath::parser::LeftEdgeIterator::operator++ ( )
inline

Advances the iterator to the next node on the left edge of the AST.

Returns
Returns an iterator to the next node.
LeftEdgeIterator jmespath::parser::LeftEdgeIterator::operator++ ( int  )
inline

Advances the iterator to the next node on the left edge of the AST.

Returns
Returns an iterator to the previous node.
pointer jmespath::parser::LeftEdgeIterator::operator-> ( ) const
inline

Returns a pointer to the current node.

Returns
Returns a pointer to the current node.

Member Data Documentation

LeftChildExtractor jmespath::parser::LeftEdgeIterator::m_childExtractor
private

Functor used for extracting the left child of the given node.

ast::ExpressionNode* jmespath::parser::LeftEdgeIterator::m_node
private

Pointer to the current node object.


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