* Dereferencing operator.
* @return The iterator within the collection currently pointed to.
*/
- BaseIterator operator*() const;
+ const BaseIterator &operator*() const;
/**
* Dereferencing operator.
/**
* Iterators characterizing the begin and end of the range.
*/
- const iterator it_begin;
- const iterator it_end;
+ const IteratorOverIterators it_begin;
+ const IteratorOverIterators it_end;
};
template <typename Iterator>
-inline typename IteratorRange<Iterator>::IteratorOverIterators::BaseIterator
+inline const typename IteratorRange<
+ Iterator>::IteratorOverIterators::BaseIterator &
IteratorRange<Iterator>::IteratorOverIterators::operator*() const
{
return element_of_iterator_collection;
inline typename IteratorRange<Iterator>::IteratorOverIterators
IteratorRange<Iterator>::begin()
{
- return IteratorOverIterators(it_begin);
+ return it_begin;
}
inline typename IteratorRange<Iterator>::IteratorOverIterators
IteratorRange<Iterator>::end()
{
- return IteratorOverIterators(it_end);
+ return it_end;
}