diff --git a/dune/gfe/productmanifold.hh b/dune/gfe/productmanifold.hh index 408b11bbbab648564e54950e3619b7d3402c8afd..52f2a848e8fbed74a6fd376d4c4820f8ee27ab3b 100644 --- a/dune/gfe/productmanifold.hh +++ b/dune/gfe/productmanifold.hh @@ -10,9 +10,14 @@ #include <dune/common/tuplevector.hh> #include <dune/gfe/linearalgebra.hh> +#include <dune/gfe/symmetricmatrix.hh> +#include <dune/gfe/tensor3.hh> namespace Dune::GFE { + template <typename ... TargetSpaces> + class ProductManifold; + namespace Impl { template<typename T, typename ... Ts> @@ -24,9 +29,6 @@ namespace Dune::GFE return T::convexityRadius; } - template <typename TS, typename ... TargetSpaces> - class ProductManifold; - template<class U,typename Tfirst,typename ... TargetSpaces2> struct rebindHelper { diff --git a/test/targetspacetest.cc b/test/targetspacetest.cc index cea7382c03b2361660487a408401ba17e9c755b5..8302b86d9cc924bc883034b51fbb749e25c18edf 100644 --- a/test/targetspacetest.cc +++ b/test/targetspacetest.cc @@ -370,6 +370,11 @@ void test() } + // Test whether we can rebind to another number type + using FTargetSpace = typename TargetSpace::template rebind<float>::other; + + // Can we construct an object of that rebound type? + FTargetSpace fTargetSpace; }