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<Derived, E, r, rC, R> : 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.

Method Dune::XT::Functions::internal::GridFunctionBase::logging_prefix_or_default

template<class Derived, class E, size_t r, size_t rC, class R>
static std::string Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::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.

Method Dune::XT::Functions::internal::GridFunctionBase::default_logging_state

template<class Derived, class E, size_t r, size_t rC, class R>
static std::array<bool, 3> Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::default_logging_state(const std::string &logging_prefix)

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

Method Dune::XT::Functions::internal::GridFunctionBase::local_function

template<class Derived, class E, size_t r, size_t rC, class R>
int Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::local_function() const final

No documentation provided.

Method Dune::XT::Functions::internal::GridFunctionBase::name

template<class Derived, class E, size_t r, size_t rC, class R>
std::string Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::name() const final

No documentation provided.

Method Dune::XT::Functions::internal::GridFunctionBase::copy_as_grid_function

template<class Derived, class E, size_t r, size_t rC, class R>
int Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::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.

Method Dune::XT::Functions::internal::GridFunctionBase::copy_as_grid_function_impl

template<class Derived, class E, size_t r, size_t rC, class R>
InterfaceType *Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::copy_as_grid_function_impl() const final

No documentation provided.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

template<>
template<class Derived, class E, size_t r, size_t rC, class R>
Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::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.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

template<>
template<class Derived, class E, size_t r, size_t rC, class R>
Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::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.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

template<>
template<class Derived, class E, size_t r, size_t rC, class R>
Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::GridFunctionBase<Derived, E, r, rC, R>(int order_evaluate, std::string nm, const std::string &logging_prefix)

No documentation provided.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

template<>
template<class Derived, class E, size_t r, size_t rC, class R>
Dune::XT::Functions::internal::GridFunctionBase<Derived, E, r, rC, R>::GridFunctionBase<Derived, E, r, rC, R>(int order_evaluate_name, const std::string &logging_prefix)

No documentation provided.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

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

No documentation provided.

Constructor Dune::XT::Functions::internal::GridFunctionBase::GridFunctionBase<Derived, E, r, rC, R>

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

No documentation provided.

Field Dune::XT::Functions::internal::GridFunctionBase::function_

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

No documentation provided.

Field Dune::XT::Functions::internal::GridFunctionBase::name_

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

No documentation provided.

Type alias Dune::XT::Functions::internal::GridFunctionBase::ThisType

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

No documentation provided.

Type alias Dune::XT::Functions::internal::GridFunctionBase::InterfaceType

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

No documentation provided.