diff --git a/bindings/CXX11/adios2/cxx11/Engine.h b/bindings/CXX11/adios2/cxx11/Engine.h index 5991ef6356..efda5a8cf9 100644 --- a/bindings/CXX11/adios2/cxx11/Engine.h +++ b/bindings/CXX11/adios2/cxx11/Engine.h @@ -27,25 +27,22 @@ namespace detail template using void_t = void; -} +} // end namespace detail template struct ndarray_traits : std::false_type { }; -// disable considering std::vector ndarray-like since it causes ambiguity with -// existing std::vector-based overloads -template -struct ndarray_traits> : std::false_type -{ -}; - template struct ndarray_traits< C, detail::void_t().data()), - decltype(std::declval().size())>> : std::true_type + decltype(std::declval().size()), + // don't match std::vector since it's handled separately + typename std::enable_if>::type>>> +: std::true_type { using value_type = typename C::value_type; using pointer = typename C::pointer;