identitygridleafiterator.hh

Go to the documentation of this file.
00001 #ifndef DUNE_IDENTITYGRIDLEAFITERATOR_HH
00002 #define DUNE_IDENTITYGRIDLEAFITERATOR_HH
00003 
00008 namespace Dune {
00009 
00010 
00014 template<int codim, PartitionIteratorType pitype, class GridImp>
00015 class IdentityGridLeafIterator :
00016     public Dune::IdentityGridEntityPointer <codim,GridImp>
00017 {
00018     private:
00019     
00020         enum {dim = GridImp::dimension};
00021     
00022         
00023     public:
00024     
00026         explicit IdentityGridLeafIterator(const GridImp* identityGrid) :
00027             IdentityGridEntityPointer<codim,GridImp>(identityGrid, identityGrid->hostgrid_->template leafbegin<codim>()),
00028             hostGridLeafIterator_(identityGrid->hostgrid_->template leafbegin<codim>()),
00029             hostGridLeafEndIterator_(identityGrid->hostgrid_->template leafend<codim>())
00030         {
00031             this->virtualEntity_.setToTarget(hostGridLeafIterator_);
00032         }
00033     
00034         
00038         explicit IdentityGridLeafIterator(const GridImp* identityGrid, bool endDummy) :
00039             IdentityGridEntityPointer<codim,GridImp>(identityGrid, identityGrid->hostgrid_->template leafend<codim>()),
00040             hostGridLeafIterator_(identityGrid->hostgrid_->template leafbegin<codim>()),
00041             hostGridLeafEndIterator_(identityGrid->hostgrid_->template leafend<codim>())
00042         {
00043         }
00044         
00045     
00047         void increment() {
00048             ++hostGridLeafIterator_;
00049             this->virtualEntity_.setToTarget(hostGridLeafIterator_);
00050         }
00051     
00052     
00053     private:
00054     
00055         // /////////////////////////////////////
00056         //   Data members
00057         // /////////////////////////////////////
00058     
00059         // LevelIterator to the equivalent entity in the host grid
00060         typedef typename GridImp::HostGridType::template Codim<codim>::LeafIterator HostGridLeafIterator;
00061         
00063         HostGridLeafIterator hostGridLeafIterator_;
00064         
00066         HostGridLeafIterator hostGridLeafEndIterator_;
00067         
00068 };
00069 
00070 
00071 }  // namespace Dune
00072   
00073 #endif

Generated on 2 Apr 2009 with Doxygen (ver 1.5.6)