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 : 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.

const LocalFiniteElementType &Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::get(const int &geometry_type, const int order) const final override

No documentation provided.

template<>
Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(int factory)

No documentation provided.

template<>
Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(const ThisType &other)

No documentation provided.

template<>
Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThreadSafeDefaultLocalFiniteElementFamily<D, d, R, r, rC>(ThisType &&source) noexcept

No documentation provided.

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

No documentation provided.

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

No documentation provided.

type Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::ThisType

No documentation provided.

type Dune::GDT::ThreadSafeDefaultLocalFiniteElementFamily::BaseType

No documentation provided.