BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Protected Member Functions | List of all members
BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits > Class Template Reference

#include <BALL/CONCEPT/bidirectionalIterator.h>

Inheritance diagram for BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >:
BALL::ConstForwardIterator< Container, DataType, Position, Traits > BALL::ConstForwardIterator< Container, DataType, Position, Traits > BALL::BaseIterator< Container, DataType, Position, Traits > BALL::BaseIterator< Container, DataType, Position, Traits > BALL::BaseIterator< Container, DataType, Position, Traits > BALL::BaseIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstRandomAccessIterator< Container, DataType, Position, Traits > BALL::ConstRandomAccessIterator< Container, DataType, Position, Traits > BALL::ConstReverseIterator< Container, DataType, Position, Traits > BALL::RandomAccessIterator< Container, DataType, Position, Traits > BALL::RandomAccessIterator< Container, DataType, Position, Traits > BALL::ConstReverseIterator< Container, DataType, Position, Traits > BALL::RandomAccessIterator< Container, DataType, Position, Traits > BALL::RandomAccessIterator< Container, DataType, Position, Traits > BALL::ReverseIterator< Container, DataType, Position, Traits > BALL::ReverseIterator< Container, DataType, Position, Traits >

Public Types

Typedefs
typedef
std::bidirectional_iterator_tag 
iterator_category
typedef ConstForwardIterator
< Container, DataType,
Position, Traits > 
Base
typedef
std::bidirectional_iterator_tag 
iterator_category
typedef ConstForwardIterator
< Container, DataType,
Position, Traits > 
Base
- Public Types inherited from BALL::ConstForwardIterator< Container, DataType, Position, Traits >
typedef std::forward_iterator_tag iterator_category
typedef BaseIterator
< Container, DataType,
Position, Traits > 
Base
typedef std::forward_iterator_tag iterator_category
typedef BaseIterator
< Container, DataType,
Position, Traits > 
Base
- Public Types inherited from BALL::BaseIterator< Container, DataType, Position, Traits >
typedef DataType value_type
typedef Position difference_type
typedef const DataType * pointer
typedef const DataType & reference
typedef std::input_iterator_tag iterator_category
typedef DataType value_type
typedef Position difference_type
typedef const DataType * pointer
typedef const DataType & reference
typedef Container container_type
typedef Traits traits_type
typedef std::input_iterator_tag iterator_category

Public Member Functions

Constructors and destructor.
BALL_INLINE ConstBidirectionalIterator ()
BALL_INLINE ConstBidirectionalIterator (const ConstBidirectionalIterator &iterator)
BALL_INLINE ~ConstBidirectionalIterator ()
 ConstBidirectionalIterator ()
 ConstBidirectionalIterator (const ConstBidirectionalIterator &iterator)
 ~ConstBidirectionalIterator ()
- Public Member Functions inherited from BALL::ConstForwardIterator< Container, DataType, Position, Traits >
BALL_INLINE ConstForwardIterator ()
 Default constructor.
BALL_INLINE ConstForwardIterator (const ConstForwardIterator &iterator)
 Copy constructor.
BALL_INLINE ~ConstForwardIterator ()
 ConstForwardIterator ()
 Default constructor.
 ConstForwardIterator (const ConstForwardIterator &iterator)
 Copy constructor.
 ~ConstForwardIterator ()
BALL_INLINE ConstForwardIteratoroperator= (const ConstForwardIterator &iterator)
BALL_INLINE void swap (ConstForwardIterator &iterator)
ConstForwardIteratoroperator= (const ConstForwardIterator &iterator)
void swap (ConstForwardIterator &iterator)
- Public Member Functions inherited from BALL::BaseIterator< Container, DataType, Position, Traits >
BALL_INLINE BaseIterator ()
 Default constructor.
BALL_INLINE BaseIterator (const BaseIterator &iterator)
 Copy constructor.
BALL_INLINE ~BaseIterator ()
 Destructor.
 BaseIterator ()
 Default constructor.
 BaseIterator (const BaseIterator &iterator)
 Copy constructor.
 ~BaseIterator ()
 Destructor.
BALL_INLINE BaseIteratoroperator= (const BaseIterator &iterator)
BALL_INLINE void swap (BaseIterator &iterator)
 Swap two iterators.
BaseIteratoroperator= (const BaseIterator &iterator)
void swap (BaseIterator &iterator)
 Swap two iterators.
BALL_INLINE void invalidate ()
 Invalidate the iterator.
BALL_INLINE void setTraits (const Traits &traits)
 Set the traits.
BALL_INLINE const Traits & getTraits () const
 Get a constant reference to the traits of this iterator.
BALL_INLINE Traits & getTraits ()
 Get a constant reference to the traits of this iterator.
