template<class C>
class Dune::Fufem::Forms::MultipleQuadratureCache< C >
A cache providing multiple versions for different quadrature rules.
- Template Parameters
-
| C | An underlying cache implementation for a single quadrature rule |
This provides multiple versions of C for different quadrature rules. Currently element- and facet-quadrature rules are supported. Element-quadrature rules are identified by a QuadratureRuleKey and facet-quadrature rules are identified by a std::pair of QuadratureRuleKey and and facet index.
The usage pattern of this is as follows: The MultipleQuadratureCache stores a default-constructed prototype instance of C which is available via the multipleQuadratureCache.prototype() method. This prototype should initially be setup with all the needed data. Later on, a cache for a specific QuadratureRule can be obtained using multipleQuadratureCache[key] where the key identifies either an element- or a facet rule. Internally this will copy the prototype and set the QuadratureRule of the new cache to the desired one.