BALL
1.4.1
|
#include <BALL/MATHS/LINALG/baseFilterIterator.h>
Public Types | |
typedef IteratorBase::container_type | Container |
typedef IteratorBase::value_type | DataType |
typedef IteratorBase::difference_type | Position |
typedef IteratorBase::traits_type | Traits |
typedef IteratorBase::value_type | value_type |
typedef IteratorBase::difference_type | difference_type |
typedef IteratorBase::pointer | pointer |
typedef IteratorBase::reference | reference |
typedef std::input_iterator_tag | iterator_category |
Public Member Functions | |
Constructors and Destructors | |
BaseFilterIterator () | |
Default constructor. | |
BaseFilterIterator (Predicate p, IteratorBase it) | |
Default constructor. | |
BaseFilterIterator (const BaseFilterIterator &iterator) | |
Copy constructor. | |
~BaseFilterIterator () | |
Destructor. | |
Assignment | |
BaseFilterIterator & | operator= (const BaseFilterIterator &iterator) |
void | swap (BaseFilterIterator &iterator) |
Swap two iterators. | |
Accessors | |
void | invalidate () |
Invalidate the iterator. | |
void | setTraits (const Traits &traits) |
Set the traits. | |
const Traits & | getTraits () const |
Get a constant reference to the traits of this iterator. | |
Traits & | getTraits () |
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 Container * | getContainer () const |
Get a constant pointer to the container of this iterator. | |
Converters | |
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. | |
Predicates | |
bool | operator== (const BaseFilterIterator &iterator) const |
Equality operator. | |
bool | operator!= (const BaseFilterIterator &iterator) const |
Inequality operator. | |
bool | operator== (const IteratorBase &iterator) const |
Equality operator. | |
bool | operator!= (const IteratorBase &iterator) const |
Inequality operator. | |
bool | isSingular () const |
bool | isValid () const |
bool | operator+ () const |
Validity predicate. | |
bool | operator- () const |
Invalidity predicate. | |
Public Attributes | |
Predicate | predicate_ |
The instance of the iterator and the predicate. | |
IteratorBase | iterator_ |
Protected Member Functions | |
BaseFilterIterator (const Container &container) |
Generic Iterator Class. This template class implements the basic behaviour of an iterator. Iterators are basically STL-like iterators. They provide the full STL iterator interface, but also offer additional features.
BaseIterator itself is a base class to the other iterator classes only and should not be used by itself.
Definition at line 17 of file baseFilterIterator.h.
typedef IteratorBase::container_type BALL::BaseFilterIterator< Predicate, IteratorBase >::Container |
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 27 of file baseFilterIterator.h.
typedef IteratorBase::value_type BALL::BaseFilterIterator< Predicate, IteratorBase >::DataType |
Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 29 of file baseFilterIterator.h.
typedef IteratorBase::difference_type BALL::BaseFilterIterator< Predicate, IteratorBase >::difference_type |
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >, and BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 37 of file baseFilterIterator.h.
typedef std::input_iterator_tag BALL::BaseFilterIterator< Predicate, IteratorBase >::iterator_category |
Reimplemented in BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 43 of file baseFilterIterator.h.
typedef IteratorBase::pointer BALL::BaseFilterIterator< Predicate, IteratorBase >::pointer |
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 39 of file baseFilterIterator.h.
typedef IteratorBase::difference_type BALL::BaseFilterIterator< Predicate, IteratorBase >::Position |
Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 31 of file baseFilterIterator.h.
typedef IteratorBase::reference BALL::BaseFilterIterator< Predicate, IteratorBase >::reference |
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 41 of file baseFilterIterator.h.
typedef IteratorBase::traits_type BALL::BaseFilterIterator< Predicate, IteratorBase >::Traits |
Reimplemented in BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, and BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 33 of file baseFilterIterator.h.
typedef IteratorBase::value_type BALL::BaseFilterIterator< Predicate, IteratorBase >::value_type |
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstBidirectionalFilterIterator< Predicate, IteratorRandomAccess >, BALL::ConstForwardFilterIterator< Predicate, IteratorForward >, BALL::ConstForwardFilterIterator< Predicate, IteratorBidirectional >, BALL::ConstForwardFilterIterator< Predicate, IteratorRandomAccess >, and BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 35 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::BaseFilterIterator | ( | ) | [inline] |
Default constructor.
Definition at line 56 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::BaseFilterIterator | ( | Predicate | p, |
IteratorBase | it | ||
) | [inline] |
Default constructor.
Definition at line 58 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::BaseFilterIterator | ( | const BaseFilterIterator< Predicate, IteratorBase > & | iterator | ) | [inline] |
Copy constructor.
Definition at line 64 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::~BaseFilterIterator | ( | ) | [inline] |
Destructor.
Definition at line 70 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::BaseFilterIterator | ( | const Container & | container | ) | [inline, protected] |
Constructor. Protected to allow instantiation and use in derived classes only.
Definition at line 181 of file baseFilterIterator.h.
const Container* BALL::BaseFilterIterator< Predicate, IteratorBase >::getContainer | ( | ) | const [inline] |
Get a constant pointer to the container of this iterator.
Definition at line 122 of file baseFilterIterator.h.
const Predicate& BALL::BaseFilterIterator< Predicate, IteratorBase >::getPredicate | ( | ) | const [inline] |
Get a constant reference to the traits of this iterator.
Definition at line 116 of file baseFilterIterator.h.
Predicate& BALL::BaseFilterIterator< Predicate, IteratorBase >::getPredicate | ( | ) | [inline] |
Get a constant reference to the traits of this iterator.
Definition at line 119 of file baseFilterIterator.h.
const Traits& BALL::BaseFilterIterator< Predicate, IteratorBase >::getTraits | ( | ) | const [inline] |
Get a constant reference to the traits of this iterator.
Definition at line 107 of file baseFilterIterator.h.
Traits& BALL::BaseFilterIterator< Predicate, IteratorBase >::getTraits | ( | ) | [inline] |
Get a constant reference to the traits of this iterator.
Definition at line 110 of file baseFilterIterator.h.
void BALL::BaseFilterIterator< Predicate, IteratorBase >::invalidate | ( | ) | [inline] |
Invalidate the iterator.
Definition at line 101 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::isSingular | ( | ) | const [inline] |
Singularity predicate. This method returns true if the iterator is singular, i.e., not associated with a container.
Definition at line 162 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::isValid | ( | ) | const [inline] |
Validity predicate
Definition at line 167 of file baseFilterIterator.h.
BALL::BaseFilterIterator< Predicate, IteratorBase >::operator const Position & | ( | ) | const [inline] |
Convert an iterator to Position. This method returns the position of the iterator. Position is a template within this context.
Definition at line 133 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator!= | ( | const BaseFilterIterator< Predicate, IteratorBase > & | iterator | ) | const [inline] |
Inequality operator.
Definition at line 150 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator!= | ( | const IteratorBase & | iterator | ) | const [inline] |
Inequality operator.
Definition at line 156 of file baseFilterIterator.h.
reference BALL::BaseFilterIterator< Predicate, IteratorBase >::operator* | ( | ) | const [inline] |
Convert an iterator to its Datatype by returning a reference to the current data.
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, and BALL::ForwardFilterIterator< Predicate, IteratorForward >.
Definition at line 136 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator+ | ( | ) | const [inline] |
Validity predicate.
Reimplemented in BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 170 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator- | ( | ) | const [inline] |
Invalidity predicate.
Reimplemented in BALL::ConstRandomAccessFilterIterator< Predicate, IteratorRandomAccess >.
Definition at line 173 of file baseFilterIterator.h.
pointer BALL::BaseFilterIterator< Predicate, IteratorBase >::operator-> | ( | ) | const [inline] |
Return a pointer to the current data.
Reimplemented in BALL::RandomAccessFilterIterator< Predicate, IteratorRandomAccess >, BALL::BidirectionalFilterIterator< Predicate, IteratorBidirectional >, and BALL::ForwardFilterIterator< Predicate, IteratorForward >.
Definition at line 139 of file baseFilterIterator.h.
BaseFilterIterator& BALL::BaseFilterIterator< Predicate, IteratorBase >::operator= | ( | const BaseFilterIterator< Predicate, IteratorBase > & | iterator | ) | [inline] |
Assignment operator. Assigns the contents of an iterator to another iterator.
iterator | the iterator to be copied |
Definition at line 81 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator== | ( | const BaseFilterIterator< Predicate, IteratorBase > & | iterator | ) | const [inline] |
Equality operator.
Definition at line 147 of file baseFilterIterator.h.
bool BALL::BaseFilterIterator< Predicate, IteratorBase >::operator== | ( | const IteratorBase & | iterator | ) | const [inline] |
Equality operator.
Definition at line 153 of file baseFilterIterator.h.
void BALL::BaseFilterIterator< Predicate, IteratorBase >::setPredicate | ( | const Predicate & | predicate | ) | [inline] |
Set the predicates.
Definition at line 113 of file baseFilterIterator.h.
void BALL::BaseFilterIterator< Predicate, IteratorBase >::setTraits | ( | const Traits & | traits | ) | [inline] |
Set the traits.
Definition at line 104 of file baseFilterIterator.h.
void BALL::BaseFilterIterator< Predicate, IteratorBase >::swap | ( | BaseFilterIterator< Predicate, IteratorBase > & | iterator | ) | [inline] |
Swap two iterators.
Definition at line 89 of file baseFilterIterator.h.
IteratorBase BALL::BaseFilterIterator< Predicate, IteratorBase >::iterator_ |
Definition at line 24 of file baseFilterIterator.h.
Predicate BALL::BaseFilterIterator< Predicate, IteratorBase >::predicate_ |
The instance of the iterator and the predicate.
Definition at line 23 of file baseFilterIterator.h.