Class template Dune::XT::Functions::internal::GridFunctionBase

Inherits from Dune::XT::Functions::GridFunctionInterface.

template<class Derived, class E, size_t r, size_t rC, class R>
class Dune::XT::Functions::internal::GridFunctionBase : public GridFunctionInterface<E, r, rC, R>

Common implementation base for all GridFunction specializations.

Owns the wrapped grid function and its name, implements the GridFunctionInterface, and provides the constructors shared by every GridFunction specialization: the tuple-based generic-function variants and a forwarding ctor used by the specialization-specific ctors. It also implements the polymorphic copy (copy_as_grid_function[_impl]) once, via CRTP on the concrete Derived type. Keeping all of this here means it is written once instead of being duplicated across the three specializations.

static std::string Dune::XT::Functions::internal::GridFunctionBase::logging_prefix_or_default(const std::string &logging_prefix)

The effective logging prefix for the default GridFunction convention: the given prefix, or “GridFunction” if none was provided.

static std::array<bool, 3> Dune::XT::Functions::internal::GridFunctionBase::default_logging_state(const std::string &logging_prefix)

The logging state for the default GridFunction convention (enabled iff an explicit prefix was provided).

int Dune::XT::Functions::internal::GridFunctionBase::local_function() const final

No documentation provided.

std::string Dune::XT::Functions::internal::GridFunctionBase::name() const final

No documentation provided.

int Dune::XT::Functions::internal::GridFunctionBase::copy_as_grid_function() const

Polymorphic copy: returns a copy of the concrete (Derived) specialization. Implemented once here via CRTP instead of being repeated identically in every GridFunction specialization.

InterfaceType *Dune::XT::Functions::internal::GridFunctionBase::copy_as_grid_function_impl() const final

No documentation provided.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(int function, std::optional<std::string> nm, const Common::ParameterType &param_type, const std::string &logging_prefix, const std::array<bool, 3> &logging_state)

Takes ownership of an already-built grid function. If nm has no value, the wrapped function’s own name is used. Meant to be called by the specialization-specific ctors of the derived GridFunction classes.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(int function, std::optional<std::string> nm, const Common::ParameterType &param_type, const std::string &logging_prefix)

As above, but applies the default GridFunction logging convention to logging_prefix (see logging_prefix_or_default / default_logging_state). Lets the value/function-wrapping ctors avoid repeating that convention.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(int order_evaluate, std::string nm = <recovery-expr>("GridFunction"), const std::string &logging_prefix = <recovery-expr>(""))

No documentation provided.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(int order_evaluate_name, const std::string &logging_prefix = <recovery-expr>(""))

No documentation provided.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(const ThisType &other)

No documentation provided.

template<>
Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>(ThisType&&) noexcept = default

No documentation provided.

int Dune::XT::Functions::internal::GridFunctionBase::function_

No documentation provided.

std::string Dune::XT::Functions::internal::GridFunctionBase::name_

No documentation provided.

type Dune::XT::Functions::internal::GridFunctionBase::ThisType

No documentation provided.

type Dune::XT::Functions::internal::GridFunctionBase::InterfaceType

No documentation provided.