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::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > Class Template Reference

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

Inheritance diagram for BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >:
BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess > BALL::BaseFilterIterator< Predicate, IteratorRandomAccess > BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >

Public Types

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

Public Member Functions

Constructors and Destructors
 ConstRandomAccessFilterIterator ()
 ConstRandomAccessFilterIterator (Predicate p, IteratorRandomAccess it)
 ConstRandomAccessFilterIterator (const ConstRandomAccessFilterIterator &iterator)
 ~ConstRandomAccessFilterIterator ()
Predicates
bool operator+ () const
 Validity predicate.
bool operator- () const
 Invalidity predicate.
bool operator< (const ConstRandomAccessFilterIterator &iterator) const
bool operator<= (const ConstRandomAccessFilterIterator &iterator) const
bool operator>= (const ConstRandomAccessFilterIterator &iterator) const
bool operator> (const ConstRandomAccessFilterIterator &iterator) const
Iterator dereferencing
const DataTypeoperator[] (Index index) const
- Public Member Functions inherited from BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >
void setIterator (const IteratorRandomAccess &iterator)
 Set the internal iterator.
 ConstBidirectionalFilterIterator ()
 ConstBidirectionalFilterIterator (Predicate p, IteratorRandomAccessit)
 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.
ConstBidirectionalFilterIteratoroperator++ ()
ConstBidirectionalFilterIterator operator++ (int)
ConstBidirectionalFilterIteratoroperator-- ()
ConstBidirectionalFilterIterator operator-- (int)
- Public Member Functions inherited from BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >
const IteratorRandomAccessgetIterator () const
 Get a constant reference to the internal iterator.
IteratorRandomAccessgetIterator ()
 Get a constant reference to the internal iterator.
 ConstForwardFilterIterator ()
 Default constructor.
 ConstForwardFilterIterator (Predicate p, IteratorRandomAccessit)
 ConstForwardFilterIterator (const ConstForwardFilterIterator &iterator)
 Copy constructor.
 ~ConstForwardFilterIterator ()
ConstForwardFilterIteratoroperator= (const ConstForwardFilterIterator &iterator)
void swap (ConstForwardFilterIterator &iterator)
- Public Member Functions inherited from BALL::BaseFilterIterator< Predicate, IteratorRandomAccess >
 BaseFilterIterator ()
 Default constructor.
 BaseFilterIterator (Predicate p, IteratorRandomAccessit)
 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 IteratorRandomAccess &iterator) const
 Equality operator.
bool operator!= (const BaseFilterIterator &iterator) const
 Inequality operator.
bool operator!= (const IteratorRandomAccess &iterator) const
 Inequality operator.
bool isSingular () const
bool isValid () const

Protected Member Functions

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

Assignment

ConstRandomAccessFilterIteratoroperator+= (Distance distance)
ConstRandomAccessFilterIteratoroperator-= (Distance distance)
ConstRandomAccessFilterIterator operator+ (Distance distance) const
ConstRandomAccessFilterIterator operator- (Distance distance) const
Distance operator- (const ConstRandomAccessFilterIterator &iterator) const
static
ConstRandomAccessFilterIterator 
begin (const Container &container)
static
ConstRandomAccessFilterIterator 
end (const Container &container)
static
ConstRandomAccessFilterIterator 
rbegin (const Container &container)
static
ConstRandomAccessFilterIterator 
rend (const Container &container)

Additional Inherited Members

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

Detailed Description

template<class Predicate, class IteratorRandomAccess>
class BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >

Definition at line 20 of file randomAccessFilterIterator.h.

Member Typedef Documentation

template<class Predicate, class IteratorRandomAccess>
typedef ConstBidirectionalFilterIterator<Predicate, IteratorRandomAccess> BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::Base

Definition at line 49 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::container_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::Container

Definition at line 35 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::value_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::DataType

Definition at line 37 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::difference_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::difference_type

Definition at line 31 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef std::random_access_iterator_tag BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::iterator_category

Definition at line 47 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::pointer BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::pointer

Definition at line 43 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::difference_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::Position

Definition at line 39 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::reference BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::reference

Definition at line 45 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::traits_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::Traits