BALL_INLINE const Container * getContainer () const
 Get a constant pointer to the container of this iterator.
void invalidate ()
 Invalidate the iterator.
void setTraits (const Traits &traits)
 Set the traits.
const Traits & getTraits () const
 Get a constant reference to the traits of this iterator.
Traits & getTraits ()
 Get a constant reference to the traits of this iterator.
const Container * getContainer () const
 Get a constant pointer to the container of this iterator.
BALL_INLINE operator const Position & () const
BALL_INLINE reference operator* () const
 Convert an iterator to its Datatype by returning a reference to the current data.
BALL_INLINE pointer operator-> () const
 Return a pointer to the current data.
 operator const Position & () const
reference operator* () const
 Convert an iterator to its Datatype by returning a reference to the current data.
pointer operator-> () const
 Return a pointer to the current data.
BALL_INLINE bool operator== (const BaseIterator &iterator) const
 Equality operator.
BALL_INLINE bool operator!= (const BaseIterator &iterator) const
 Inequality operator.
BALL_INLINE bool isSingular () const
BALL_INLINE bool isValid () const
BALL_INLINE bool operator+ () const
 Validity predicate.
BALL_INLINE bool operator- () const
 Invalidity perdicate.
bool operator== (const BaseIterator &iterator) const
 Equality operator.
bool operator!= (const BaseIterator &iterator) const
 Inequality operator.
bool isSingular () const
bool isValid () const
bool operator+ () const
 Validity predicate.
bool operator- () const
 Invalidity predicate.

Protected Member Functions

BALL_INLINE ConstBidirectionalIterator (const Container &container)
 Construct an iterator bound to a specific container.
 ConstBidirectionalIterator (const Container &container)
 Construct an iterator bound to a specific container.
- Protected Member Functions inherited from BALL::ConstForwardIterator< Container, DataType, Position, Traits >
BALL_INLINE ConstForwardIterator (const Container &container)
 ConstForwardIterator (const Container &container)
- Protected Member Functions inherited from BALL::BaseIterator< Container, DataType, Position, Traits >
BALL_INLINE BaseIterator (const Container &container)
 BaseIterator (const Container &container)

Iterator methods

BALL_INLINE void toBegin ()
BALL_INLINE bool isBegin () const
 Check whether the iterator points to the item at the beginning of the container.
void toEnd ()
BALL_INLINE bool isEnd () const
 Check whether the iterator points to the position after the last item of the container.
void toRBegin ()
BALL_INLINE bool isRBegin () const
 Test whether the iterator points to the "reverse" first element of the container.
void toREnd ()
BALL_INLINE bool isREnd () const
 Test wheter the iterator points to the position before the first element.
BALL_INLINE
ConstBidirectionalIterator
operator++ ()
BALL_INLINE
ConstBidirectionalIterator 
operator++ (int)
BALL_INLINE
ConstBidirectionalIterator
operator-- ()
BALL_INLINE
ConstBidirectionalIterator 
operator-- (int)
void toBegin ()
bool isBegin () const
 Check whether the iterator points to the item at the beginning of the container.
void toEnd ()
bool isEnd () const
 Check whether the iterator points to the position after the last item of the container.
void toRBegin ()
bool isRBegin () const
 Test whether the iterator points to the "reverse" first element of the container.
void toREnd ()
bool isREnd () const
 Test wheter the iterator points to the position before the first element.
ConstBidirectionalIteratoroperator++ ()
ConstBidirectionalIterator operator++ (int)
ConstBidirectionalIteratoroperator-- ()
ConstBidirectionalIterator operator-- (int)
static ConstBidirectionalIterator begin (const Container &container)
static ConstBidirectionalIterator end (const Container &container)
static ConstBidirectionalIterator rbegin (const Container &container)
static ConstBidirectionalIterator rend (const Container &container)
static ConstBidirectionalIterator begin (const Container &container)
static ConstBidirectionalIterator end (const Container &container)
static ConstBidirectionalIterator rbegin (const Container &container)
static ConstBidirectionalIterator rend (const Container &container)

Additional Inherited Members

- Static Public Member Functions inherited from BALL::ConstForwardIterator< Container, DataType, Position, Traits >

Detailed Description

template<typename Container, typename DataType, typename Position, typename Traits>
class BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >

Constant Bidirectional Iterator.

Definition at line 23 of file CONCEPT/bidirectionalIterator.h.

Member Typedef Documentation

template<typename Container, typename DataType, typename Position, typename Traits>
typedef ConstForwardIterator<Container, DataType, Position, Traits> BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::Base

Definition at line 31 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
typedef ConstForwardIterator<Container, DataType, Position, Traits> BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::Base

Definition at line 35 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
typedef std::bidirectional_iterator_tag BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::iterator_category

Definition at line 29 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
typedef std::bidirectional_iterator_tag BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::iterator_category

