STL-conforming bidirectional iterator over ordered tree nodes.
Declared in <bslstl_treeiterator.h>
template<
class VALUE,
class NODE,
class DIFFERENCE_TYPE>
class TreeIterator;
This class provides an STL-conforming bidirectional iterator over the ordered bslalg::RbTreeNode objects in a binary tree (see section [24.2.6 bidirectional.iterators]of the C++11 standard). A TreeIterator provides access to values of the parameterized VALUE, over a binary tree composed of nodes of the parameterized NODE (which must derive from bslalg::RbTreeNode). The parameterized DIFFERENCE_TYPE determines the standard required difference_type of the iterator, without requiring access to the allocator-traits for the node. The behavior of the operator* method is undefined unless the iterator is at a valid position in the tree (i.e., not the end) and the referenced element has not been removed since the iterator was constructed. NODE must derives from bslalg::RbTreeNode, and contains a value method that returns a reference providing modifiable access to a type that is convertible to the parameterized VALUE (e.g., a bslstl::TreeNode object).
| Name | Description |
|---|---|
difference_type | The difference type for this iterator. |
iterator_category | The STL iterator category tag for this iterator. |
pointer | Pointer type for the value referred to by this iterator. |
reference | Standard iterator defined types [24.4.2]. |
value_type | The value type referred to by this iterator. |
| Name | Description |
|---|---|
TreeIterator [constructor] | Constructors |
node | Return the address of the tree node at this iterator's position. |
operator* | Return a reference to the value at this iterator's position. |
operator++ | Advance this iterator to the next element in the tree. |
operator-- | Move this iterator to the previous element in the tree. |
operator-> | Return a pointer to the value at this iterator's position. |
| Name | Description |
|---|---|
BloombergLP::bslstl::TreeIterator | STL-conforming bidirectional iterator over ordered tree nodes. |
BloombergLP::bslstl::operator== | Return whether the specified iterators refer to the same tree node. |
| Name | Description |
|---|---|
operator++ | Advance iter to the next element and return its previous value. |
operator-- | Move iter to the previous element and return its previous value. |
operator== | Return true if lhs and rhs refer to the same position. |