From 44af976a44bc194b985fdb880f99a7feff133b5a Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Thu, 7 Nov 2013 15:49:37 +0700 Subject: Update libcxx to 194185, 2013-11-07. This brings C++14 support. --- system/include/libcxx/deque | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) (limited to 'system/include/libcxx/deque') diff --git a/system/include/libcxx/deque b/system/include/libcxx/deque index 86272721..f099000b 100644 --- a/system/include/libcxx/deque +++ b/system/include/libcxx/deque @@ -41,6 +41,7 @@ public: deque() noexcept(is_nothrow_default_constructible::value); explicit deque(const allocator_type& a); explicit deque(size_type n); + explicit deque(size_type n, const allocator_type& a); // C++14 deque(size_type n, const value_type& v); deque(size_type n, const value_type& v, const allocator_type& a); template @@ -170,7 +171,7 @@ template class __deque_base; template -class _LIBCPP_TYPE_VIS __deque_iterator; +class _LIBCPP_TYPE_VIS_ONLY __deque_iterator; template @@ -262,7 +263,7 @@ move_backward(__deque_iterator<_V1, _P1, _R1, _M1, _D1, _B1> __f, template -class _LIBCPP_TYPE_VIS __deque_iterator +class _LIBCPP_TYPE_VIS_ONLY __deque_iterator { typedef _MapPointer __map_iterator; public: @@ -414,9 +415,9 @@ private: : __m_iter_(__m), __ptr_(__p) {} template friend class __deque_base; - template friend class _LIBCPP_TYPE_VIS deque; + template friend class _LIBCPP_TYPE_VIS_ONLY deque; template - friend class _LIBCPP_TYPE_VIS __deque_iterator; + friend class _LIBCPP_TYPE_VIS_ONLY __deque_iterator; template @@ -1178,7 +1179,7 @@ __deque_base<_Tp, _Allocator>::clear() _NOEXCEPT } template > -class _LIBCPP_TYPE_VIS deque +class _LIBCPP_TYPE_VIS_ONLY deque : private __deque_base<_Tp, _Allocator> { public: @@ -1209,6 +1210,9 @@ public: {} _LIBCPP_INLINE_VISIBILITY deque(const allocator_type& __a) : __base(__a) {} explicit deque(size_type __n); +#if _LIBCPP_STD_VER > 11 + explicit deque(size_type __n, const _Allocator& __a); +#endif deque(size_type __n, const value_type& __v); deque(size_type __n, const value_type& __v, const allocator_type& __a); template @@ -1431,6 +1435,16 @@ deque<_Tp, _Allocator>::deque(size_type __n) __append(__n); } +#if _LIBCPP_STD_VER > 11 +template +deque<_Tp, _Allocator>::deque(size_type __n, const _Allocator& __a) + : __base(__a) +{ + if (__n > 0) + __append(__n); +} +#endif + template deque<_Tp, _Allocator>::deque(size_type __n, const value_type& __v) { @@ -2797,7 +2811,7 @@ deque<_Tp, _Allocator>::clear() _NOEXCEPT } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator==(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2806,7 +2820,7 @@ operator==(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator!=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2814,7 +2828,7 @@ operator!=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator< (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2822,7 +2836,7 @@ operator< (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator> (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2830,7 +2844,7 @@ operator> (const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator>=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2838,7 +2852,7 @@ operator>=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY bool operator<=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) { @@ -2846,7 +2860,7 @@ operator<=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) } template -_LIBCPP_INLINE_VISIBILITY inline +inline _LIBCPP_INLINE_VISIBILITY void swap(deque<_Tp, _Allocator>& __x, deque<_Tp, _Allocator>& __y) _NOEXCEPT_(_NOEXCEPT_(__x.swap(__y))) -- cgit v1.2.3-18-g5258