Dune Core Modules (2.9.0)

interfaces.hh
Go to the documentation of this file.
1#ifndef DUNE_ALUGRID_INTERFACES_HH
2#define DUNE_ALUGRID_INTERFACES_HH
3
4#include <type_traits>
5
11namespace Dune {
12
14 struct HasObjectStream {};
15
18 template <bool hasStream, class GridImp, class DefaultImp>
20 typedef typename GridImp::InStreamType InStreamType;
21 typedef typename GridImp::OutStreamType OutStreamType;
22 };
23
26 template <class GridImp, class DefaultImp>
27 struct GridObjectStreamOrDefaultHelper<false, GridImp, DefaultImp> {
28 typedef DefaultImp InStreamType;
29 typedef DefaultImp OutStreamType;
30 };
31
33 template <class GridImp, class DefaultImp>
35 {
37 std::is_base_of< HasObjectStream, GridImp >::value,
38 GridImp,
39 DefaultImp> GridObjectStreamTraits;
40
41 typedef typename GridObjectStreamTraits :: InStreamType InStreamType; // read stream
42 typedef typename GridObjectStreamTraits :: OutStreamType OutStreamType; // write stream
43 };
44
46 struct IsDofManager {};
47
50
51} // end namespace Dune
52#endif
Dune namespace.
Definition: alignedallocator.hh:13
Definition: interfaces.hh:19
Template to choose right Object stream type for a given class.
Definition: interfaces.hh:35
Tagging interface to indicate that Grid has HierarchicIndexSet.
Definition: interfaces.hh:49
Tagging interface to indicate that Grid provides typedef ObjectStreamType.
Definition: interfaces.hh:14
Tagging interface to indicate that class is of Type DofManager.
Definition: interfaces.hh:46
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Dec 21, 23:30, 2024)