Commit 3fd8f4a7 authored by Hans Wennborg's avatar Hans Wennborg
Browse files

Merging r228843:

------------------------------------------------------------------------
r228843 | marshall | 2015-02-11 08:14:01 -0800 (Wed, 11 Feb 2015) | 1 line

Change some template parameter names from _C and _N to _Cont and _Sz. No functionality change.
------------------------------------------------------------------------

llvm-svn: 228882
parent 43f32f99
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
@@ -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(); }