dune-alugrid  2.8-git
alu3diterators.hh
Go to the documentation of this file.
1 #ifndef DUNE_ALU3DITERATORS_HH
2 #define DUNE_ALU3DITERATORS_HH
3 
4 // Dune includes
5 #include <dune/grid/common/gridenums.hh>
6 
7 // Local includes
8 #include "alu3dinclude.hh"
9 
10 namespace ALUGrid
11 {
12 
13  //*************************************************************
14  // definition of original LeafIterators of ALUGrid
15  //
16  // default is element (codim = 0)
17  template< int codim, class Comm >
19  {
21  typedef typename AccessIterator< HElementType >::Handle IteratorType;
22  };
23 
24  //******************************************************************
25  // LevelIterators
26  //******************************************************************
27  template< int codim, class Comm >
29 
30  template< class Comm >
31  struct ALUHElementType< 0, Comm >
32  {
34  };
35 
36  template< class Comm >
37  struct ALUHElementType< 1, Comm >
38  {
40  };
41 
42  template< class Comm >
43  struct ALUHElementType< 2, Comm >
44  {
46  };
47 
48  template< class Comm >
49  struct ALUHElementType< 3, Comm >
50  {
52  };
53 
54 
55  //*********************************************************
56  // LevelIterator Wrapper
57  //*********************************************************
58  template< class val_t >
60  : public IteratorSTI< val_t >
61  {
62  public:
64 
65  virtual int size () = 0;
66  virtual void next () = 0;
67  virtual void first() = 0;
68  virtual int done () const = 0;
69  virtual val_t & item () const = 0;
70  virtual IteratorSTI< val_t > * clone () const { alugrid_assert (false); abort(); return 0; }
71  };
72 
74 
75  // defines the pair of element and boundary
76  template< int codim, class Comm >
78  {
81  typedef std::pair< ElType *, HBndSegType * > val_t;
82  };
83 
84 } // end namespace ALUGrid
85 
86 //#include "alu3diterators_imp.cc"
87 #endif // #ifndef DUNE_ALU3DITERATORS_HH
#define alugrid_assert(EX)
Definition: alugrid_assert.hh:20
Definition: alu3dinclude.hh:33
Dune::PartitionIteratorType PartitionIteratorType
Definition: alu3diterators.hh:73
Definition: alu3dinclude.hh:75
Definition: alu3diterators.hh:19
AccessIterator< HElementType >::Handle IteratorType
Definition: alu3diterators.hh:21
Dune::ALU3dBasicImplTraits< Comm >::HElementType HElementType
Definition: alu3diterators.hh:20
Definition: alu3diterators.hh:28
Dune::ALU3dBasicImplTraits< Comm >::HElementType ElementType
Definition: alu3diterators.hh:33
Dune::ALU3dBasicImplTraits< Comm >::HFaceType ElementType
Definition: alu3diterators.hh:39
Dune::ALU3dBasicImplTraits< Comm >::HEdgeType ElementType
Definition: alu3diterators.hh:45
Dune::ALU3dBasicImplTraits< Comm >::VertexType ElementType
Definition: alu3diterators.hh:51
Definition: alu3diterators.hh:61
virtual IteratorSTI< val_t > * clone() const
Definition: alu3diterators.hh:70
virtual int done() const =0
virtual val_t & item() const =0
virtual ~IteratorWrapperInterface()
Definition: alu3diterators.hh:63
Definition: alu3diterators.hh:78
std::pair< ElType *, HBndSegType * > val_t
Definition: alu3diterators.hh:81
ALUHElementType< codim, Comm >::ElementType ElType
Definition: alu3diterators.hh:79
Dune::ALU3dBasicImplTraits< Comm >::HBndSegType HBndSegType
Definition: alu3diterators.hh:80