PPL  1.2
Parma_Polyhedra_Library::CO_Tree::const_iterator Class Reference

A const iterator on the tree elements, ordered by key. More...

#include <ppl.hh>

Public Member Functions

 const_iterator ()
 Constructs an invalid const_iterator. More...
 
 const_iterator (const CO_Tree &tree)
 Constructs an iterator pointing to the first element of the tree. More...
 
 const_iterator (const CO_Tree &tree, dimension_type i)
 Constructs a const_iterator pointing to the i-th node of the tree. More...
 
 const_iterator (const const_iterator &itr)
 The copy constructor. More...
 
 const_iterator (const iterator &itr)
 Converts an iterator into a const_iterator. More...
 
void m_swap (const_iterator &itr)
 Swaps itr with *this. More...
 
const_iteratoroperator= (const const_iterator &itr)
 Assigns itr to *this . More...
 
const_iteratoroperator= (const iterator &itr)
 Assigns itr to *this . More...
 
const_iteratoroperator++ ()
 Navigates to the next element. More...
 
const_iteratoroperator-- ()
 Navigates to the previous element. More...
 
const_iterator operator++ (int)
 Navigates to the next element. More...
 
const_iterator operator-- (int)
 Navigates to the previous element. More...
 
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 const_iterator &x) const
 Compares *this with x . More...
 
bool operator!= (const const_iterator &x) const
 Compares *this with x . More...
 

Detailed Description

A const 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::const_iterator::const_iterator ( )
inlineexplicit

Constructs an invalid const_iterator.

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::const_iterator::const_iterator ( const CO_Tree &  tree)
inlineexplicit

Constructs an iterator pointing to the first element of the tree.

Parameters
treeThe tree that the new iterator will point to.

This constructor takes $O(1)$ time.

Parma_Polyhedra_Library::CO_Tree::const_iterator::const_iterator ( const CO_Tree &  tree,
dimension_type  i 
)
inline

Constructs a const_iterator pointing to the i-th node of the tree.

Parameters
treeThe tree that the new iterator will point to.
iThe index of the element in tree to which the 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::const_iterator::const_iterator ( const const_iterator itr)
inline

The copy constructor.

Parameters
itrThe iterator that will be copied.

This constructor takes $O(1)$ time.

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

Converts an iterator into a const_iterator.

Parameters
itrThe iterator that will be converted into a const_iterator.

This constructor takes $O(1)$ time.

Member Function Documentation

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

Swaps itr with *this.

Parameters
itrThe iterator that will be swapped with *this.

This method takes $O(1)$ time.

CO_Tree::const_iterator & Parma_Polyhedra_Library::CO_Tree::const_iterator::operator= ( const 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::const_iterator & Parma_Polyhedra_Library::CO_Tree::const_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::const_iterator & Parma_Polyhedra_Library::CO_Tree::const_iterator::operator++ ( )
inline

Navigates to the next element.

This method takes $O(1)$ time.

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

Navigates to the previous element.

This method takes $O(1)$ time.

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

Navigates to the next element.

This method takes $O(1)$ time.

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

Navigates to the previous element.

This method takes $O(1)$ time.

dimension_type Parma_Polyhedra_Library::CO_Tree::const_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::const_iterator::operator== ( const const_iterator x) const
inline

Compares *this with x .

Parameters
xThe iterator that will be compared with *this.
bool Parma_Polyhedra_Library::CO_Tree::const_iterator::operator!= ( const 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: