diff options
Diffstat (limited to 'src/array_view.hh')
| -rw-r--r-- | src/array_view.hh | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/array_view.hh b/src/array_view.hh index 7ee32d12..34bc376e 100644 --- a/src/array_view.hh +++ b/src/array_view.hh @@ -1,7 +1,6 @@ #ifndef array_view_hh_INCLUDED #define array_view_hh_INCLUDED -#include <vector> #include <initializer_list> #include <iterator> @@ -31,10 +30,10 @@ public: template<size_t N> constexpr ArrayView(T(&array)[N]) : m_pointer(array), m_size(N) {} - template<typename Alloc, typename U, - typename = std::enable_if_t<sizeof(U) == sizeof(T)>> - constexpr ArrayView(const std::vector<U, Alloc>& v) - : m_pointer(v.data()), m_size(v.size()) {} + template<typename Container, + typename = std::enable_if_t<sizeof(decltype(*std::declval<Container>().data())) == sizeof(T)>> + constexpr ArrayView(const Container& c) + : m_pointer(c.data()), m_size(c.size()) {} constexpr ArrayView(const std::initializer_list<T>& v) : m_pointer(v.begin()), m_size(v.size()) {} |
