5 #ifndef BALL_CONCEPT_FORWARDITERATOR_H
6 #define BALL_CONCEPT_FORWARDITERATOR_H
8 #ifndef BALL_CONCEPT_BASEITERATOR_H
23 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
25 :
public BaseIterator<Container, DataType, Position, Traits>
134 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
139 Base::getTraits().toBegin();
142 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
152 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
157 if (Base::getTraits().isSingular())
161 return Base::getTraits().isBegin();
164 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
169 Base::getTraits().toEnd();
172 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
182 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
187 if (Base::isSingular())
191 return Base::getTraits().isEnd();
196 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
304 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
306 ForwardIterator<Container, DataType, Position, Traits>
314 template <
typename Container,
typename DataType,
typename Position,
typename Traits>
327 #endif // BALL_CONCEPT_FORWARDITERATOR_H
BALL_INLINE reference operator*() const
BaseIterator< Container, DataType, Position, Traits > Base
ConstForwardIterator< Container, DataType, Position, Traits > Base
BALL_INLINE ConstForwardIterator()
Default constructor.
BALL_INLINE ConstForwardIterator & operator++()
BALL_INLINE ForwardIterator()
BALL_INLINE ConstForwardIterator & operator=(const ConstForwardIterator &iterator)
BALL_INLINE ~ForwardIterator()
#define BALL_PRECONDITION_EXCEPTION(condition, message)
static ConstForwardIterator end(const Container &container)
const DataType & reference
BALL_INLINE ConstForwardIterator(const ConstForwardIterator &iterator)
Copy constructor.
BALL_INLINE pointer operator->() const
BALL_INLINE ForwardIterator(const ForwardIterator &iterator)
BALL_INLINE void swap(ForwardIterator &iterator)
BALL_INLINE void toBegin()
BALL_INLINE bool isValid() const
BALL_INLINE ~ConstForwardIterator()
BALL_INLINE void swap(ConstForwardIterator &iterator)
BALL_INLINE const Traits & getTraits() const
Get a constant reference to the traits of this iterator.
BALL_INLINE ConstForwardIterator(const Container &container)
BALL_INLINE ForwardIterator & operator=(const ForwardIterator &iterator)
static ForwardIterator end(const Container &container)
std::forward_iterator_tag iterator_category
BALL_INLINE ForwardIterator & operator++()
BALL_INLINE BaseIterator & operator=(const BaseIterator &iterator)
static ConstForwardIterator begin(const Container &container)
BALL_INLINE ForwardIterator(const Container &container)
BALL_INLINE bool isEnd() const
Check whether the iterator points behind the last item of the container.
BALL_INLINE bool isBegin() const
Check whether the iterator points to the first item of the container.
static ForwardIterator begin(const Container &container)