Definition at line 41 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
typedef IteratorRandomAccess::value_type BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::value_type

Definition at line 33 of file randomAccessFilterIterator.h.

Constructor & Destructor Documentation

template<class Predicate, class IteratorRandomAccess>
BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::ConstRandomAccessFilterIterator ( )
inline

Definition at line 57 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::ConstRandomAccessFilterIterator ( Predicate  p,
IteratorRandomAccess  it 
)
inline

Definition at line 60 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::ConstRandomAccessFilterIterator ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator)
inline

Definition at line 66 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::~ConstRandomAccessFilterIterator ( )
inline

Definition at line 72 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::ConstRandomAccessFilterIterator ( const Container container)
inlineprotected

Definition at line 206 of file randomAccessFilterIterator.h.

Member Function Documentation

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::begin ( const Container container)
static
template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::end ( const Container container)
static

Return a Const RandomAccessFilterIterator for a given container. It points behind the last element of the container.

Exceptions
Exception::Precondition

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

Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >.

Definition at line 420 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator+ ( Distance  distance) const

Return an iterator. It points to the element with the given distance from the element of this iterator.

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Definition at line 304 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator+ ( ) const
inline

Validity predicate.

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

Definition at line 143 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > & BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator+= ( Distance  distance)

Advance iterator a given distance.

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Definition at line 256 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator- ( Distance  distance) const

Return an iterator. It points to the element with the given distance in reverse direction from the element of this iterator.

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Definition at line 312 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
Distance BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator- ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator) const

Return an iterator. It points to the element with the given distance in reverse direction from the element of this iterator.

Exceptions
Exception::InvalidIteratorif the iterator is invalid
Exception::IncompatibleIteratorsif this iterator and the argument are incompatible

Return the distance between two iterators. It points to the element with the given distance in reverse direction of the given iterator.

Exceptions
InvalidIteratorif one of the iterators is not valid
IncompatibleIteratorsif the iterators point into different containers.

Definition at line 234 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator- ( ) const
inline

Invalidity predicate.

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

Definition at line 146 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > & BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator-= ( Distance  distance)

Advance iterator a given distance in reverse direction.

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Definition at line 276 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator< ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator) const

Lesser operator. Returns true if both iterators have the same container and the element of this iterator resides before the elemen of the given iterator.

Exceptions
InvalidIteratorif one of the iterators is not valid
IncompatibleIteratorsif the iterators point into different containers.

Definition at line 320 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator<= ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator) const

Lesser or equal operator. Returns true if both iterators have the same container and the element of this iterator resides before the elemen of the given iterator or both iterators point to the same element.

Exceptions
InvalidIteratorif one of the iterators is not valid
IncompatibleIteratorsif the iterators point into different containers.

Definition at line 343 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator> ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator) const

Greater operator. Returns true if both iterators have the same container and the element of this iterator resides after the elemen of the given iterator.

Exceptions
InvalidIteratorif one of the iterators is not valid
IncompatibleIteratorsif the iterators point into different containers.

Definition at line 388 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
bool BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator>= ( const ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > &  iterator) const

Greater or equal operator. Returns true if both iterators have the same container and the element of this iterator resides after the elemen of the given iterator or both iterators point to the same element.

Exceptions
InvalidIteratorif one of the iterators is not valid
IncompatibleIteratorsif the iterators point into different containers.

Definition at line 365 of file randomAccessFilterIterator.h.

template<class Predicate, class IteratorRandomAccess>
const DataType& BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::operator[] ( Index  index) const
inline

Random access operator.

Exceptions
Exception::InvalidIteratorif the iterator is invalid

Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >.

Definition at line 192 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::rbegin ( const Container container)
static

Return a Const RandomAccessFilterIterator for a given container. It points at the last element of the container.

Exceptions
Exception::Precondition

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

Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >.

Definition at line 429 of file randomAccessFilterIterator.h.

template<class Predicate , class IteratorRandomAccess >
ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess > BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >::rend ( const Container container)
static

Return a Const RandomAccessFilterIterator for a given container. It points before the first element.

Exceptions
Exception::Precondition

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

Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >.

Definition at line 438 of file randomAccessFilterIterator.h.