common/leafiterator.hh

00001 #ifndef DUNE_GRID_LEAFITERATOR_HH
00002 #define DUNE_GRID_LEAFITERATOR_HH
00003 
00004 #include <dune/grid/common/entitypointer.hh>
00005 
00006 namespace Dune
00007 {
00008 
00009 /**********************************************************************/
00017 template<int codim, PartitionIteratorType pitype, class GridImp,
00018          template<int,PartitionIteratorType,class> class LeafIteratorImp>
00019 class LeafIterator :
00020     public EntityPointer<GridImp, LeafIteratorImp<codim,pitype,GridImp> >
00021 {
00022 public:
00023   typedef typename GridImp::template Codim< codim >::Entity Entity;
00024 
00026   LeafIterator& operator++()
00027     {
00028       this->realIterator.increment();
00029       return *this;
00030     }
00031 
00032   //===========================================================
00036   //===========================================================
00037 
00039   LeafIterator (const LeafIteratorImp<codim, pitype, const GridImp> & i) : 
00040     EntityPointer<GridImp, LeafIteratorImp<codim, pitype, GridImp> >(i) {};
00042 };
00043 
00044 //**********************************************************************
00050 template<int codim, PartitionIteratorType pitype, class GridImp,
00051          template<int,PartitionIteratorType,class> class LeafIteratorImp>
00052 class LeafIteratorDefaultImplementation
00053 {
00054 public:
00056   LeafIteratorDefaultImplementation() DUNE_DEPRECATED {}
00057 
00058 private:
00060   LeafIteratorImp<codim,pitype,GridImp>& asImp ()
00061     {return static_cast<LeafIteratorImp<codim,pitype,GridImp>&>(*this);}
00062   const LeafIteratorImp<codim,pitype,GridImp>& asImp () const
00063     {return static_cast<const LeafIteratorImp<codim,pitype,GridImp>&>(*this);}
00064 } DUNE_DEPRECATED;
00065 
00066 }
00067 
00068 #endif // DUNE_GRID_LEAFITERATOR_HH

Generated on Sun Nov 15 22:28:42 2009 for dune-grid by  doxygen 1.5.6