6#ifndef DUNE_FUNCTIONS_FUNCTIONSPACEBASES_FUNCTIONALDESCRIPTOR_HH
7#define DUNE_FUNCTIONS_FUNCTIONSPACEBASES_FUNCTIONALDESCRIPTOR_HH
12namespace Dune::Functions::Impl
33template<std::
size_t dim>
34class FunctionalDescriptor
38 using Order = std::array<unsigned int, dim>;
40 FunctionalDescriptor()
41 : partialDerivativeOrder_{}
42 , normalDerivativeOrder_(0)
45 explicit FunctionalDescriptor(
const Order& partialDerivativeOrder)
46 : partialDerivativeOrder_{partialDerivativeOrder}
47 , normalDerivativeOrder_(0)
50 explicit FunctionalDescriptor(
unsigned int normalDerivativeOrder)
51 : partialDerivativeOrder_{}
52 , normalDerivativeOrder_(normalDerivativeOrder)
55 bool isNormalDerivative()
const
57 return normalDerivativeOrder_>0;
60 bool isPartialDerivative()
const
62 for(
auto i: Dune::range(dim))
64 if (partialDerivativeOrder(i)>0)
70 unsigned int normalDerivativeOrder()
const
72 return normalDerivativeOrder_;
75 const Order& partialDerivativeOrder()
const
77 return partialDerivativeOrder_;
81 Order partialDerivativeOrder_;
82 unsigned int normalDerivativeOrder_;