5#ifndef DUNE_LOCALFUNCTIONS_COMMON_TYPEERASEDLOCALFINITEELEMENT
6#define DUNE_LOCALFUNCTIONS_COMMON_TYPEERASEDLOCALFINITEELEMENT
12#include <dune/common/typeutilities.hh>
14#include <dune/geometry/type.hh>
41 using LocalBasisTraits = LBT;
46 using Traits =
typename VirtualLFE::Traits;
67 template<
class LFEImpl,
68 Dune::disableCopyMove<LocalFiniteElement, LFEImpl> = 0 >
86 : lfe_(other.lfe_ ? other.lfe_->clone() : nullptr)
118 lfe_.reset(rhs.lfe_->clone());
145 operator bool ()
const
158 return lfe_->localBasis();
169 return lfe_->localCoefficients();
180 return lfe_->localInterpolation();
198 const GeometryType&
type ()
const
204 std::unique_ptr<VirtualLFE> lfe_;
205 unsigned int size_ = 0;
206 Dune::GeometryType type_;
Definition bdfmcube.hh:18
const Q1FiniteElementFactory< Geometry, RF >::LFE Q1FiniteElementFactory< Geometry, RF >::lfe
Definition q1.hh:47
LocalFiniteElement(LocalFiniteElement &&other)=default
Move constructor.
LocalFiniteElement(const LocalFiniteElement &other)
Copy constructor.
Definition localfunctions/common/localfiniteelement.hh:85
LocalFiniteElement()=default
Default constructor.
const Traits::LocalCoefficientsType & localCoefficients() const
Access the LocalCoefficients of the stored local finite element.
Definition localfunctions/common/localfiniteelement.hh:167
const Traits::LocalInterpolationType & localInterpolation() const
Access the LocalInterpolation of the stored local finite element.
Definition localfunctions/common/localfiniteelement.hh:178
const Traits::LocalBasisType & localBasis() const
Access the LocalBasis of the stored local finite element.
Definition localfunctions/common/localfiniteelement.hh:156
unsigned int size() const
Get the number of basis functions of the stored local finite element.
Definition localfunctions/common/localfiniteelement.hh:188
LocalFiniteElement & operator=(const LocalFiniteElement &rhs)
Copy assignment.
Definition localfunctions/common/localfiniteelement.hh:113
LocalFiniteElement(LFEImpl &&lfe)
Construct from implementation.
Definition localfunctions/common/localfiniteelement.hh:69
typename VirtualLFE::Traits Traits
Definition localfunctions/common/localfiniteelement.hh:46
LocalFiniteElement & operator=(LocalFiniteElement &&other)=default
Move assignment.
const GeometryType & type() const
Get the GeometryType of the stored local finite element.
Definition localfunctions/common/localfiniteelement.hh:198
virtual base class for local finite elements with functions
Definition virtualinterface.hh:225
class for wrapping a finite element using the virtual interface
Definition virtualwrappers.hh:240