Generic class for stl conformant iterators for container classes with operator[].
More...
#include <dune/common/genericiterator.hh>
List of all members.
Detailed Description
template<class C, class T, class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
class Dune::GenericIterator< C, T, R, D, IteratorFacade >
Generic class for stl conformant iterators for container classes with operator[].
If template parameter C has a const qualifier we are a const iterator, otherwise we are a mutable iterator.
Member Typedef Documentation
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
The type of container we are an iterator for.
The container type must provide a operator[] method.
If C has a const qualifier we are a const iterator, otherwise we are a mutable iterator.
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
The type of the difference between two positions.
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
The type of the reference to the values accessed.
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
The value type of the iterator.
This is the return type of the iterator returned when derefencing.
Constructor & Destructor Documentation
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
Constructor.
- Parameters:
-
| cont | Reference to the container we are an iterator for. |
| pos | The postion the Iterator will be positioned to. (e. g. 0 for an iterator return by Container::begin() or the sizeof the container for an iterator returned by Container::end() |
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
Copy constructor.
This is somehow hard to understand, therefore play with the cases: 1. if we are mutable this is the only valid copy constructor, as the arguments is a mutable iterator 2. if we are a const iterator the argument is a mutable iterator => This is the needed conversion to initialize a const iterator form a mutable one.
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
Copy constructor.
- Warning:
- Calling this method results in a compiler error, if this is a mutable iterator.
This is somehow hard to understand, therefore play with the cases: 1. if we are mutable the arguments is a const iterator and therefore calling this method is mistake in the users code and results in a (probably not understandable compiler error 2. If we are a const iterator this is the default copy constructor as the argument is a const iterator too.
Member Function Documentation
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
Friends And Related Function Documentation
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
template<class C , class T , class R = T&, class D = std::ptrdiff_t, template< class, class, class, class > class IteratorFacade = RandomAccessIteratorFacade>
The documentation for this class was generated from the following file: