2 #ifndef _MADARA_TREE_ITERATOR_H_ 3 #define _MADARA_TREE_ITERATOR_H_ 16 class ExpressionTreeCommandFactory;
std::forward_iterator_tag iterator_category
Encapsulates a MADARA KaRL expression into an evaluatable tree.
bool operator!=(const ExpressionTreeIterator &rhs)
In-equality operator.
Constant iterator over an expression tree.
Non-const iterator for traversing an expression tree.
ExpressionTreeIterator & operator++(void)
Preincrement operator.
bool operator==(const ExpressionTreeIterator &rhs)
Equality operator.
ExpressionTree operator*(void)
Dereference operator returns a reference to the item contained at the current position.
ExpressionTreeIterator(const ExpressionTreeIterator &ts)
Copy ctor - needed for reference counting.
madara::utility::Refcounter< ExpressionTreeIteratorImpl > impl_
madara::utility::Refcounter< ExpressionTreeIteratorImpl > impl_
Pointer to actual implementation, i.e., the "bridge", which is reference counted to automate memory m...
Copyright (c) 2015 Carnegie Mellon University.
Implementation of the ExpressionTreeIterator pattern that is used to define the various iterations al...
std::forward_iterator_tag iterator_category
This template class provides transparent reference counting of its template parameter T...