DUNE PDELab (2.8)

capabilities.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_GRID_COMMON_CAPABILITIES_HH
4#define DUNE_GRID_COMMON_CAPABILITIES_HH
5
10namespace Dune
11{
12
14 namespace Capabilities
15 {
16
23 template<class Grid>
25 {
26 static const bool v = false;
27 // this value will be initialized with something big
28 // since it is invalid
29 static const unsigned int topologyId = ~0u;
30 };
31
44 template<class Grid>
46 {
47 // default value is false
48 static const bool v = false;
49 };
50
54 template<class Grid, int codim>
55 struct hasEntity
56 {
57 static const bool v = false;
58 };
59
70 template< class Grid, int codim >
72 {
73 static const bool v = hasEntity<Grid, codim>::v;
74 };
75
80 template<class Grid, int codim>
82 {
83 static const bool v = true;
84 };
85
93 template< class Grid, int codim >
95 {
96 static const bool v = false;
97 };
98
102 template<class Grid>
104 {
105 static const bool v = false;
106 };
107
111 template<class Grid>
113 {
114 static const bool v = false;
115 };
116
120 template<class Grid>
122 {
123 static const bool v = false;
124 };
125
139 template <class Grid>
140 struct threadSafe {
141 static const bool v = false;
142 };
143
166 template <class Grid>
168 static const bool v = false;
169 };
170
171 /*
172 forward
173 Capabilities::Something<const Grid>
174 to
175 Capabilities::Something<Grid>
176 */
177
178 template<class Grid>
179 struct hasSingleGeometryType< const Grid >
180 {
182 static const unsigned int topologyId =
184 };
185
186 template<class Grid>
187 struct isCartesian< const Grid >
188 {
189 static const bool v = Dune::Capabilities::isCartesian<Grid>::v;
190 };
191
192 template<class Grid, int codim>
193 struct hasEntity<const Grid, codim>
194 {
196 };
197
198 template< class Grid, int codim >
199 struct hasEntityIterator< const Grid, codim >
200 {
202 };
203
204 template< class Grid, int codim >
205 struct canCommunicate< const Grid, codim >
206 {
208 };
209
210 template<class Grid>
211 struct isLevelwiseConforming<const Grid>
212 {
214 };
215
216 template<class Grid>
217 struct isLeafwiseConforming<const Grid>
218 {
220 };
221
222 template<class Grid>
223 struct hasBackupRestoreFacilities<const Grid>
224 {
226 };
227
228 template <class Grid>
229 struct threadSafe<const Grid> {
230 static const bool v = Dune::Capabilities::threadSafe<Grid>::v;
231 };
232
233 template <class Grid>
234 struct viewThreadSafe<const Grid> {
236 };
237
238 }
239
240}
241
242#endif // DUNE_GRID_COMMON_CAPABILITIES_HH
Grid abstract base class.
Definition: grid.hh:372
Dune namespace.
Definition: alignedallocator.hh:11
specialize with 'true' for all codims that a grid can communicate data on (default=false)
Definition: capabilities.hh:95
Specialize with 'true' if implementation provides backup and restore facilities. (default=false)
Definition: capabilities.hh:122
specialize with 'true' for all codims that a grid provides an iterator for (default=hasEntity<codim>:...
Definition: capabilities.hh:72
Specialize with 'true' for all codims that a grid implements entities for. (default=false)
Definition: capabilities.hh:56
Specialize with 'false' for all codims that a grid does not implement geometries for....
Definition: capabilities.hh:82
Specialize with 'true' for if the codimension 0 entity of the grid has only one possible geometry typ...
Definition: capabilities.hh:25
Specialize with 'true' if the grid is a Cartesian grid. Cartesian grids satisfy the following propert...
Definition: capabilities.hh:46
Specialize with 'true' if implementation guarantees a conforming leaf grid. (default=false)
Definition: capabilities.hh:113
Specialize with 'true' if implementation guarantees conforming level grids. (default=false)
Definition: capabilities.hh:104
Specialize with 'true' if the grid implementation is thread safe. (default=false)
Definition: capabilities.hh:140
Specialize with 'true' if the grid implementation is thread safe, while it is not modified....
Definition: capabilities.hh:167
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)