dune-grid  2.2.0
common/leveliterator.hh
Go to the documentation of this file.
1 #ifndef DUNE_GRID_LEVELITERATOR_HH
2 #define DUNE_GRID_LEVELITERATOR_HH
3 
4 #include <cstddef>
5 #include <iterator>
6 
9 
10 namespace Dune
11 {
12 
13 /**********************************************************************/
23 template<int codim, PartitionIteratorType pitype, class GridImp,
24  template<int,PartitionIteratorType,class> class LevelIteratorImp>
26 : public EntityIterator< codim, GridImp, LevelIteratorImp< codim, pitype, GridImp > >
27 {
29 
30 public:
37  {
38  ++static_cast< Base & >( *this );
39  return *this;
40  }
41 
42  //===========================================================
46  //===========================================================
47 
50  LevelIterator(const LevelIteratorImp<codim,pitype,const GridImp> & i) DUNE_DEPRECATED
51  : Base( i )
52  {}
54 };
55 
56 }
57 
58 namespace std {
59 
60  template
61  < int codim, Dune::PartitionIteratorType pitype, class GridImp,
62  template<int,Dune::PartitionIteratorType,class> class LevelIteratorImp>
63  struct iterator_traits<Dune::LevelIterator<codim, pitype, GridImp,
64  LevelIteratorImp> > {
65  typedef ptrdiff_t difference_type;
66  typedef const typename Dune::LevelIterator<codim, pitype, GridImp,
67  LevelIteratorImp>::Entity value_type;
68  typedef value_type* pointer;
70  typedef forward_iterator_tag iterator_category;
71  };
72 
73 } // namespace std
74 
75 #endif // DUNE_GRID_LEVELITERATOR_HH