template<template< Dim... > class T, int lower_dim = 0>
class MixedPtr< T, lower_dim >
Definition at line 200 of file mixed.hh.
template<template< Dim... > class T, int lower_dim = 0>
template<Dim dim>
using MixedPtr< T, lower_dim >::TPtr = std::shared_ptr<T<dim>> |
Template to simplify storing and passing tuples of shatred_ptr to instances of dimension parametrized templates. Currently instances for dim = 0,1,2,3 are created. We assume spacedim=3. Usage:
fe_order = 10; auto gauss = MixedPtr<QGauss>(q_order); // template <int dim>=""> class QGauss; auto mapping = MixedSpaceDimPtr<Mapping>(); // template <int dim, int spacedim> class Mapping; ... fe_values = FEValues<dim>(*mapping.get<dim>(), *gauss.get<dim>(), ...)
All parameters of the Mixed<T>(...) constructor are forwarder (by value) to the T(...) constructor for every dimension. Only forwarding by value is supported due to problems with MixedPtr. We are unable to give precedence to the copy constructor over the prefect forwarding constructor MixedPtr(Args&& ...).
Definition at line 218 of file mixed.hh.