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::BidirectionalFilterIterator< Predicate, IteratorBidirectional > Class Template Reference

Mutable bidirectional iterator. More...

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

Inheritance diagram for BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >:
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional > BALL::BaseFilterIterator< 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
ConstBidirectionalFilterIterator
< Predicate,
IteratorBidirectional
Base
- Public Types inherited from BALL::ConstBidirectionalFilterIterator< 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::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

Constructors and Destructor
 BidirectionalFilterIterator ()
 Default constructor.
 BidirectionalFilterIterator (Predicate p, IteratorBidirectional it)
 BidirectionalFilterIterator (const BidirectionalFilterIterator &iterator)
 Copy constructor.
 ~BidirectionalFilterIterator ()
 Destructor.
- Public Member Functions inherited from BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >
void setIterator (const IteratorBidirectional &iterator)
 Set the internal iterator.
 ConstBidirectionalFilterIterator ()
 ConstBidirectionalFilterIterator (Predicate p, IteratorBidirectional it)
 ConstBidirectionalFilterIterator (const ConstBidirectionalFilterIterator &iterator)
 ~ConstBidirectionalFilterIterator ()
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.
- 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
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

 BidirectionalFilterIterator (const Container &container)
 Construct an iterator bound to a specific container.
- Protected Member Functions inherited from BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >
 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

reference operator* () const
 Dereferentiation.
pointer operator-> () const
 Pointer dereferentiation.
BidirectionalFilterIteratoroperator++ ()
BidirectionalFilterIterator operator++ (int)
BidirectionalFilterIteratoroperator-- ()
BidirectionalFilterIterator operator-- (int)
static BidirectionalFilterIterator begin (const Container &container)
static BidirectionalFilterIterator end (const Container &container)
static BidirectionalFilterIterator rbegin (const Container &container)
static BidirectionalFilterIterator rend (const Container &container)

Additional Inherited Members

- Static Public Member Functions inherited from BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >
- 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::BidirectionalFilterIterator< Predicate, IteratorBidirectional >

Mutable bidirectional iterator.

Definition at line 321 of file bidirectionalFilterIterator.h.

Member Typedef Documentation

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

Definition at line 347 of file bidirectionalFilterIterator.h.

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

Definition at line 331 of file bidirectionalFilterIterator.h.

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

Definition at line 333 of file bidirectionalFilterIterator.h.

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

Definition at line 341 of file bidirectionalFilterIterator.h.

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

Definition at line 343 of file bidirectionalFilterIterator.h.

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

Definition at line 335 of file bidirectionalFilterIterator.h.

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

Definition at line 345 of file bidirectionalFilterIterator.h.

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

Definition at line 337 of file bidirectionalFilterIterator.h.

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

Definition at line 339 of file bidirectionalFilterIterator.h.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 355 of file bidirectionalFilterIterator.h.

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

Definition at line 358 of file bidirectionalFilterIterator.h.

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

Copy constructor.

Definition at line 364 of file bidirectionalFilterIterator.h.

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

Destructor.

Definition at line 370 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >::BidirectionalFilterIterator ( const Container container)
protected

Construct an iterator bound to a specific container.

Definition at line 503 of file bidirectionalFilterIterator.h.

Member Function Documentation

template<class Predicate , class IteratorBidirectional >
BidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >::begin ( const Container container)
static

Return an iterator pointing to the first item of the container

Exceptions
Exception::Precondition

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

Definition at line 468 of file bidirectionalFilterIterator.h.

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

Return an iterator pointing to the position after the last element

Exceptions
Exception::Precondition

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

Definition at line 477 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
reference BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator* ( ) const
inline

Dereferentiation.

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

Definition at line 379 of file bidirectionalFilterIterator.h.

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

Postfix increment operator

Exceptions
Exception::Precondition

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

Definition at line 442 of file bidirectionalFilterIterator.h.

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

Postfix decrement operator

Exceptions
Exception::Precondition

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

Definition at line 459 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
pointer BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >::operator-> ( ) const
inline

Pointer dereferentiation.

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

Definition at line 382 of file bidirectionalFilterIterator.h.

template<class Predicate , class IteratorBidirectional >
BidirectionalFilterIterator< Predicate, IteratorBidirectional > BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >::rbegin ( const Container container)
static

Return an iterator pointing to the last element.

Exceptions
Exception::Precondition

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

Definition at line 486 of file bidirectionalFilterIterator.h.

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

Return an iterator pointing to the positon before the first element

Exceptions
Exception::Precondition

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

Definition at line 495 of file bidirectionalFilterIterator.h.