Definition at line 33 of file CONCEPT/bidirectionalIterator.h.

Constructor & Destructor Documentation

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( )
inline

Definition at line 43 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( const ConstBidirectionalIterator< Container, DataType, Position, Traits > &  iterator)
inline

Definition at line 46 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::~ConstBidirectionalIterator ( )
inline

Definition at line 52 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( const Container &  container)
inlineprotected

Construct an iterator bound to a specific container.

Definition at line 135 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( )
inline

Definition at line 39 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( const ConstBidirectionalIterator< Container, DataType, Position, Traits > &  iterator)
inline

Definition at line 42 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::~ConstBidirectionalIterator ( )
inline

Definition at line 48 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::ConstBidirectionalIterator ( const Container &  container)
inlineprotected

Construct an iterator bound to a specific container.

Definition at line 131 of file MATHS/LINALG/bidirectionalIterator.h.

Member Function Documentation

template<typename Container, typename DataType, typename Position, typename Traits>
static ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::begin ( const Container &  container)
static
template<typename Container, typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::begin ( const Container &  container)
static
template<typename Container, typename DataType, typename Position, typename Traits>
static ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::end ( const Container &  container)
static
template<typename Container, typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::end ( const Container &  container)
static
template<typename Container, typename DataType, typename Position, typename Traits>
bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isBegin ( ) const
inline

Check whether the iterator points to the item at the beginning of the container.

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 61 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isBegin ( ) const
inline

Check whether the iterator points to the item at the beginning of the container.

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 65 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isEnd ( ) const
inline

Check whether the iterator points to the position after the last item of the container.

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 69 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isEnd ( ) const
inline

Check whether the iterator points to the position after the last item of the container.

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 73 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isRBegin ( ) const
inline

Test whether the iterator points to the "reverse" first element of the container.

Definition at line 77 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isRBegin ( ) const
inline

Test whether the iterator points to the "reverse" first element of the container.

Definition at line 81 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isREnd ( ) const
inline

Test wheter the iterator points to the position before the first element.

Definition at line 85 of file MATHS/LINALG/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE bool BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isREnd ( ) const
inline

Test wheter the iterator points to the position before the first element.

Definition at line 89 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
ConstBidirectionalIterator& BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator++ ( )
template<typename Container , typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > & BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator++ ( )
template<typename Container, typename DataType, typename Position, typename Traits>
ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator++ ( int  )
template<typename Container , typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator++ ( int  )
template<typename Container, typename DataType, typename Position, typename Traits>
ConstBidirectionalIterator& BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator-- ( )
template<typename Container , typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > & BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator-- ( )
template<typename Container, typename DataType, typename Position, typename Traits>
ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator-- ( int  )
template<typename Container , typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::operator-- ( int  )
template<typename Container, typename DataType, typename Position, typename Traits>
static ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::rbegin ( const Container &  container)
static
template<typename Container, typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::rbegin ( const Container &  container)
static
template<typename Container, typename DataType, typename Position, typename Traits>
static ConstBidirectionalIterator BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::rend ( const Container &  container)
static
template<typename Container, typename DataType , typename Position , typename Traits >
ConstBidirectionalIterator< Container, DataType, Position, Traits > BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::rend ( const Container &  container)
static
template<typename Container, typename DataType, typename Position, typename Traits>
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toBegin ( )

Move the iterator to the beginning of the container

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

template<typename Container , typename DataType , typename Position , typename Traits >
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toBegin ( )

Move the iterator to the beginning of the container

Exceptions
Exception::Precondition

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 144 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toEnd ( )

Move the iterator to the position after the last item of the container

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

template<typename Container , typename DataType , typename Position , typename Traits >
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toEnd ( )

Move the iterator to the position after the last item of the container

Exceptions
Exception::Precondition

Reimplemented from BALL::ConstForwardIterator< Container, DataType, Position, Traits >.

Definition at line 152 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toRBegin ( )

Move the iterator to the "reverse" beginning of the container

Exceptions
Exception::SingularIteratorif the iterator is singular
template<typename Container , typename DataType , typename Position , typename Traits >
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toRBegin ( )

Move the iterator to the "reverse" beginning of the container

Exceptions
Exception::Precondition

Definition at line 160 of file CONCEPT/bidirectionalIterator.h.

template<typename Container, typename DataType, typename Position, typename Traits>
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toREnd ( )

Move the iterator to the position before the first element

Exceptions
Exception::SingularIteratorif the iterator is singular
template<typename Container , typename DataType , typename Position , typename Traits >
void BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toREnd ( )

Move the iterator to the position before the first element

Exceptions
Exception::Precondition

Definition at line 168 of file CONCEPT/bidirectionalIterator.h.