5#ifndef BALL_CONCEPT_BASEITERATOR_H
6#define BALL_CONCEPT_BASEITERATOR_H
8#ifndef BALL_CONFIG_CONFIG_H
9# include <BALL/CONFIG/config.h>
12#ifndef BALL_COMMON_GLOBAL_H
16#ifndef BALL_COMMON_EXCEPTION_H
63 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
93 : traits_(iterator.traits_)
111 traits_ = iterator.traits_;
BALL_INLINE pointer operator->() const
Return a pointer to the current data.
BALL_INLINE void swap(BaseIterator &iterator)
Swap two iterators.
BALL_INLINE BaseIterator(const BaseIterator &iterator)
Copy constructor.
const DataType & reference
BALL_INLINE bool operator-() const
Invalidity perdicate.
BALL_INLINE Traits & getTraits()
Get a constant reference to the traits of this iterator.
BALL_INLINE BaseIterator & operator=(const BaseIterator &iterator)
std::input_iterator_tag iterator_category
BALL_INLINE bool operator==(const BaseIterator &iterator) const
Equality operator.
BALL_INLINE ~BaseIterator()
Destructor.
BALL_INLINE bool operator!=(const BaseIterator &iterator) const
Inequality operator.
BALL_INLINE const Traits & getTraits() const
Get a constant reference to the traits of this iterator.
BALL_INLINE const Container * getContainer() const
Get a constant pointer to the container of this iterator.
BALL_INLINE bool operator+() const
Validity predicate.
BALL_INLINE void invalidate()
Invalidate the iterator.
BALL_INLINE bool isValid() const
BALL_INLINE bool isSingular() const
BALL_INLINE reference operator*() const
Convert an iterator to its Datatype by returning a reference to the current data.
BALL_INLINE BaseIterator(const Container &container)
BALL_INLINE BaseIterator()
Default constructor.
BALL_INLINE void setTraits(const Traits &traits)
Set the traits.