3#ifndef DUNE_LAGRANGECOEFFICIENTS_HH
4#define DUNE_LAGRANGECOEFFICIENTS_HH
10#include <dune/geometry/topologyfactory.hh>
13#include <dune/localfunctions/utility/field.hh>
14#include <dune/localfunctions/common/localkey.hh>
19 template<
template <
class,
unsigned int>
class LP,
unsigned int dim,
class F >
20 struct LagrangeCoefficientsFactory;
22 template<
template <
class,
unsigned int>
class LP,
23 unsigned int dim,
class F>
24 struct LagrangeCoefficientsFactoryTraits
26 static const unsigned int dimension = dim;
27 const typedef LP<F,dim> Object;
28 typedef unsigned int Key;
29 typedef LagrangeCoefficientsFactory< LP,dim,F > Factory;
32 template<
template <
class,
unsigned int>
class LP,
33 unsigned int dim,
class F>
34 struct LagrangeCoefficientsFactory :
35 public TopologyFactory< LagrangeCoefficientsFactoryTraits< LP,dim,F> >
37 typedef LagrangeCoefficientsFactoryTraits<LP,dim,F> Traits;
38 static const unsigned int dimension = dim;
39 typedef typename Traits::Object Object;
40 typedef typename Traits::Key Key;
43 static Object *createObject (
const Key &order )
45 if (order == 0 || !Object::template supports<T>(order))
47 typedef typename std::remove_const<Object>::type LagrangeCoefficients;
48 LagrangeCoefficients *
object =
new LagrangeCoefficients(order);
49 if ( !object->template build<T>() )
Implements a vector constructed from a given type representing a field and a compile-time given size.
Dune namespace.
Definition: alignedallocator.hh:10
A unique label for each type of element that can occur in a grid.