diff --git a/dune/vtk/vtkfunction.hh b/dune/vtk/vtkfunction.hh index d8ce4f9b802d090b1d47bcabbcb334aa1175b583..8fa41f74acfae2efde7b448d731bc779495671c4 100644 --- a/dune/vtk/vtkfunction.hh +++ b/dune/vtk/vtkfunction.hh @@ -16,24 +16,6 @@ namespace Dune template <class T, int N, int M> class FieldMatrix; - namespace Impl - { - template <class T, class = void> - struct SizeImpl - : std::integral_constant<int, 1> {}; - - template <class T, int N> - struct SizeImpl<FieldVector<T,N>> - : std::integral_constant<int, N> {}; - - template <class T, int N, int M> - struct SizeImpl<FieldMatrix<T,N,M>> - : std::integral_constant<int, N*M> {}; - } - - template <class T> - constexpr int sizeOf () { return Impl::SizeImpl<std::decay_t<T>>::value; } - /// Wrapper class for functions allowing local evaluations. template <class GridView> @@ -47,6 +29,22 @@ namespace Dune template <class F> using Range = std::decay_t<decltype(std::declval<F>()(std::declval<Domain>()))>; + private: + + template <class T, int N> + static auto sizeOfImpl (FieldVector<T,N> const&) + -> std::integral_constant<int, N> { return {}; } + + template <class T, int N, int M> + static auto sizeOfImpl (FieldMatrix<T,N,M> const&) + -> std::integral_constant<int, N*M> { return {}; }; + + static auto sizeOfImpl (...) + -> std::integral_constant<int, 1> { return {}; } + + template <class T> + static constexpr int sizeOf () { return decltype(sizeOfImpl(std::declval<T>()))::value; } + public: /// Constructor VtkFunction from legacy VTKFunction /** diff --git a/src/test/mixed_element_test.cc b/src/test/mixed_element_test.cc index 589a105eeb02d13ce548038b31f39a293bb1f82f..0a5b446cb5d5846c3542d26dd3325dc0bc5eb65c 100644 --- a/src/test/mixed_element_test.cc +++ b/src/test/mixed_element_test.cc @@ -13,7 +13,10 @@ #include <dune/common/filledarray.hh> #include <dune/common/test/testsuite.hh> +#if HAVE_UG #include <dune/grid/uggrid.hh> +#endif + #include <dune/grid/yaspgrid.hh> #include <dune/grid/utility/structuredgridfactory.hh> diff --git a/src/test/parallel_reader_writer_test.cc b/src/test/parallel_reader_writer_test.cc index a15261b5cb88ffb614c6f990cd2a0ea989493f29..72dd52bbf4aa832381fa056a4097822424a7add3 100644 --- a/src/test/parallel_reader_writer_test.cc +++ b/src/test/parallel_reader_writer_test.cc @@ -14,7 +14,10 @@ #include <dune/common/std/type_traits.hh> #include <dune/common/test/testsuite.hh> +#if HAVE_UG #include <dune/grid/uggrid.hh> +#endif + #include <dune/grid/yaspgrid.hh> #include <dune/grid/utility/structuredgridfactory.hh> diff --git a/src/test/reader_writer_test.cc b/src/test/reader_writer_test.cc index f0051fc40e5c43cb129bb4b4e88f170e69e9231c..c7edefb7c7baee5c3e46b8fac5b2948590223e49 100644 --- a/src/test/reader_writer_test.cc +++ b/src/test/reader_writer_test.cc @@ -7,13 +7,17 @@ #include <cstring> #include <iostream> +#include <set> #include <vector> #include <dune/common/parallel/mpihelper.hh> // An initializer of MPI #include <dune/common/filledarray.hh> #include <dune/common/test/testsuite.hh> +#if HAVE_UG #include <dune/grid/uggrid.hh> +#endif + #include <dune/grid/yaspgrid.hh> #include <dune/grid/utility/structuredgridfactory.hh>