identitygridleafiterator.hh

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].