diff --git a/dune/matrix-vector/traits/utilities.hh b/dune/matrix-vector/traits/utilities.hh index 10b4541946435c1521d736cdc65303c4a5eef6b5..fd489ca03838514f5d1143bdf17253c3e3ee8b5c 100644 --- a/dune/matrix-vector/traits/utilities.hh +++ b/dune/matrix-vector/traits/utilities.hh @@ -17,22 +17,22 @@ namespace MatrixVector { // convenience compile-time functions to classify types template <class T> constexpr auto isNumber() { - return Std::bool_constant<IsNumber<T>::value>(); + return Std::bool_constant<IsNumber<std::decay_t<T>>::value>(); } template <class T> constexpr auto isScalar() { - return Std::bool_constant<Traits::ScalarTraits<T>::isScalar>(); + return Std::bool_constant<Traits::ScalarTraits<std::decay_t<T>>::isScalar>(); } template <class T> constexpr auto isVector() { - return Std::bool_constant<Traits::VectorTraits<T>::isVector>(); + return Std::bool_constant<Traits::VectorTraits<std::decay_t<T>>::isVector>(); } template <class T> constexpr auto isMatrix() { - return Std::bool_constant<Traits::MatrixTraits<T>::isMatrix>(); + return Std::bool_constant<Traits::MatrixTraits<std::decay_t<T>>::isMatrix>(); } template <class T>