BALL  1.4.2
 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. More...
 
Constructors and destructor.
 ConstBidirectionalFilterIterator ()
 
 ConstBidirectionalFilterIterator (Predicate p, IteratorBidirectional it)
 
 ConstBidirectionalFilterIterator (const ConstBidirectionalFilterIterator &iterator)
 
 ~ConstBidirectionalFilterIterator ()
 
- Public Member Functions inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >
void setIterator (const IteratorBidirectional &iterator)
 Set the internal iterator. More...
 
const IteratorBidirectionalgetIterator () const
 Get a constant reference to the internal iterator. More...
 
IteratorBidirectionalgetIterator ()
 Get a constant reference to the internal iterator. More...
 
 ConstForwardFilterIterator ()
 Default constructor. More...
 
 ConstForwardFilterIterator (Predicate p, IteratorBidirectionalit)
 
 ConstForwardFilterIterator (const ConstForwardFilterIterator &iterator)
 Copy constructor. More...
 
 ~ConstForwardFilterIterator ()
 
ConstForwardFilterIteratoroperator= (const ConstForwardFilterIterator &iterator)
 
void swap (ConstForwardFilterIterator &iterator)
 
void toBegin ()
 
bool isBegin () const
 Check whether the iterator points to the first item of the container. More...
 
void toEnd ()
 
bool isEnd () const
 Check whether the iterator points behind the last item of the container. More...
 
ConstForwardFilterIteratoroperator++ ()
 
ConstForwardFilterIterator operator++ (int)
 
- Public Member Functions inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
 BaseFilterIterator ()
 Default constructor. More...
 
 BaseFilterIterator (Predicate p, IteratorBidirectionalit)
 Default constructor. More...
 
 BaseFilterIterator (const BaseFilterIterator &iterator)
 Copy constructor. More...
 
 ~BaseFilterIterator ()
 Destructor. More...
 
BaseFilterIteratoroperator= (const BaseFilterIterator &iterator)
 
void swap (BaseFilterIterator &iterator)
 Swap two iterators. More...
 
void invalidate ()
 Invalidate the iterator. More...
 
void setTraits (const Traits &traits)
 Set the traits. More...
 
const TraitsgetTraits () const
 Get a constant reference to the traits of this iterator. More...
 
TraitsgetTraits ()
 Get a constant reference to the traits of this iterator. More...
 
void setPredicate (const Predicate &predicate)
 Set the predicates. More...
 
const Predicate & getPredicate () const
 Get a constant reference to the traits of this iterator. More...
 
Predicate & getPredicate ()
 Get a constant reference to the traits of this iterator. More...
 
const ContainergetContainer () const
 Get a constant pointer to the container of this iterator. More...
 
 operator const Position & () const
 
reference operator* () const
 Convert an iterator to its Datatype by returning a reference to the current data. More...
 
pointer operator-> () const
 Return a pointer to the current data. More...
 
bool operator== (const BaseFilterIterator &iterator) const
 Equality operator. More...
 
bool operator== (const IteratorBidirectional &iterator) const
 Equality operator. More...
 
bool operator!= (const BaseFilterIterator &iterator) const
 Inequality operator. More...
 
bool operator!= (const IteratorBidirectional &iterator) const
 Inequality operator. More...
 
bool isSingular () const
 
bool isValid () const
 
bool operator+ () const
 Validity predicate. More...
 
bool operator- () const
 Invalidity predicate. More...
 

Protected Member Functions

 ConstBidirectionalFilterIterator (const Container &container)
 Construct an iterator bound to a specific container. More...
 
- 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. More...
 
void toEnd ()
 
bool isEnd () const
 Check whether the iterator points to the position after the last item of the container. More...
 
void toRBegin ()
 
bool isRBegin () const
 Test whether the iterator points to the "reverse" first element of the container. More...
 
void toREnd ()
 
bool isREnd () const
 Test wheter the iterator points to the position before the first element. More...
 
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 >
static ConstForwardFilterIterator begin (const Container &container)
 
static ConstForwardFilterIterator end (const Container &container)
 
- Public Attributes inherited from BALL::BaseFilterIterator< Predicate, IteratorBidirectional >
Predicate predicate_
 The instance of the iterator and the predicate. More...
 
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

Return an iterator pointingto the first item of the container

Exceptions
Exception::Precondition

Definition at line 285 of file bidirectionalFilterIterator.h.

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

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

Exceptions
Exception::Precondition

Definition at line 294 of file bidirectionalFilterIterator.h.

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.

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.

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++ ( )

Increment operator

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Definition at line 225 of file bidirectionalFilterIterator.h.

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

Postfix increment operator

Exceptions
Exception::InvalidIteratorif the iterator is invalid

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

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

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

Return an iterator pointing to the last element

Exceptions
Exception::Precondition

Definition at line 303 of file bidirectionalFilterIterator.h.

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

Return an iterator pointing to the positon before the first element

Exceptions
Exception::Precondition

Definition at line 312 of file bidirectionalFilterIterator.h.

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

Set the internal iterator.

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

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

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.