PPL  1.2
Parma_Polyhedra_Library::CO_Tree::iterator Class Reference

An iterator on the tree elements, ordered by key. More...

#include <ppl.hh>

Public Member Functions

 iterator ()
 Constructs an invalid iterator. More...
 
 iterator (CO_Tree &tree)
 Constructs an iterator pointing to first element of the tree. More...
 
 iterator (CO_Tree &tree, dimension_type i)
 Constructs an iterator pointing to the i-th node. More...
 
 iterator (const tree_iterator &itr)
 The constructor from a tree_iterator. More...
 
 iterator (const iterator &itr)
 The copy constructor. More...
 
void m_swap (iterator &itr)
 Swaps itr with *this. More...
 
iteratoroperator= (const iterator &itr)
 Assigns itr to *this . More...
 
iteratoroperator= (const tree_iterator &itr)
 Assigns itr to *this . More...
 
iteratoroperator++ ()
 Navigates to the next element in the tree. More...
 
iteratoroperator-- ()
 Navigates to the previous element in the tree. More...
 
iterator operator++ (int)
 Navigates to the next element in the tree. More...
 
iterator operator-- (int)
 Navigates to the previous element in the tree. More...
 
data_type & operator* ()
 Returns the current element.
 
data_type_const_reference operator* () const
 Returns the current element.
 
dimension_type index () const
 Returns the index of the element pointed to by *this. More...
 
bool operator== (const iterator &x) const
 Compares *this with x . More...
 
bool operator!= (const iterator &x) const
 Compares *this with x . More...
 

Detailed Description

An iterator on the tree elements, ordered by key.

Iterator increment and decrement operations are $O(1)$ time. These iterators are invalidated by operations that add or remove elements from the tree.

Constructor & Destructor Documentation

Parma_Polyhedra_Library::CO_Tree::iterator::iterator ( )
inline

Constructs an invalid iterator.

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::iterator::iterator ( CO_Tree &  tree)
inlineexplicit

Constructs an iterator pointing to first element of the tree.

Parameters
treeThe tree to which the new iterator will point to.

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::iterator::iterator ( CO_Tree &  tree,
dimension_type  i 
)
inline

Constructs an iterator pointing to the i-th node.

Parameters
treeThe tree to which the new iterator will point to.
iThe index of the element in tree to which the new iterator will point to.

The i-th node must be a node with a value or end().

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::iterator::iterator ( const tree_iterator &  itr)
inlineexplicit

The constructor from a tree_iterator.

Parameters
itrThe tree_iterator that will be converted into an iterator.

This is meant for use by CO_Tree only. This is not private to avoid the friend declaration.

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::iterator::iterator ( const iterator itr)
inline

The copy constructor.

Parameters
itrThe iterator that will be copied.

This constructor takes $O(1)$ time.

Member Function Documentation

void Parma_Polyhedra_Library::CO_Tree::iterator::m_swap ( iterator itr)
inline

Swaps itr with *this.

Parameters
itrThe iterator that will be swapped with *this.

This method takes $O(1)$ time.

CO_Tree::iterator & Parma_Polyhedra_Library::CO_Tree::iterator::operator= ( const iterator itr)
inline

Assigns itr to *this .

Parameters
itrThe iterator that will be assigned into *this.

This method takes $O(1)$ time.

CO_Tree::iterator & Parma_Polyhedra_Library::CO_Tree::iterator::operator= ( const tree_iterator &  itr)
inline

Assigns itr to *this .

Parameters
itrThe iterator that will be assigned into *this.

This method takes $O(1)$ time.

CO_Tree::iterator & Parma_Polyhedra_Library::CO_Tree::iterator::operator++ ( )
inline

Navigates to the next element in the tree.

This method takes $O(1)$ time.

CO_Tree::iterator & Parma_Polyhedra_Library::CO_Tree::iterator::operator-- ( )
inline

Navigates to the previous element in the tree.

This method takes $O(1)$ time.

CO_Tree::iterator Parma_Polyhedra_Library::CO_Tree::iterator::operator++ ( int  )
inline

Navigates to the next element in the tree.

This method takes $O(1)$ time.

CO_Tree::iterator Parma_Polyhedra_Library::CO_Tree::iterator::operator-- ( int  )
inline

Navigates to the previous element in the tree.

This method takes $O(1)$ time.

dimension_type Parma_Polyhedra_Library::CO_Tree::iterator::index ( ) const
inline

Returns the index of the element pointed to by *this.

Returns
the index of the element pointed to by *this.
bool Parma_Polyhedra_Library::CO_Tree::iterator::operator== ( const iterator x) const
inline

Compares *this with x .

Parameters
xThe iterator that will be compared with *this.
bool Parma_Polyhedra_Library::CO_Tree::iterator::operator!= ( const iterator x) const
inline

Compares *this with x .

Parameters
xThe iterator that will be compared with *this.

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