Dune Core Modules (unstable)

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 
10 namespace 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>
45  struct isCartesian
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>
81  struct hasGeometry
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>
167  struct viewThreadSafe {
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  {
195  static const bool v = Dune::Capabilities::hasEntity<Grid,codim>::v;
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> {
235  static const bool v = Dune::Capabilities::viewThreadSafe<Grid>::v;
236  };
237 
238  }
239 
240 }
241 
242 #endif // DUNE_GRID_COMMON_CAPABILITIES_HH
Grid abstract base class.
Definition: grid.hh:373
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  |  generated with Hugo v0.80.0 (Sep 27, 22:32, 2022)