dune-grid  2.3beta2
common/leafiterator.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_GRID_LEAFITERATOR_HH
4 #define DUNE_GRID_LEAFITERATOR_HH
5 
6 #include <cstddef>
7 #include <iterator>
8 
11 
12 namespace Dune
13 {
14 
15  /**********************************************************************/
26  template<int codim, PartitionIteratorType pitype, class GridImp,
27  template<int,PartitionIteratorType,class> class LeafIteratorImp>
29  : public EntityIterator< codim, GridImp, LeafIteratorImp< codim, pitype, GridImp > >
30  {
32 
33  public:
36  {
37  ++static_cast< Base & >( *this );
38  this->realIterator.increment();
39  return *this;
40  }
41 
42  };
43 
44 }
45 
46 namespace std {
47 
48  template
49  < int codim, Dune::PartitionIteratorType pitype, class GridImp,
50  template<int,Dune::PartitionIteratorType,class> class LeafIteratorImp>
51  struct iterator_traits<Dune::LeafIterator<codim, pitype, GridImp,
52  LeafIteratorImp> > {
53  typedef ptrdiff_t difference_type;
54  typedef const typename Dune::LeafIterator<codim, pitype, GridImp,
55  LeafIteratorImp>::Entity value_type;
56  typedef value_type* pointer;
58  typedef forward_iterator_tag iterator_category;
59  };
60 
61 } // namespace std
62 
63 #endif // DUNE_GRID_LEAFITERATOR_HH