Class template Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily

Inherits from Dune::GDT::LocalFiniteElementFamilyInterface.

template<class D, size_t d, class R = double, size_t r = 1, size_t rC = 1>
class Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC> : public LocalFiniteElementFamilyInterface<D, d, R, r, rC>

Implements LocalFiniteElementFamilyInterface by lazily creating and caching local finite elements from a user-provided factory, with creation guarded by a mutex.

Note

See the implementation of get() for a caveat regarding the double-checked locking pattern used here.

Method Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::get

template<class D, size_t d, class R = double, size_t r = 1, size_t rC = 1>
const LocalFiniteElementType &Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>::get(const GeometryType &geometry_type, const int order) const final override

No documentation provided.

Constructor Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>

template<>
template<class D, size_t d, class R = double, size_t r = 1, size_t rC = 1>
explicit Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(int factory)

No documentation provided.

Constructor Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>

template<>
template<class D, size_t d, class R = double, size_t r = 1, size_t rC = 1>
Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(const ThisType &other)

No documentation provided.

Constructor Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>

template<>
template<class D, size_t d, class R = double, size_t r = 1, size_t rC = 1>
Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(ThisType &&source) noexcept

No documentation provided.

Field Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::factory_

const int Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::factory_

No documentation provided.

Field Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::fes_

int Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::fes_

No documentation provided.

Field Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::mutex_

std::mutex Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::mutex_

No documentation provided.

Type alias Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThisType

type Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThisType

No documentation provided.

Type alias Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::BaseType

type Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::BaseType

No documentation provided.