MADARA  3.2.3
madara::expression::ExpressionTreeIterator Class Reference

Non-const iterator for traversing 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

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

Private Attributes

madara::utility::Refcounter< ExpressionTreeIteratorImplimpl_
 

Detailed Description

Non-const iterator for traversing an expression tree.

See also
ExpressionTreeLevelOrderIteratorImpl, ExpressionTreeInOrderIteratorImpl, ExpressionTreePreOrderIteratorImpl, and ExpressionTreePostOrderIteratorImpl.

Definition at line 26 of file Iterator.h.

Member Typedef Documentation

Definition at line 57 of file Iterator.h.

Definition at line 59 of file Iterator.h.

Definition at line 60 of file Iterator.h.

Definition at line 58 of file Iterator.h.

Constructor & Destructor Documentation

madara::expression::ExpressionTreeIterator::ExpressionTreeIterator ( const ExpressionTreeIterator ts)

Copy ctor - needed for reference counting.

Definition at line 16 of file Iterator.cpp.

madara::expression::ExpressionTreeIterator::ExpressionTreeIterator ( ExpressionTreeIteratorImpl impl)

Copy ctor for impl *.

Definition at line 25 of file Iterator.cpp.

Member Function Documentation

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

In-equality operator.

Nonequality operator.

Definition at line 84 of file Iterator.cpp.

madara::expression::ExpressionTree madara::expression::ExpressionTreeIterator::operator* ( void  )

Dereference operator returns a reference to the item contained at the current position.

Definition at line 35 of file Iterator.cpp.

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

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

Definition at line 44 of file Iterator.cpp.

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

Preincrement operator.

Pre-increment operator.

Definition at line 53 of file Iterator.cpp.

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

Postincrement operator.

Post-increment operator.

Definition at line 63 of file Iterator.cpp.

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

Equality operator.

Definition at line 74 of file Iterator.cpp.

Member Data Documentation

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

Definition at line 64 of file Iterator.h.


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