1#ifndef __DUNE_ACFEM_MODELS_OPERATIONS_APPLY_HH__
2#define __DUNE_ACFEM_MODELS_OPERATIONS_APPLY_HH__
4#include "../applyexpression.hh"
5#include "../expressiontraits.hh"
6#include "../expressionoperations.hh"
15 template<
class Flavour,
class Model,
class Function,
16 std::enable_if_t<(IsProperPDEModel<Model>::value
17 && !Expressions::IsPromotedTopLevel<Function>::value
19 auto apply(Model&& m, Function&& f, Flavour = Flavour{})
21 return Expressions::finalize<ApplyOperation<Flavour> >(std::forward<Model>(m), std::forward<Function>(f));
25 template<
class Model,
class Function>
26 constexpr decltype(
auto) loadModel(Model&& m, Function&& f)
28 return apply<L2LoadFlavour>(std::forward<Model>(m), std::forward<Function>(f));
32 template<
class Model,
class Function>
33 constexpr decltype(
auto) ritzLoadModel(Model&& m, Function&& f)
35 return apply<RitzLoadFlavour>(std::forward<Model>(m), std::forward<Function>(f));