BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > Class Template Reference

#include <BALL/MATHS/LINALG/bidirectionalFilterIterator.h>

Inheritance diagram for BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >:
BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional > BALL::BaseFilterIterator< Predicate, IteratorBidirectional > BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >

Public Types

Typedefs
typedef
IteratorBidirectional::container_type 
Container
typedef
IteratorBidirectional::value_type 
DataType
typedef
IteratorBidirectional::difference_type 
Position
typedef
IteratorBidirectional::traits_type 
Traits
typedef
IteratorBidirectional::value_type 
value_type
typedef
IteratorBidirectional::difference_type 
difference_type
typedef
IteratorBidirectional::pointer 
pointer
typedef
IteratorBidirectional::reference 
reference
typedef
std::bidirectional_iterator_tag 
iterator_category
typedef
ConstForwardFilterIterator
< Predicate,
IteratorBidirectional
Base
- Public Types inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >
typedef
IteratorBidirectional::container_type 
Container
typedef
IteratorBidirectional::value_type 
DataType
typedef
IteratorBidirectional::difference_type 
Position
typedef
IteratorBidirectional::traits_type 
Traits
typedef
IteratorBidirectional::value_type 
value_type
typedef
IteratorBidirectional::difference_type 
difference_type
typedef
IteratorBidirectional::pointer 
pointer
typedef
IteratorBidirectional::reference 
reference
typedef std::forward_iterator_tag iterator_category
typedef BaseFilterIterator
< Predicate,
IteratorBidirectional
Base
- Public Types inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
typedef
IteratorBidirectional::container_type 
Container
typedef
IteratorBidirectional::value_type 
DataType
typedef
IteratorBidirectional::difference_type 
Position
typedef
IteratorBidirectional::traits_type 
Traits
typedef
IteratorBidirectional::value_type 
value_type
typedef
IteratorBidirectional::difference_type 
difference_type
typedef
IteratorBidirectional::pointer 
pointer
typedef
IteratorBidirectional::reference 
reference
typedef std::input_iterator_tag iterator_category

Public Member Functions

void setIterator (const IteratorBidirectional &iterator)
 Set the internal iterator.
Constructors and destructor.
 ConstBidirectionalFilterIterator ()
 ConstBidirectionalFilterIterator (Predicate p, IteratorBidirectional it)
 ConstBidirectionalFilterIterator (const ConstBidirectionalFilterIterator &iterator)
 ~ConstBidirectionalFilterIterator ()
- Public Member Functions inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >
const IteratorBidirectionalgetIterator () const
 Get a constant reference to the internal iterator.
IteratorBidirectionalgetIterator ()
 Get a constant reference to the internal iterator.
 ConstForwardFilterIterator ()
 Default constructor.
 ConstForwardFilterIterator (Predicate p, IteratorBidirectionalit)
 ConstForwardFilterIterator (const ConstForwardFilterIterator &iterator)
 Copy constructor.
 ~ConstForwardFilterIterator ()
ConstForwardFilterIteratoroperator= (const ConstForwardFilterIterator &iterator)
void swap (ConstForwardFilterIterator &iterator)
- Public Member Functions inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
 BaseFilterIterator ()
 Default constructor.
 BaseFilterIterator (Predicate p, IteratorBidirectionalit)
 Default constructor.
 BaseFilterIterator (const BaseFilterIterator &iterator)
 Copy constructor.
 ~BaseFilterIterator ()
 Destructor.
BaseFilterIteratoroperator= (const BaseFilterIterator &iterator)
void swap (BaseFilterIterator &iterator)
 Swap two iterators.
void invalidate ()
 Invalidate the iterator.
void setTraits (const Traits &traits)
 Set the traits.
const TraitsgetTraits () const
 Get a constant reference to the traits of this iterator.
TraitsgetTraits ()
 Get a constant reference to the traits of this iterator.
void setPredicate (const Predicate &predicate)
 Set the predicates.
const Predicate & getPredicate () const
 Get a constant reference to the traits of this iterator.
Predicate & getPredicate ()
 Get a constant reference to the traits of this iterator.
const ContainergetContainer () const
 Get a constant pointer to the container of this iterator.
 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.
bool operator== (const BaseFilterIterator &iterator) const
 Equality operator.
bool operator== (const IteratorBidirectional &iterator) const
 Equality operator.
bool operator!= (const BaseFilterIterator &iterator) const
 Inequality operator.
