dune-alugrid 2.8.0
Loading...
Searching...
No Matches
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
10namespace 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
73 typedef Dune::PartitionIteratorType PartitionIteratorType;
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 int done() const =0
virtual val_t & item() const =0
virtual IteratorSTI< val_t > * clone() const
Definition: alu3diterators.hh:70
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