dune-fem  2.8-git
selectcaching.hh
Go to the documentation of this file.
1 #ifndef DUNE_FEM_SPACE_SHAPEFUNCTIONSET_SELECTCACHING_HH
2 #define DUNE_FEM_SPACE_SHAPEFUNCTIONSET_SELECTCACHING_HH
3 
4 // dune-fem includes
6 
7 namespace Dune
8 {
9 
10  namespace Fem
11  {
12 
13  // External Forward Declarations
14  // -----------------------------
15 
16  class CachingStorage {};
17 
18  class SimpleStorage {};
19 
20  class CodegenStorage {};
21 
22  // SelectCachingShapeFunctionSet
23  // -----------------------------
24 
25  template< class ShapeFunctionSet, class Storage >
27 
28  template< class ShapeFunctionSet >
30  : public CachingShapeFunctionSet< ShapeFunctionSet >
31  {
33 
34  public:
36 
37  explicit SelectCachingShapeFunctionSet ( const GeometryType &type,
38  const ShapeFunctionSet &shapeFunctionSet = ShapeFunctionSet() )
39  : BaseType( type, shapeFunctionSet )
40  {}
41  };
42 
43  template< class ShapeFunctionSet >
45  : public ShapeFunctionSet
46  {
47  typedef ShapeFunctionSet BaseType;
48 
49  public:
51 
52  explicit SelectCachingShapeFunctionSet ( const GeometryType &type,
53  const ShapeFunctionSet &shapeFunctionSet = ShapeFunctionSet() )
54  : BaseType( shapeFunctionSet )
55  {}
56  };
57 
58  template< class ShapeFunctionSet >
60  : public CachingShapeFunctionSet< ShapeFunctionSet >
61  {
63 
64  public:
66 
68  static constexpr bool codegenShapeFunctionSet = true ;
69 
70  explicit SelectCachingShapeFunctionSet ( const GeometryType &type,
71  const ShapeFunctionSet &shapeFunctionSet = ShapeFunctionSet() )
72  : BaseType( type, shapeFunctionSet )
73  {}
74  };
75 
76  } // namespace Fem
77 
78 } // namespace Dune
79 
80 #endif // #ifndef DUNE_FEM_SPACE_SHAPEFUNCTIONSET_SELECTCACHING_HH
Definition: bindguard.hh:11
Definition: caching.hh:33
Definition: selectcaching.hh:16
Definition: selectcaching.hh:18
Definition: selectcaching.hh:20
Definition: selectcaching.hh:26
ShapeFunctionSet ImplementationType
Definition: selectcaching.hh:35
SelectCachingShapeFunctionSet(const GeometryType &type, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
Definition: selectcaching.hh:37
ShapeFunctionSet ImplementationType
Definition: selectcaching.hh:50
SelectCachingShapeFunctionSet(const GeometryType &type, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
Definition: selectcaching.hh:52
SelectCachingShapeFunctionSet(const GeometryType &type, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
Definition: selectcaching.hh:70
ShapeFunctionSet ImplementationType
Definition: selectcaching.hh:65
Interface class for shape function sets.
Definition: shapefunctionset/shapefunctionset.hh:33