#include <BALL/KERNEL/iterator.h>
Public Member Functions | |
Composite::CompositeIterator & | getPosition () |
Return the current iterator position. | |
const Composite::CompositeIterator & | getPosition () const |
Return the current iterator posittion (const method). | |
void | invalidate () |
void | toBegin () throw (Exception::Precondition) |
void | toEnd () throw (Exception::Precondition) |
Composite & | getData () |
Return a reference to the current element. | |
const Composite & | getData () const |
Return a const reference to the current element. | |
void | forward () |
Increment the iterator by one element. | |
void | backward () |
Decrement the iterator one element. | |
void | toRBegin () throw (Exception::Precondition) |
Reposition the (backward) iterator to the last element of the container. | |
void | toREnd () throw (Exception::Precondition) |
Reposition the (backward) iterator beyond the first element of the container. | |
void | setPredicate (const UnaryPredicate< Composite > &predicate) |
Assign the current predicate associated with the iterator. | |
const UnaryPredicate< Composite > * | getPredicate () const |
Return the current predicate associated with the iterator. | |
Constructors and Destructor | |
CompositeIteratorTraits () | |
Default constructor. | |
CompositeIteratorTraits (const Composite &composite) | |
Copy constructor. | |
CompositeIteratorTraits (const CompositeIteratorTraits &traits) | |
Detailed constructor. | |
~CompositeIteratorTraits () | |
Destructor. | |
Assignment | |
CompositeIteratorTraits & | operator= (const CompositeIteratorTraits &traits) |
Assignment operator. | |
Accessors | |
Composite * | getContainer () |
Return a pointer to the container the iterator is bound to. | |
const Composite * | getContainer () const |
Return a const pointer to the container the iterator is bound to. | |
Predicates | |
bool | operator== (const CompositeIteratorTraits &traits) const |
Equality operator. | |
bool | operator!= (const CompositeIteratorTraits &traits) const |
Inequality operator. | |
Predicates | |
bool | isValid () const |
bool | isSingular () const |
Check whether the iterator is bound to a container. | |
bool | isBegin () const |
bool | isEnd () const |
bool | isRBegin () const |
bool | isREnd () const |
Protected Attributes | |
Composite * | bound_ |
The pointer to the container. | |
Composite::CompositeIterator | composite_iterator_ |
The internal iterator to iterate over the current node's children. | |
const UnaryPredicate< Composite > * | predicate_ |
The predicate. |
Composite Iterator Traits This class is used in the implementation of the kernel iterators. It is intended for internal use only.
BALL::CompositeIteratorTraits::CompositeIteratorTraits | ( | ) | [inline] |
Default constructor.
BALL::CompositeIteratorTraits::CompositeIteratorTraits | ( | const Composite & | composite | ) | [inline] |
Copy constructor.
BALL::CompositeIteratorTraits::CompositeIteratorTraits | ( | const CompositeIteratorTraits & | traits | ) | [inline] |
Detailed constructor.
BALL::CompositeIteratorTraits::~CompositeIteratorTraits | ( | ) | [inline] |
Destructor.
void BALL::CompositeIteratorTraits::backward | ( | ) | [inline] |
Decrement the iterator one element.
References composite_iterator_, and predicate_.
void BALL::CompositeIteratorTraits::forward | ( | ) | [inline] |
Increment the iterator by one element.
References composite_iterator_, and predicate_.
const Composite* BALL::CompositeIteratorTraits::getContainer | ( | ) | const [inline] |
Return a const pointer to the container the iterator is bound to.
Composite* BALL::CompositeIteratorTraits::getContainer | ( | ) | [inline] |
Return a pointer to the container the iterator is bound to.
const Composite & BALL::CompositeIteratorTraits::getData | ( | ) | const [inline] |
Return a const reference to the current element.
References composite_iterator_.
Composite & BALL::CompositeIteratorTraits::getData | ( | ) | [inline] |
Return a reference to the current element.
const Composite::CompositeIterator& BALL::CompositeIteratorTraits::getPosition | ( | ) | const [inline] |
Return the current iterator posittion (const method).
Composite::CompositeIterator& BALL::CompositeIteratorTraits::getPosition | ( | ) | [inline] |
Return the current iterator position.
const UnaryPredicate<Composite>* BALL::CompositeIteratorTraits::getPredicate | ( | ) | const [inline] |
Return the current predicate associated with the iterator.
void BALL::CompositeIteratorTraits::invalidate | ( | ) | [inline] |
Invalidate the iterator. The iterator is separated from its container ( isSingular is true afterwards) and its SubCompositeIterator is invalidated as well.
References bound_, composite_iterator_, and BALL::BaseIterator< Container, DataType, Position, Traits >::invalidate().
bool BALL::CompositeIteratorTraits::isBegin | ( | ) | const [inline] |
Return true if the iterator is at the first element of the container.
References BALL::Composite::beginComposite(), bound_, composite_iterator_, isSingular(), and predicate_.
bool BALL::CompositeIteratorTraits::isEnd | ( | ) | const [inline] |
Return true if the iterator is beyond the last element of the container.
InvalidIterator | if the iterator is singular |
bool BALL::CompositeIteratorTraits::isRBegin | ( | ) | const [inline] |
Return true if the iterator is at the last element of the container.
InvalidIterator | if the iterator is singular |
References bound_, composite_iterator_, BALL::Composite::endComposite(), isSingular(), and predicate_.
bool BALL::CompositeIteratorTraits::isREnd | ( | ) | const [inline] |
Return true if the iterator is beyond the first element of the container.
InvalidIterator | if the iterator is singular |
References composite_iterator_, BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::isREnd(), and isSingular().
bool BALL::CompositeIteratorTraits::isSingular | ( | ) | const [inline] |
Check whether the iterator is bound to a container.
Referenced by isBegin(), isRBegin(), isREnd(), and toRBegin().
bool BALL::CompositeIteratorTraits::isValid | ( | ) | const [inline] |
Return the current status of the iterator. If the iterator is bound and its subcomposite iterator is valid, this predicate returns true
.
bool BALL::CompositeIteratorTraits::operator!= | ( | const CompositeIteratorTraits & | traits | ) | const [inline] |
Inequality operator.
References operator==().
CompositeIteratorTraits & BALL::CompositeIteratorTraits::operator= | ( | const CompositeIteratorTraits & | traits | ) | [inline] |
Assignment operator.
References bound_, composite_iterator_, and predicate_.
Referenced by BALL::SecondaryStructureIteratorTraits::operator=(), BALL::ResidueIteratorTraits::operator=(), BALL::ProteinIteratorTraits::operator=(), BALL::NucleotideIteratorTraits::operator=(), BALL::NucleicAcidIteratorTraits::operator=(), BALL::MoleculeIteratorTraits::operator=(), and BALL::AtomContainerIteratorTraits::operator=().
bool BALL::CompositeIteratorTraits::operator== | ( | const CompositeIteratorTraits & | traits | ) | const [inline] |
void BALL::CompositeIteratorTraits::setPredicate | ( | const UnaryPredicate< Composite > & | predicate | ) | [inline] |
Assign the current predicate associated with the iterator.
void BALL::CompositeIteratorTraits::toBegin | ( | ) | throw (Exception::Precondition) [inline] |
Reposition the iterator to the first element of the container.
InvalidIterator | if the iterator is singular . |
References BALL_PRECONDITION_EXCEPTION, BALL::Composite::beginComposite(), bound_, composite_iterator_, and predicate_.
void BALL::CompositeIteratorTraits::toEnd | ( | ) | throw (Exception::Precondition) [inline] |
Reposition the iterator after the last element of the container.
InvalidIterator | if the iterator is singular . |
References composite_iterator_, and BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toEnd().
void BALL::CompositeIteratorTraits::toRBegin | ( | ) | throw (Exception::Precondition) [inline] |
Reposition the (backward) iterator to the last element of the container.
References BALL_PRECONDITION_EXCEPTION, bound_, composite_iterator_, BALL::Composite::endComposite(), isSingular(), and predicate_.
void BALL::CompositeIteratorTraits::toREnd | ( | ) | throw (Exception::Precondition) [inline] |
Reposition the (backward) iterator beyond the first element of the container.
References composite_iterator_, and BALL::ConstBidirectionalIterator< Container, DataType, Position, Traits >::toREnd().
Composite* BALL::CompositeIteratorTraits::bound_ [protected] |
The pointer to the container.
Referenced by invalidate(), isBegin(), isRBegin(), operator=(), operator==(), toBegin(), and toRBegin().
The internal iterator to iterate over the current node's children.
Referenced by backward(), forward(), getData(), invalidate(), isBegin(), isRBegin(), isREnd(), operator=(), operator==(), toBegin(), toEnd(), toRBegin(), and toREnd().
const UnaryPredicate<Composite>* BALL::CompositeIteratorTraits::predicate_ [protected] |
The predicate.
Referenced by BALL::AtomContainerIteratorTraits::AtomContainerIteratorTraits(), BALL::AtomIteratorTraits::AtomIteratorTraits(), backward(), BALL::ChainIteratorTraits::ChainIteratorTraits(), forward(), BALL::FragmentIteratorTraits::FragmentIteratorTraits(), isBegin(), isRBegin(), operator=(), BALL::PDBAtomIteratorTraits::PDBAtomIteratorTraits(), BALL::PDBAtomIteratorTraits::resetPredicate(), BALL::FragmentIteratorTraits::resetPredicate(), BALL::ChainIteratorTraits::resetPredicate(), BALL::AtomIteratorTraits::resetPredicate(), BALL::AtomContainerIteratorTraits::resetPredicate(), toBegin(), and toRBegin().