partition  0.1.1
 All Classes Namespaces Functions Variables Pages
Public Member Functions | Friends | List of all members
partition::Group< M, V >::ConstIterator Class Reference

A bidirectional iterator for traversing the Entry objects of a const Group. More...

#include <partition.hpp>

Public Member Functions

 ConstIterator ()
 Constructs a ConstIterator with a NULL Group association. More...
 
 ConstIterator (const Iterator &i)
 Constructs a ConstIterator from an Iterator. More...
 
 ConstIterator (const ConstIterator &i)
 Copy constructor. More...
 
ConstIteratoroperator= (const Iterator &i)
 Assigns the value of an Iterator to a ConstIterator. More...
 
ConstIteratoroperator= (const ConstIterator &i)
 Copy assignment. More...
 
ConstIteratoroperator++ ()
 Increments the iterator to the next list position and returns a reference to itself. More...
 
ConstIteratoroperator-- ()
 Decrements the iterator to the previous list position and returns a reference to itself. More...
 
ConstIterator operator++ (int)
 Increments the iterator to the next list position and returns a copy of the value of this iterator before the increment. More...
 
ConstIterator operator-- (int)
 Decrements the iterator to the previous list position and returns a copy of the value of this iterator before the decrement. More...
 
bool isBeforeFront () const
 Returns true if this iterator is pointing one logical position before the first Entry in the list, and false otherwise. More...
 
bool isAfterBack () const
 Returns true if this iterator is pointing one logical position after the last Entry in the list, and false otherwise. More...
 
bool isAtFront () const
 Returns true if this iterator is pointing to the first Entry in the list, and false otherwise. More...
 
bool isAtBack () const
 Returns true if this iterator is pointing to the last Entry in the list, and false otherwise. More...
 
const Entryoperator* () const
 Returns a reference to the const Entry pointed to by this iterator. More...
 
const Entryoperator-> () const
 Returns a pointer to the const Entry pointed to by this iterator. More...
 
const GroupgetContainer () const
 Returns a pointer to the Group associated with this iterator. More...
 
bool operator== (const Iterator &i) const
 Returns true if this Iterator and i point to the same Entry in the same Group list, and false otherwise. More...
 
bool operator== (const ConstIterator &i) const
 Returns true if this Iterator and i point to the same Entry in the same Group list, and false otherwise. More...
 
bool operator!= (const Iterator &i) const
 Returns false if this Iterator and i point to the same Entry in the same Group list and true otherwise. More...
 
bool operator!= (const ConstIterator &i) const
 Returns false if this Iterator and i point to the same Entry in the same Group list and true otherwise. More...
 

Friends

class Group
 

Detailed Description

template<typename M, typename V>
class partition::Group< M, V >::ConstIterator

A bidirectional iterator for traversing the Entry objects of a const Group.

See Also
Iterator (Notes on Iterator invalidation)

Constructor & Destructor Documentation

template<typename M , typename V >
partition::Group< M, V >::ConstIterator::ConstIterator ( )
inline

Constructs a ConstIterator with a NULL Group association.

Few operations on a ConstIterator constructed in this Way are permitted until the ConstIterator is assigned a value.

template<typename M , typename V >
partition::Group< M, V >::ConstIterator::ConstIterator ( const Iterator i)
inline

Constructs a ConstIterator from an Iterator.

template<typename M , typename V >
partition::Group< M, V >::ConstIterator::ConstIterator ( const ConstIterator i)
inline

Copy constructor.

Member Function Documentation

template<typename M , typename V >
Group< M, V >::ConstIterator & partition::Group< M, V >::ConstIterator::operator= ( const Iterator i)
inline

Assigns the value of an Iterator to a ConstIterator.

template<typename M , typename V >
Group< M, V >::ConstIterator & partition::Group< M, V >::ConstIterator::operator= ( const ConstIterator i)
inline

Copy assignment.

template<typename M , typename V >
Group< M, V >::ConstIterator & partition::Group< M, V >::ConstIterator::operator++ ( )
inline

Increments the iterator to the next list position and returns a reference to itself.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_INC
template<typename M , typename V >
Group< M, V >::ConstIterator & partition::Group< M, V >::ConstIterator::operator-- ( )
inline

Decrements the iterator to the previous list position and returns a reference to itself.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_INC
template<typename M , typename V >
Group< M, V >::ConstIterator partition::Group< M, V >::ConstIterator::operator++ ( int  )
inline

Increments the iterator to the next list position and returns a copy of the value of this iterator before the increment.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_INC
template<typename M , typename V >
Group< M, V >::ConstIterator partition::Group< M, V >::ConstIterator::operator-- ( int  )
inline

Decrements the iterator to the previous list position and returns a copy of the value of this iterator before the decrement.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_INC
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::isBeforeFront ( ) const
inline

Returns true if this iterator is pointing one logical position before the first Entry in the list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::isAfterBack ( ) const
inline

Returns true if this iterator is pointing one logical position after the last Entry in the list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::isAtFront ( ) const
inline

Returns true if this iterator is pointing to the first Entry in the list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::isAtBack ( ) const
inline

Returns true if this iterator is pointing to the last Entry in the list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator has no Group association.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
const Domain< M, V >::Entry & partition::Group< M, V >::ConstIterator::operator* ( ) const
inline

Returns a reference to the const Entry pointed to by this iterator.

Exceptions
PartitionExceptionif this Iterator isBeforeFront() or isAfterBack().

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
const Domain< M, V >::Entry * partition::Group< M, V >::ConstIterator::operator-> ( ) const
inline

Returns a pointer to the const Entry pointed to by this iterator.

Exceptions
PartitionExceptionif this Iterator isBeforeFront() or isAfterBack().

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_DEREF
template<typename M , typename V >
const Group< M, V > * partition::Group< M, V >::ConstIterator::getContainer ( ) const
inline

Returns a pointer to the Group associated with this iterator.

template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::operator== ( const Iterator i) const
inline

Returns true if this Iterator and i point to the same Entry in the same Group list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator and Iterator i are not associated with the same Group.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_COMPARE
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::operator== ( const ConstIterator i) const
inline

Returns true if this Iterator and i point to the same Entry in the same Group list, and false otherwise.

Exceptions
PartitionExceptionif this Iterator and Iterator i are not associated with the same Group.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_COMPARE
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::operator!= ( const Iterator i) const
inline

Returns false if this Iterator and i point to the same Entry in the same Group list and true otherwise.

Exceptions
PartitionExceptionif this Iterator and Iterator i are not associated with the same Group.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_COMPARE
template<typename M , typename V >
bool partition::Group< M, V >::ConstIterator::operator!= ( const ConstIterator i) const
inline

Returns false if this Iterator and i point to the same Entry in the same Group list and true otherwise.

Exceptions
PartitionExceptionif this Iterator and Iterator i are not associated with the same Group.

This validation is only included if the following preprocessor directive evaluates to true during compilation:
#if PARTITION_SL >= PARTITION_ST_ITERATOR_COMPARE

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