bool operator!= (const IteratorBidirectional &iterator) const
 Inequality operator.
bool isSingular () const
bool isValid () const
bool operator+ () const
 Validity predicate.
bool operator- () const
 Invalidity predicate.

Protected Member Functions

 ConstBidirectionalFilterIterator (const Container &container)
 Construct an iterator bound to a specific container.
- Protected Member Functions inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >
 ConstForwardFilterIterator (const Container &container)
- Protected Member Functions inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
 BaseFilterIterator (const Container &container)

Iterator methods

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.
ConstBidirectionalFilterIteratoroperator++ ()
ConstBidirectionalFilterIterator operator++ (int)
ConstBidirectionalFilterIteratoroperator-- ()
ConstBidirectionalFilterIterator operator-- (int)
static
ConstBidirectionalFilterIterator 
begin (const Container &container)
static
ConstBidirectionalFilterIterator 
end (const Container &container)
static
ConstBidirectionalFilterIterator 
rbegin (const Container &container)
static
ConstBidirectionalFilterIterator 
rend (const Container &container)

Additional Inherited Members

- Static Public Member Functions inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >
- Public Attributes inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
Predicate predicate_
 The instance of the iterator and the predicate.
IteratorBidirectional iterator_

Detailed Description

template<class Predicate, class IteratorBidirectional>
class BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >

Constant Bidirectional Iterator.

Definition at line 19 of file bidirectionalFilterIterator.h.

Member Typedef Documentation

template<class Predicate, class IteratorBidirectional>
typedef ConstForwardFilterIterator<Predicate, IteratorBidirectional> BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::Base

Definition at line 48 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::container_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::Container

Definition at line 30 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::value_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::DataType

Definition at line 32 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::difference_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::difference_type

Definition at line 40 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef std::bidirectional_iterator_tag BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::iterator_category

Definition at line 46 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::pointer BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::pointer

Definition at line 42 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::difference_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::Position

Definition at line 34 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::reference BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::reference

Definition at line 44 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::traits_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::Traits

Definition at line 36 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
typedef IteratorBidirectional::value_type BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::value_type

Definition at line 38 of file bidirectionalFilterIterator.h.

Constructor & Destructor Documentation

template<class Predicate, class IteratorBidirectional>
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::ConstBidirectionalFilterIterator ( )
inline

Definition at line 56 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::ConstBidirectionalFilterIterator ( Predicate  p,
IteratorBidirectional  it 
)
inline

Definition at line 59 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::ConstBidirectionalFilterIterator ( const ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > &  iterator)
inline

Definition at line 65 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::~ConstBidirectionalFilterIterator ( )
inline

Definition at line 71 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::ConstBidirectionalFilterIterator ( const Container container)
inlineprotected

Construct an iterator bound to a specific container.

Definition at line 172 of file bidirectionalFilterIterator.h.

Member Function Documentation

template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::begin ( const Container container)
static
template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::end ( const Container container)
static
template<class Predicate, class IteratorBidirectional>
bool BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::isBegin ( ) const
inline

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

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 102 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
bool BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::isEnd ( ) const
inline

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

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 110 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
bool BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::isRBegin ( ) const
inline

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

Definition at line 118 of file bidirectionalFilterIterator.h.

template<class Predicate, class IteratorBidirectional>
bool BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::isREnd ( ) const
inline

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

Definition at line 126 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > & BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator++ ( )
template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator++ ( int  )

Postfix increment operator

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 241 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > & BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator-- ( )

Decrement operator

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 255 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator-- ( int  )

Postfix decrement operator

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 271 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::rbegin ( const Container container)
static
template<class Predicate , class IteratorBidirectional >
ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::rend ( const Container container)
static
template<class Predicate, class IteratorBidirectional>
void BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::setIterator ( const IteratorBidirectional iterator)
inline

Set the internal iterator.

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 75 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
void BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::toBegin ( )

Move the iterator to the beginning of the container

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 180 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
void BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::toEnd ( )

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

Exceptions
Exception::SingularIteratorif the iterator is singular

Reimplemented from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >.

Definition at line 191 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
void BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::toRBegin ( )

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

Exceptions
Exception::SingularIteratorif the iterator is singular

Definition at line 202 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
void BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >::toREnd ( )

Move the iterator to the position before the first element

Exceptions
Exception::SingularIteratorif the iterator is singular

Definition at line 213 of file bidirectionalFilterIterator.h.