dune-grid-dev-howto  2.3.1
identitygridleveliterator.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_IDENTITYGRIDLEVELITERATOR_HH
4 #define DUNE_IDENTITYGRIDLEVELITERATOR_HH
5 
7 
12 namespace Dune {
13 
14 
15 
16 
17  //**********************************************************************
18  //
19  // --IdentityGridLevelIterator
23  template<int codim, PartitionIteratorType pitype, class GridImp>
24  class IdentityGridLevelIterator :
25  public Dune::IdentityGridEntityPointer <codim,GridImp>
26  {
27  public:
28 
30  explicit IdentityGridLevelIterator(const GridImp* identityGrid, int level)
31  : IdentityGridEntityPointer<codim,GridImp>(identityGrid, identityGrid->hostgrid_->template lbegin<codim>(level)),
32  hostGridLevelIterator_(identityGrid->hostgrid_->template lbegin<codim>(level))
33  {
34  this->virtualEntity_.setToTarget(hostGridLevelIterator_);
35  }
36 
37 
43  explicit IdentityGridLevelIterator(const GridImp* identityGrid, int level, bool endDummy)
44  :
45  IdentityGridEntityPointer<codim,GridImp>(identityGrid, identityGrid->hostgrid_->template lend<codim>(level)),
46  hostGridLevelIterator_(identityGrid->hostgrid_->template lend<codim>(level))
47  {}
48 
49 
51  void increment() {
52  ++hostGridLevelIterator_;
53  this->virtualEntity_.setToTarget(hostGridLevelIterator_);
54  }
55 
56 
57  private:
58 
59  // LevelIterator to the equivalent entity in the host grid
60  typedef typename GridImp::HostGridType::Traits::template Codim<codim>::LevelIterator HostGridLevelIterator;
61 
63  HostGridLevelIterator hostGridLevelIterator_;
64 
65  };
66 
67 
68 } // namespace Dune
69 
70 #endif
IdentityGridMakeableEntity< codim, dim, GridImp > virtualEntity_
virtual entity
Definition: identitygridentitypointer.hh:85
void increment()
prefix increment
Definition: identitygridleveliterator.hh:51
Definition: identitygridentity.hh:21
IdentityGridLevelIterator(const GridImp *identityGrid, int level)
Constructor.
Definition: identitygridleveliterator.hh:30
The IdentityGridEntityPointer class.
int level() const
ask for level of entity
Definition: identitygridentitypointer.hh:75
IdentityGridLevelIterator(const GridImp *identityGrid, int level, bool endDummy)
Constructor which create the end iterator.
Definition: identitygridleveliterator.hh:43