MADARA  3.4.1
madara::expression::ExpressionTreeConstIterator Class Reference

Constant iterator over an expression tree. More...

#include <Iterator.h>

Public Types

typedef int difference_type
 
typedef std::forward_iterator_tag iterator_category
 
typedef int * pointer
 
typedef int & reference
 
typedef long value_type
 

Public Member Functions

 ExpressionTreeConstIterator (const ExpressionTreeConstIterator &ts)
 Copy ctor - needed for reference counting. More...
 
 ExpressionTreeConstIterator (ExpressionTreeIteratorImpl *impl)
 Copy ctor for impl *. More...
 
bool operator!= (const ExpressionTreeConstIterator &rhs)
 Nonequality operator. More...
 
const ExpressionTree operator* (void) const
 Returns a const reference to the item contained at the current position. More...
 
ExpressionTreeConstIterator operator++ (int)
 Postincrement operator. More...
 
ExpressionTreeConstIteratoroperator++ (void)
 Preincrement operator. More...
 
bool operator== (const ExpressionTreeConstIterator &rhs)
 Equality operator. More...
 

Private Attributes

madara::utility::Refcounter< ExpressionTreeIteratorImplimpl_
 Pointer to actual implementation, i.e., the "bridge", which is reference counted to automate memory management. More...
 

Detailed Description

Constant iterator over an expression tree.

See also
ExpressionTreeLevelOrderIteratorImpl, ExpressionTreeInOrderIteratorImpl, ExpressionTreePreOrderIteratorImpl, and ExpressionTreePostOrderIteratorImpl

Definition at line 76 of file Iterator.h.

Member Typedef Documentation

◆ difference_type

◆ iterator_category

Definition at line 101 of file Iterator.h.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ ExpressionTreeConstIterator() [1/2]

madara::expression::ExpressionTreeConstIterator::ExpressionTreeConstIterator ( const ExpressionTreeConstIterator ts)

Copy ctor - needed for reference counting.

Definition at line 89 of file Iterator.cpp.

◆ ExpressionTreeConstIterator() [2/2]

madara::expression::ExpressionTreeConstIterator::ExpressionTreeConstIterator ( ExpressionTreeIteratorImpl impl)

Copy ctor for impl *.

Definition at line 97 of file Iterator.cpp.

Member Function Documentation

◆ operator!=()

bool madara::expression::ExpressionTreeConstIterator::operator!= ( const ExpressionTreeConstIterator rhs)

Nonequality operator.

Definition at line 140 of file Iterator.cpp.

◆ operator*()

const madara::expression::ExpressionTree madara::expression::ExpressionTreeConstIterator::operator* ( void  ) const

Returns a const reference to the item contained at the current position.

Definition at line 106 of file Iterator.cpp.

◆ operator++() [1/2]

madara::expression::ExpressionTreeConstIterator madara::expression::ExpressionTreeConstIterator::operator++ ( int  )

Postincrement operator.

Preincrement operator.

Definition at line 123 of file Iterator.cpp.

◆ operator++() [2/2]

madara::expression::ExpressionTreeConstIterator & madara::expression::ExpressionTreeConstIterator::operator++ ( void  )

Preincrement operator.

Definition at line 114 of file Iterator.cpp.

◆ operator==()

bool madara::expression::ExpressionTreeConstIterator::operator== ( const ExpressionTreeConstIterator rhs)

Equality operator.

Definition at line 132 of file Iterator.cpp.

Member Data Documentation

◆ impl_

madara::utility::Refcounter<ExpressionTreeIteratorImpl> madara::expression::ExpressionTreeConstIterator::impl_
private

Pointer to actual implementation, i.e., the "bridge", which is reference counted to automate memory management.

Definition at line 110 of file Iterator.h.


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