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 
11 namespace 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.80.0 (May 2, 22:35, 2024)