BALL::BidirectionalIterator< Container, DataType, Position, Traits > Class Template Reference

Mutable bidirectional iterator. More...

#include <BALL/CONCEPT/bidirectionalIterator.h>

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

List of all members.


Public Types

Typedefs
typedef DataType & reference
typedef DataType * pointer
typedef
ConstBidirectionalIterator
< Container, DataType,
Position, Traits > 
Base

Public Member Functions

Constructors and Destructor
BALL_INLINE BidirectionalIterator ()
 

Default constructor.


BALL_INLINE BidirectionalIterator (const BidirectionalIterator &iterator)
 

Copy constructor.


BALL_INLINE ~BidirectionalIterator ()
 

Destructor.



Protected Member Functions

BALL_INLINE BidirectionalIterator (const Container &container)
 

Construct an iterator bound to a specific container.



Iterator methods

BALL_INLINE reference operator* () const
 

Dereferentiation.


BALL_INLINE pointer operator-> () const
 

Pointer dereferentiation.


BALL_INLINE BidirectionalIteratoroperator++ () throw (Exception::Precondition)
 

Increment operator.


BALL_INLINE BidirectionalIterator operator++ (int) throw (Exception::Precondition)
 

Postfix increment operator.


BALL_INLINE BidirectionalIteratoroperator-- () throw (Exception::Precondition)
 

Decrement operator.


BALL_INLINE BidirectionalIterator operator-- (int) throw (Exception::Precondition)
 

Postfix decrement operator.


static BidirectionalIterator begin (const Container &container) throw (Exception::Precondition)
 

Return an iterator pointing to the first item of the container.


static BidirectionalIterator end (const Container &container) throw (Exception::Precondition)
 

Return an iterator pointing to the position after the last element.


static BidirectionalIterator rbegin (const Container &container) throw (Exception::Precondition)
 

Return an iterator pointing to the last element.


static BidirectionalIterator rend (const Container &container) throw (Exception::Precondition)
 

Return an iterator pointing to the positon before the first element.



Detailed Description

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

Mutable bidirectional iterator.


Member Typedef Documentation

template<typename Container, typename DataType, typename Position, typename Traits>
typedef ConstBidirectionalIterator<Container, DataType, Position, Traits> BALL::BidirectionalIterator< Container, DataType, Position, Traits >::Base
template<typename Container, typename DataType, typename Position, typename Traits>
typedef DataType* BALL::BidirectionalIterator< Container, DataType, Position, Traits >::pointer
template<typename Container, typename DataType, typename Position, typename Traits>
typedef DataType& BALL::BidirectionalIterator< Container, DataType, Position, Traits >::reference

Constructor & Destructor Documentation

template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE BALL::BidirectionalIterator< Container, DataType, Position, Traits >::BidirectionalIterator (  )  [inline]

Default constructor.

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

Copy constructor.

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

Destructor.

template<typename Container, typename DataType , typename Position , typename Traits >
BALL_INLINE BALL::BidirectionalIterator< Container, DataType, Position, Traits >::BidirectionalIterator ( const Container &  container  )  [inline, protected]

Construct an iterator bound to a specific container.


Member Function Documentation

template<typename Container, typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::begin ( const Container &  container  )  throw (Exception::Precondition) [inline, static]
template<typename Container, typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::end ( const Container &  container  )  throw (Exception::Precondition) [inline, static]
template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE reference BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator* (  )  const [inline]

Dereferentiation.

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

template<typename Container , typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator++ ( int   )  throw (Exception::Precondition) [inline]
template<typename Container , typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > & BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator++ (  )  throw (Exception::Precondition) [inline]
template<typename Container , typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator-- ( int   )  throw (Exception::Precondition) [inline]
template<typename Container , typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > & BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator-- (  )  throw (Exception::Precondition) [inline]
template<typename Container, typename DataType, typename Position, typename Traits>
BALL_INLINE pointer BALL::BidirectionalIterator< Container, DataType, Position, Traits >::operator-> (  )  const [inline]

Pointer dereferentiation.

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

template<typename Container, typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::rbegin ( const Container &  container  )  throw (Exception::Precondition) [inline, static]
template<typename Container, typename DataType , typename Position , typename Traits >
BALL_INLINE BidirectionalIterator< Container, DataType, Position, Traits > BALL::BidirectionalIterator< Container, DataType, Position, Traits >::rend ( const Container &  container  )  throw (Exception::Precondition) [inline, static]

Return an iterator pointing to the positon before the first element.

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

References BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toREnd().