dune-localfunctions  2.6-git
lagrangecoefficients.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_LAGRANGECOEFFICIENTS_HH
4 #define DUNE_LAGRANGECOEFFICIENTS_HH
5 
6 #include <vector>
7 
8 #include <dune/common/fvector.hh>
9 
10 #include <dune/geometry/topologyfactory.hh>
11 #include <dune/geometry/type.hh>
12 
15 
16 namespace Dune
17 {
18 
19  template< template <class,unsigned int> class LP, unsigned int dim, class F >
21 
22  template< template <class,unsigned int> class LP,
23  unsigned int dim, class F>
25  {
26  static const unsigned int dimension = dim;
27  const typedef LP<F,dim> Object;
28  typedef unsigned int Key;
30  };
31 
32  template< template <class,unsigned int> class LP,
33  unsigned int dim, class F>
35  public TopologyFactory< LagrangeCoefficientsFactoryTraits< LP,dim,F> >
36  {
38  static const unsigned int dimension = dim;
39  typedef typename Traits::Object Object;
40  typedef typename Traits::Key Key;
41 
42  template< class T >
43  static Object *createObject ( const Key &order )
44  {
45  if (order == 0 || !Object::template supports<T>(order))
46  return 0;
47  typedef typename std::remove_const<Object>::type LagrangeCoefficients;
48  LagrangeCoefficients *object = new LagrangeCoefficients(order);
49  if ( !object->template build<T>() )
50  {
51  delete object;
52  object = nullptr;
53  }
54  return object;
55  }
56  };
57 
58 }
59 
60 #endif // DUNE_LAGRANGECOEFFICIENTS_HH
Dune::LagrangeCoefficientsFactoryTraits::Object
const typedef LP< F, dim > Object
Definition: lagrangecoefficients.hh:27
Dune::LagrangeCoefficientsFactory::Traits
LagrangeCoefficientsFactoryTraits< LP, dim, F > Traits
Definition: lagrangecoefficients.hh:37
Dune::LagrangeCoefficientsFactoryTraits
Definition: lagrangecoefficients.hh:24
Dune::LagrangeCoefficientsFactoryTraits::Factory
LagrangeCoefficientsFactory< LP, dim, F > Factory
Definition: lagrangecoefficients.hh:29
localkey.hh
field.hh
Dune::LagrangeCoefficientsFactory::Key
Traits::Key Key
Definition: lagrangecoefficients.hh:40
Dune::LagrangeCoefficientsFactory::dimension
static const unsigned int dimension
Definition: lagrangecoefficients.hh:38
Dune::LagrangeCoefficientsFactoryTraits::Key
unsigned int Key
Definition: lagrangecoefficients.hh:28
Dune::LagrangeCoefficientsFactory::Object
Traits::Object Object
Definition: lagrangecoefficients.hh:39
Dune::LagrangeCoefficientsFactoryTraits::dimension
static const unsigned int dimension
Definition: lagrangecoefficients.hh:26
Dune::LagrangeCoefficientsFactory
Definition: lagrangecoefficients.hh:20
Dune::LagrangeCoefficientsFactory::createObject
static Object * createObject(const Key &order)
Definition: lagrangecoefficients.hh:43
Dune
Definition: brezzidouglasmarini1cube2dlocalbasis.hh:15