1#ifndef DUNE_FEM_HPDG_SPACE_COMMON_DATAPROJECTION_HH
2#define DUNE_FEM_HPDG_SPACE_COMMON_DATAPROJECTION_HH
27 template<
class DiscreteFunctionSpace,
class Implementation >
38 using EntityType =
typename BasisFunctionSetType::EntityType;
79 const std::vector< std::size_t > &origin,
80 const std::vector< std::size_t > &destination )
82 asImp()( entity, prior, present, origin, destination );
89 template <
class TemporaryStorage>
99 template<
class Communicator >
102 asImp().addToList( comm );
108 Implementation &
asImp () {
return static_cast< Implementation &
>( *this ); }
110 const Implementation &
asImp ()
const {
return static_cast< const Implementation &
>( *this ); }
116 using hpDG::DataProjection ;
Definition: bindguard.hh:11
Abstract definition of the local restriction and prolongation of discrete functions.
Definition: dataprojection/dataprojection.hh:29
void operator()(const EntityType &entity, const BasisFunctionSetType &prior, const BasisFunctionSetType &present, const std::vector< std::size_t > &origin, const std::vector< std::size_t > &destination)
please doc me
Definition: dataprojection/dataprojection.hh:76
typename BasisFunctionSetType::EntityType EntityType
entity type
Definition: dataprojection/dataprojection.hh:38
const Implementation & asImp() const
Definition: dataprojection/dataprojection.hh:110
Implementation & asImp()
Definition: dataprojection/dataprojection.hh:108
DataProjection(const ThisType &)=delete
DataProjection(DataProjection &&)=default
typename DiscreteFunctionSpaceType::BasisFunctionSetType BasisFunctionSetType
basis function set type
Definition: dataprojection/dataprojection.hh:36
DataProjection & operator=(DataProjection &&)=default
DataProjection()
Definition: dataprojection/dataprojection.hh:41
void addToList(Communicator &comm)
add discrete function to communicator
Definition: dataprojection/dataprojection.hh:100