|
@@ -1580,29 +1580,29 @@ end(const _Cp& __c)
|
|
|
#endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_TRAILING_RETURN)
|
|
|
|
|
|
#if _LIBCPP_STD_VER > 14
|
|
|
-template <class _C>
|
|
|
-constexpr auto size(const _C& __c) -> decltype(__c.size()) { return __c.size(); }
|
|
|
+template <class _Cont>
|
|
|
+constexpr auto size(const _Cont& __c) -> decltype(__c.size()) { return __c.size(); }
|
|
|
|
|
|
-template <class _Tp, size_t _N>
|
|
|
-constexpr size_t size(const _Tp (&__array)[_N]) noexcept { return _N; }
|
|
|
+template <class _Tp, size_t _Sz>
|
|
|
+constexpr size_t size(const _Tp (&__array)[_Sz]) noexcept { return _Sz; }
|
|
|
|
|
|
-template <class _C>
|
|
|
-constexpr auto empty(const _C& __c) -> decltype(__c.empty()) { return __c.empty(); }
|
|
|
+template <class _Cont>
|
|
|
+constexpr auto empty(const _Cont& __c) -> decltype(__c.empty()) { return __c.empty(); }
|
|
|
|
|
|
-template <class _Tp, size_t _N>
|
|
|
-constexpr bool empty(const _Tp (&__array)[_N]) noexcept { return false; }
|
|
|
+template <class _Tp, size_t _Sz>
|
|
|
+constexpr bool empty(const _Tp (&__array)[_Sz]) noexcept { return false; }
|
|
|
|
|
|
template <class _Ep>
|
|
|
constexpr bool empty(initializer_list<_Ep> __il) noexcept { return __il.size() == 0; }
|
|
|
|
|
|
-template <class _C> constexpr
|
|
|
-auto data(_C& __c) -> decltype(__c.data()) { return __c.data(); }
|
|
|
+template <class _Cont> constexpr
|
|
|
+auto data(_Cont& __c) -> decltype(__c.data()) { return __c.data(); }
|
|
|
|
|
|
-template <class _C> constexpr
|
|
|
-auto data(const _C& __c) -> decltype(__c.data()) { return __c.data(); }
|
|
|
+template <class _Cont> constexpr
|
|
|
+auto data(const _Cont& __c) -> decltype(__c.data()) { return __c.data(); }
|
|
|
|
|
|
-template <class _Tp, size_t _N>
|
|
|
-constexpr _Tp* data(_Tp (&__array)[_N]) noexcept { return __array; }
|
|
|
+template <class _Tp, size_t _Sz>
|
|
|
+constexpr _Tp* data(_Tp (&__array)[_Sz]) noexcept { return __array; }
|
|
|
|
|
|
template <class _Ep>
|
|
|
constexpr const _Ep* data(initializer_list<_Ep> __il) noexcept { return __il.begin(); }
|