Cleanup: move visibility/linkage attributes to the first declaration.

http://reviews.llvm.org/D15404

llvm-svn: 267093
This commit is contained in:
Evgeniy Stepanov 2016-04-22 01:04:55 +00:00
parent 12b87facf4
commit cd31b4348a
11 changed files with 214 additions and 111 deletions

View File

@ -332,7 +332,9 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(float __re = 0.0f, float __im = 0.0f) _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(float __re = 0.0f, float __im = 0.0f)
: __re_(__re), __im_(__im) {} : __re_(__re), __im_(__im) {}
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR complex(const complex<double>& __c); explicit _LIBCPP_CONSTEXPR complex(const complex<double>& __c);
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c); explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR float real() const {return __re_;} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR float real() const {return __re_;}
@ -388,7 +390,9 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(double __re = 0.0, double __im = 0.0) _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(double __re = 0.0, double __im = 0.0)
: __re_(__re), __im_(__im) {} : __re_(__re), __im_(__im) {}
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR complex(const complex<float>& __c); _LIBCPP_CONSTEXPR complex(const complex<float>& __c);
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c); explicit _LIBCPP_CONSTEXPR complex(const complex<long double>& __c);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR double real() const {return __re_;} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR double real() const {return __re_;}
@ -444,7 +448,9 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(long double __re = 0.0L, long double __im = 0.0L) _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR complex(long double __re = 0.0L, long double __im = 0.0L)
: __re_(__re), __im_(__im) {} : __re_(__re), __im_(__im) {}
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR complex(const complex<float>& __c); _LIBCPP_CONSTEXPR complex(const complex<float>& __c);
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR complex(const complex<double>& __c); _LIBCPP_CONSTEXPR complex(const complex<double>& __c);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR long double real() const {return __re_;} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR long double real() const {return __re_;}
@ -490,32 +496,32 @@ public:
} }
}; };
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<float>::complex(const complex<double>& __c) complex<float>::complex(const complex<double>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<float>::complex(const complex<long double>& __c) complex<float>::complex(const complex<long double>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<double>::complex(const complex<float>& __c) complex<double>::complex(const complex<float>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<double>::complex(const complex<long double>& __c) complex<double>::complex(const complex<long double>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<long double>::complex(const complex<float>& __c) complex<long double>::complex(const complex<float>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
complex<long double>::complex(const complex<double>& __c) complex<long double>::complex(const complex<double>& __c)
: __re_(__c.real()), __im_(__c.imag()) {} : __re_(__c.real()), __im_(__c.imag()) {}

View File

@ -113,10 +113,12 @@ class any;
template <class _ValueType> template <class _ValueType>
typename add_pointer<typename add_const<_ValueType>::type>::type typename add_pointer<typename add_const<_ValueType>::type>::type
_LIBCPP_INLINE_VISIBILITY
any_cast(any const *) _NOEXCEPT; any_cast(any const *) _NOEXCEPT;
template <class _ValueType> template <class _ValueType>
typename add_pointer<_ValueType>::type typename add_pointer<_ValueType>::type
_LIBCPP_INLINE_VISIBILITY
any_cast(any *) _NOEXCEPT; any_cast(any *) _NOEXCEPT;
namespace __any_imp namespace __any_imp
@ -185,6 +187,7 @@ public:
class _ValueType class _ValueType
, class = __any_imp::_EnableIfNotAny<_ValueType> , class = __any_imp::_EnableIfNotAny<_ValueType>
> >
_LIBCPP_INLINE_VISIBILITY
any(_ValueType && __value); any(_ValueType && __value);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -212,6 +215,7 @@ public:
class _ValueType class _ValueType
, class = __any_imp::_EnableIfNotAny<_ValueType> , class = __any_imp::_EnableIfNotAny<_ValueType>
> >
_LIBCPP_INLINE_VISIBILITY
any & operator=(_ValueType && __rhs); any & operator=(_ValueType && __rhs);
// 6.3.3 any modifiers // 6.3.3 any modifiers
@ -221,6 +225,7 @@ public:
if (__h) this->__call(_Action::_Destroy); if (__h) this->__call(_Action::_Destroy);
} }
_LIBCPP_INLINE_VISIBILITY
void swap(any & __rhs) _NOEXCEPT; void swap(any & __rhs) _NOEXCEPT;
// 6.3.4 any observers // 6.3.4 any observers
@ -457,7 +462,6 @@ namespace __any_imp
template <class _ValueType, class> template <class _ValueType, class>
_LIBCPP_INLINE_VISIBILITY
any::any(_ValueType && __v) : __h(nullptr) any::any(_ValueType && __v) : __h(nullptr)
{ {
typedef typename decay<_ValueType>::type _Tp; typedef typename decay<_ValueType>::type _Tp;
@ -468,7 +472,6 @@ any::any(_ValueType && __v) : __h(nullptr)
} }
template <class _ValueType, class> template <class _ValueType, class>
_LIBCPP_INLINE_VISIBILITY
any & any::operator=(_ValueType && __v) any & any::operator=(_ValueType && __v)
{ {
typedef typename decay<_ValueType>::type _Tp; typedef typename decay<_ValueType>::type _Tp;
@ -478,7 +481,7 @@ any & any::operator=(_ValueType && __v)
return *this; return *this;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
void any::swap(any & __rhs) _NOEXCEPT void any::swap(any & __rhs) _NOEXCEPT
{ {
if (__h && __rhs.__h) { if (__h && __rhs.__h) {
@ -550,7 +553,7 @@ _ValueType any_cast(any && __v)
} }
template <class _ValueType> template <class _ValueType>
inline _LIBCPP_INLINE_VISIBILITY inline
typename add_pointer<typename add_const<_ValueType>::type>::type typename add_pointer<typename add_const<_ValueType>::type>::type
any_cast(any const * __any) _NOEXCEPT any_cast(any const * __any) _NOEXCEPT
{ {
@ -560,7 +563,6 @@ any_cast(any const * __any) _NOEXCEPT
} }
template <class _ValueType> template <class _ValueType>
_LIBCPP_INLINE_VISIBILITY
typename add_pointer<_ValueType>::type typename add_pointer<_ValueType>::type
any_cast(any * __any) _NOEXCEPT any_cast(any * __any) _NOEXCEPT
{ {

View File

@ -159,9 +159,13 @@ private:
public: public:
_LIBCPP_INLINE_VISIBILITY
explicit dynarray(size_type __c); explicit dynarray(size_type __c);
_LIBCPP_INLINE_VISIBILITY
dynarray(size_type __c, const value_type& __v); dynarray(size_type __c, const value_type& __v);
_LIBCPP_INLINE_VISIBILITY
dynarray(const dynarray& __d); dynarray(const dynarray& __d);
_LIBCPP_INLINE_VISIBILITY
dynarray(initializer_list<value_type>); dynarray(initializer_list<value_type>);
// We're not implementing these right now. // We're not implementing these right now.
@ -176,6 +180,7 @@ public:
// dynarray(allocator_arg_t, const _Alloc& __alloc, initializer_list<value_type>); // dynarray(allocator_arg_t, const _Alloc& __alloc, initializer_list<value_type>);
dynarray& operator=(const dynarray&) = delete; dynarray& operator=(const dynarray&) = delete;
_LIBCPP_INLINE_VISIBILITY
~dynarray(); ~dynarray();
// iterators: // iterators:
@ -219,7 +224,7 @@ public:
}; };
template <class _Tp> template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
dynarray<_Tp>::dynarray(size_type __c) : dynarray () dynarray<_Tp>::dynarray(size_type __c) : dynarray ()
{ {
__base_ = __allocate (__c); __base_ = __allocate (__c);
@ -229,7 +234,7 @@ dynarray<_Tp>::dynarray(size_type __c) : dynarray ()
} }
template <class _Tp> template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
dynarray<_Tp>::dynarray(size_type __c, const value_type& __v) : dynarray () dynarray<_Tp>::dynarray(size_type __c, const value_type& __v) : dynarray ()
{ {
__base_ = __allocate (__c); __base_ = __allocate (__c);
@ -239,7 +244,7 @@ dynarray<_Tp>::dynarray(size_type __c, const value_type& __v) : dynarray ()
} }
template <class _Tp> template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
dynarray<_Tp>::dynarray(initializer_list<value_type> __il) : dynarray () dynarray<_Tp>::dynarray(initializer_list<value_type> __il) : dynarray ()
{ {
size_t sz = __il.size(); size_t sz = __il.size();
@ -251,7 +256,7 @@ dynarray<_Tp>::dynarray(initializer_list<value_type> __il) : dynarray ()
} }
template <class _Tp> template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
dynarray<_Tp>::dynarray(const dynarray& __d) : dynarray () dynarray<_Tp>::dynarray(const dynarray& __d) : dynarray ()
{ {
size_t sz = __d.size(); size_t sz = __d.size();
@ -263,7 +268,7 @@ dynarray<_Tp>::dynarray(const dynarray& __d) : dynarray ()
} }
template <class _Tp> template <class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
dynarray<_Tp>::~dynarray() dynarray<_Tp>::~dynarray()
{ {
value_type *__data = data () + __size_; value_type *__data = data () + __size_;

View File

@ -549,6 +549,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;} iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;}
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -674,7 +675,7 @@ hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(const key_type& __k)
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, hash_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)
@ -820,6 +821,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
iterator insert(const_iterator, const value_type& __x) {return insert(__x);} iterator insert(const_iterator, const value_type& __x) {return insert(__x);}
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -927,7 +929,7 @@ hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::hash_multimap(
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)

View File

@ -282,6 +282,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;} iterator insert(const_iterator, const value_type& __x) {return insert(__x).first;}
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -385,7 +386,7 @@ hash_set<_Value, _Hash, _Pred, _Alloc>::hash_set(
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
hash_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, hash_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)
@ -502,6 +503,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
iterator insert(const_iterator, const value_type& __x) {return insert(__x);} iterator insert(const_iterator, const value_type& __x) {return insert(__x);}
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -606,7 +608,7 @@ hash_multiset<_Value, _Hash, _Pred, _Alloc>::hash_multiset(
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
hash_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, hash_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)

View File

@ -480,8 +480,10 @@ protected:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
public: public:
_LIBCPP_INLINE_VISIBILITY
__forward_list_base(__forward_list_base&& __x) __forward_list_base(__forward_list_base&& __x)
_NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value); _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value);
_LIBCPP_INLINE_VISIBILITY
__forward_list_base(__forward_list_base&& __x, const allocator_type& __a); __forward_list_base(__forward_list_base&& __x, const allocator_type& __a);
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
@ -506,6 +508,7 @@ protected:
__node_traits::propagate_on_container_move_assignment::value>());} __node_traits::propagate_on_container_move_assignment::value>());}
public: public:
_LIBCPP_INLINE_VISIBILITY
void swap(__forward_list_base& __x) void swap(__forward_list_base& __x)
#if _LIBCPP_STD_VER >= 14 #if _LIBCPP_STD_VER >= 14
_NOEXCEPT; _NOEXCEPT;
@ -539,7 +542,7 @@ private:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x) __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x)
_NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value) _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value)
: __before_begin_(_VSTD::move(__x.__before_begin_)) : __before_begin_(_VSTD::move(__x.__before_begin_))
@ -548,7 +551,7 @@ __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x, __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x,
const allocator_type& __a) const allocator_type& __a)
: __before_begin_(__begin_node(), __node_allocator(__a)) : __before_begin_(__begin_node(), __node_allocator(__a))
@ -569,7 +572,7 @@ __forward_list_base<_Tp, _Alloc>::~__forward_list_base()
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__forward_list_base<_Tp, _Alloc>::swap(__forward_list_base& __x) __forward_list_base<_Tp, _Alloc>::swap(__forward_list_base& __x)
#if _LIBCPP_STD_VER >= 14 #if _LIBCPP_STD_VER >= 14
@ -632,6 +635,7 @@ public:
forward_list() forward_list()
_NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value) _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
{} // = default; {} // = default;
_LIBCPP_INLINE_VISIBILITY
explicit forward_list(const allocator_type& __a); explicit forward_list(const allocator_type& __a);
explicit forward_list(size_type __n); explicit forward_list(size_type __n);
#if _LIBCPP_STD_VER > 11 #if _LIBCPP_STD_VER > 11
@ -668,12 +672,14 @@ public:
forward_list& operator=(const forward_list& __x); forward_list& operator=(const forward_list& __x);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
forward_list& operator=(forward_list&& __x) forward_list& operator=(forward_list&& __x)
_NOEXCEPT_( _NOEXCEPT_(
__node_traits::propagate_on_container_move_assignment::value && __node_traits::propagate_on_container_move_assignment::value &&
is_nothrow_move_assignable<allocator_type>::value); is_nothrow_move_assignable<allocator_type>::value);
#endif #endif
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
forward_list& operator=(initializer_list<value_type> __il); forward_list& operator=(initializer_list<value_type> __il);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -686,6 +692,7 @@ public:
assign(_InputIterator __f, _InputIterator __l); assign(_InputIterator __f, _InputIterator __l);
void assign(size_type __n, const value_type& __v); void assign(size_type __n, const value_type& __v);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
void assign(initializer_list<value_type> __il); void assign(initializer_list<value_type> __il);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -816,7 +823,7 @@ public:
template <class _Compare> void merge(forward_list& __x, _Compare __comp); template <class _Compare> void merge(forward_list& __x, _Compare __comp);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
void sort() {sort(__less<value_type>());} void sort() {sort(__less<value_type>());}
template <class _Compare> void sort(_Compare __comp); template <class _Compare> _LIBCPP_INLINE_VISIBILITY void sort(_Compare __comp);
void reverse() _NOEXCEPT; void reverse() _NOEXCEPT;
private: private:
@ -839,7 +846,7 @@ private:
}; };
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
forward_list<_Tp, _Alloc>::forward_list(const allocator_type& __a) forward_list<_Tp, _Alloc>::forward_list(const allocator_type& __a)
: base(__a) : base(__a)
{ {
@ -1013,7 +1020,7 @@ forward_list<_Tp, _Alloc>::__move_assign(forward_list& __x, false_type)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
forward_list<_Tp, _Alloc>& forward_list<_Tp, _Alloc>&
forward_list<_Tp, _Alloc>::operator=(forward_list&& __x) forward_list<_Tp, _Alloc>::operator=(forward_list&& __x)
_NOEXCEPT_( _NOEXCEPT_(
@ -1030,7 +1037,7 @@ forward_list<_Tp, _Alloc>::operator=(forward_list&& __x)
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
forward_list<_Tp, _Alloc>& forward_list<_Tp, _Alloc>&
forward_list<_Tp, _Alloc>::operator=(initializer_list<value_type> __il) forward_list<_Tp, _Alloc>::operator=(initializer_list<value_type> __il)
{ {
@ -1078,7 +1085,7 @@ forward_list<_Tp, _Alloc>::assign(size_type __n, const value_type& __v)
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
forward_list<_Tp, _Alloc>::assign(initializer_list<value_type> __il) forward_list<_Tp, _Alloc>::assign(initializer_list<value_type> __il)
{ {
@ -1602,7 +1609,7 @@ forward_list<_Tp, _Alloc>::__merge(__node_pointer __f1, __node_pointer __f2,
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
template <class _Compare> template <class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
forward_list<_Tp, _Alloc>::sort(_Compare __comp) forward_list<_Tp, _Alloc>::sort(_Compare __comp)
{ {

View File

@ -200,14 +200,17 @@ public:
// 27.9.1.3 Assign/swap: // 27.9.1.3 Assign/swap:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_filebuf& operator=(basic_filebuf&& __rhs); basic_filebuf& operator=(basic_filebuf&& __rhs);
#endif #endif
void swap(basic_filebuf& __rhs); void swap(basic_filebuf& __rhs);
// 27.9.1.4 Members: // 27.9.1.4 Members:
_LIBCPP_INLINE_VISIBILITY
bool is_open() const; bool is_open() const;
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
basic_filebuf* open(const char* __s, ios_base::openmode __mode); basic_filebuf* open(const char* __s, ios_base::openmode __mode);
_LIBCPP_INLINE_VISIBILITY
basic_filebuf* open(const string& __s, ios_base::openmode __mode); basic_filebuf* open(const string& __s, ios_base::openmode __mode);
#endif #endif
basic_filebuf* close(); basic_filebuf* close();
@ -340,7 +343,7 @@ basic_filebuf<_CharT, _Traits>::basic_filebuf(basic_filebuf&& __rhs)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_filebuf<_CharT, _Traits>& basic_filebuf<_CharT, _Traits>&
basic_filebuf<_CharT, _Traits>::operator=(basic_filebuf&& __rhs) basic_filebuf<_CharT, _Traits>::operator=(basic_filebuf&& __rhs)
{ {
@ -458,7 +461,7 @@ swap(basic_filebuf<_CharT, _Traits>& __x, basic_filebuf<_CharT, _Traits>& __y)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
basic_filebuf<_CharT, _Traits>::is_open() const basic_filebuf<_CharT, _Traits>::is_open() const
{ {
@ -547,7 +550,7 @@ basic_filebuf<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>*
basic_filebuf<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode) basic_filebuf<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode)
{ {
@ -1008,26 +1011,35 @@ public:
typedef typename traits_type::pos_type pos_type; typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type; typedef typename traits_type::off_type off_type;
_LIBCPP_INLINE_VISIBILITY
basic_ifstream(); basic_ifstream();
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
_LIBCPP_INLINE_VISIBILITY
explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in); explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in);
_LIBCPP_INLINE_VISIBILITY
explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in); explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
#endif #endif
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_ifstream(basic_ifstream&& __rhs); basic_ifstream(basic_ifstream&& __rhs);
#endif #endif
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_ifstream& operator=(basic_ifstream&& __rhs); basic_ifstream& operator=(basic_ifstream&& __rhs);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void swap(basic_ifstream& __rhs); void swap(basic_ifstream& __rhs);
_LIBCPP_INLINE_VISIBILITY
basic_filebuf<char_type, traits_type>* rdbuf() const; basic_filebuf<char_type, traits_type>* rdbuf() const;
_LIBCPP_INLINE_VISIBILITY
bool is_open() const; bool is_open() const;
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
void open(const char* __s, ios_base::openmode __mode = ios_base::in); void open(const char* __s, ios_base::openmode __mode = ios_base::in);
void open(const string& __s, ios_base::openmode __mode = ios_base::in); void open(const string& __s, ios_base::openmode __mode = ios_base::in);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void close(); void close();
private: private:
@ -1035,7 +1047,7 @@ private:
}; };
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ifstream<_CharT, _Traits>::basic_ifstream() basic_ifstream<_CharT, _Traits>::basic_ifstream()
: basic_istream<char_type, traits_type>(&__sb_) : basic_istream<char_type, traits_type>(&__sb_)
{ {
@ -1043,7 +1055,7 @@ basic_ifstream<_CharT, _Traits>::basic_ifstream()
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ifstream<_CharT, _Traits>::basic_ifstream(const char* __s, ios_base::openmode __mode) basic_ifstream<_CharT, _Traits>::basic_ifstream(const char* __s, ios_base::openmode __mode)
: basic_istream<char_type, traits_type>(&__sb_) : basic_istream<char_type, traits_type>(&__sb_)
{ {
@ -1052,7 +1064,7 @@ basic_ifstream<_CharT, _Traits>::basic_ifstream(const char* __s, ios_base::openm
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ifstream<_CharT, _Traits>::basic_ifstream(const string& __s, ios_base::openmode __mode) basic_ifstream<_CharT, _Traits>::basic_ifstream(const string& __s, ios_base::openmode __mode)
: basic_istream<char_type, traits_type>(&__sb_) : basic_istream<char_type, traits_type>(&__sb_)
{ {
@ -1064,7 +1076,7 @@ basic_ifstream<_CharT, _Traits>::basic_ifstream(const string& __s, ios_base::ope
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ifstream<_CharT, _Traits>::basic_ifstream(basic_ifstream&& __rhs) basic_ifstream<_CharT, _Traits>::basic_ifstream(basic_ifstream&& __rhs)
: basic_istream<char_type, traits_type>(_VSTD::move(__rhs)), : basic_istream<char_type, traits_type>(_VSTD::move(__rhs)),
__sb_(_VSTD::move(__rhs.__sb_)) __sb_(_VSTD::move(__rhs.__sb_))
@ -1073,7 +1085,7 @@ basic_ifstream<_CharT, _Traits>::basic_ifstream(basic_ifstream&& __rhs)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ifstream<_CharT, _Traits>& basic_ifstream<_CharT, _Traits>&
basic_ifstream<_CharT, _Traits>::operator=(basic_ifstream&& __rhs) basic_ifstream<_CharT, _Traits>::operator=(basic_ifstream&& __rhs)
{ {
@ -1085,7 +1097,7 @@ basic_ifstream<_CharT, _Traits>::operator=(basic_ifstream&& __rhs)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_ifstream<_CharT, _Traits>::swap(basic_ifstream& __rhs) basic_ifstream<_CharT, _Traits>::swap(basic_ifstream& __rhs)
{ {
@ -1102,7 +1114,7 @@ swap(basic_ifstream<_CharT, _Traits>& __x, basic_ifstream<_CharT, _Traits>& __y)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>*
basic_ifstream<_CharT, _Traits>::rdbuf() const basic_ifstream<_CharT, _Traits>::rdbuf() const
{ {
@ -1110,7 +1122,7 @@ basic_ifstream<_CharT, _Traits>::rdbuf() const
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
basic_ifstream<_CharT, _Traits>::is_open() const basic_ifstream<_CharT, _Traits>::is_open() const
{ {
@ -1140,7 +1152,7 @@ basic_ifstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
#endif #endif
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_ifstream<_CharT, _Traits>::close() basic_ifstream<_CharT, _Traits>::close()
{ {
@ -1161,24 +1173,33 @@ public:
typedef typename traits_type::pos_type pos_type; typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type; typedef typename traits_type::off_type off_type;
_LIBCPP_INLINE_VISIBILITY
basic_ofstream(); basic_ofstream();
_LIBCPP_INLINE_VISIBILITY
explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out); explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out);
_LIBCPP_INLINE_VISIBILITY
explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out); explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_ofstream(basic_ofstream&& __rhs); basic_ofstream(basic_ofstream&& __rhs);
#endif #endif
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_ofstream& operator=(basic_ofstream&& __rhs); basic_ofstream& operator=(basic_ofstream&& __rhs);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void swap(basic_ofstream& __rhs); void swap(basic_ofstream& __rhs);
_LIBCPP_INLINE_VISIBILITY
basic_filebuf<char_type, traits_type>* rdbuf() const; basic_filebuf<char_type, traits_type>* rdbuf() const;
_LIBCPP_INLINE_VISIBILITY
bool is_open() const; bool is_open() const;
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
void open(const char* __s, ios_base::openmode __mode = ios_base::out); void open(const char* __s, ios_base::openmode __mode = ios_base::out);
void open(const string& __s, ios_base::openmode __mode = ios_base::out); void open(const string& __s, ios_base::openmode __mode = ios_base::out);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void close(); void close();
private: private:
@ -1186,7 +1207,7 @@ private:
}; };
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ofstream<_CharT, _Traits>::basic_ofstream() basic_ofstream<_CharT, _Traits>::basic_ofstream()
: basic_ostream<char_type, traits_type>(&__sb_) : basic_ostream<char_type, traits_type>(&__sb_)
{ {
@ -1194,7 +1215,7 @@ basic_ofstream<_CharT, _Traits>::basic_ofstream()
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ofstream<_CharT, _Traits>::basic_ofstream(const char* __s, ios_base::openmode __mode) basic_ofstream<_CharT, _Traits>::basic_ofstream(const char* __s, ios_base::openmode __mode)
: basic_ostream<char_type, traits_type>(&__sb_) : basic_ostream<char_type, traits_type>(&__sb_)
{ {
@ -1203,7 +1224,7 @@ basic_ofstream<_CharT, _Traits>::basic_ofstream(const char* __s, ios_base::openm
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ofstream<_CharT, _Traits>::basic_ofstream(const string& __s, ios_base::openmode __mode) basic_ofstream<_CharT, _Traits>::basic_ofstream(const string& __s, ios_base::openmode __mode)
: basic_ostream<char_type, traits_type>(&__sb_) : basic_ostream<char_type, traits_type>(&__sb_)
{ {
@ -1215,7 +1236,7 @@ basic_ofstream<_CharT, _Traits>::basic_ofstream(const string& __s, ios_base::ope
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ofstream<_CharT, _Traits>::basic_ofstream(basic_ofstream&& __rhs) basic_ofstream<_CharT, _Traits>::basic_ofstream(basic_ofstream&& __rhs)
: basic_ostream<char_type, traits_type>(_VSTD::move(__rhs)), : basic_ostream<char_type, traits_type>(_VSTD::move(__rhs)),
__sb_(_VSTD::move(__rhs.__sb_)) __sb_(_VSTD::move(__rhs.__sb_))
@ -1224,7 +1245,7 @@ basic_ofstream<_CharT, _Traits>::basic_ofstream(basic_ofstream&& __rhs)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_ofstream<_CharT, _Traits>& basic_ofstream<_CharT, _Traits>&
basic_ofstream<_CharT, _Traits>::operator=(basic_ofstream&& __rhs) basic_ofstream<_CharT, _Traits>::operator=(basic_ofstream&& __rhs)
{ {
@ -1236,7 +1257,7 @@ basic_ofstream<_CharT, _Traits>::operator=(basic_ofstream&& __rhs)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_ofstream<_CharT, _Traits>::swap(basic_ofstream& __rhs) basic_ofstream<_CharT, _Traits>::swap(basic_ofstream& __rhs)
{ {
@ -1253,7 +1274,7 @@ swap(basic_ofstream<_CharT, _Traits>& __x, basic_ofstream<_CharT, _Traits>& __y)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>*
basic_ofstream<_CharT, _Traits>::rdbuf() const basic_ofstream<_CharT, _Traits>::rdbuf() const
{ {
@ -1261,7 +1282,7 @@ basic_ofstream<_CharT, _Traits>::rdbuf() const
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
basic_ofstream<_CharT, _Traits>::is_open() const basic_ofstream<_CharT, _Traits>::is_open() const
{ {
@ -1291,7 +1312,7 @@ basic_ofstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
#endif #endif
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_ofstream<_CharT, _Traits>::close() basic_ofstream<_CharT, _Traits>::close()
{ {
@ -1312,26 +1333,35 @@ public:
typedef typename traits_type::pos_type pos_type; typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type; typedef typename traits_type::off_type off_type;
_LIBCPP_INLINE_VISIBILITY
basic_fstream(); basic_fstream();
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
_LIBCPP_INLINE_VISIBILITY
explicit basic_fstream(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out); explicit basic_fstream(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
_LIBCPP_INLINE_VISIBILITY
explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out); explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
#endif #endif
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_fstream(basic_fstream&& __rhs); basic_fstream(basic_fstream&& __rhs);
#endif #endif
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
basic_fstream& operator=(basic_fstream&& __rhs); basic_fstream& operator=(basic_fstream&& __rhs);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void swap(basic_fstream& __rhs); void swap(basic_fstream& __rhs);
_LIBCPP_INLINE_VISIBILITY
basic_filebuf<char_type, traits_type>* rdbuf() const; basic_filebuf<char_type, traits_type>* rdbuf() const;
_LIBCPP_INLINE_VISIBILITY
bool is_open() const; bool is_open() const;
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out); void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out); void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void close(); void close();
private: private:
@ -1339,7 +1369,7 @@ private:
}; };
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_fstream<_CharT, _Traits>::basic_fstream() basic_fstream<_CharT, _Traits>::basic_fstream()
: basic_iostream<char_type, traits_type>(&__sb_) : basic_iostream<char_type, traits_type>(&__sb_)
{ {
@ -1347,7 +1377,7 @@ basic_fstream<_CharT, _Traits>::basic_fstream()
#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE #ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_fstream<_CharT, _Traits>::basic_fstream(const char* __s, ios_base::openmode __mode) basic_fstream<_CharT, _Traits>::basic_fstream(const char* __s, ios_base::openmode __mode)
: basic_iostream<char_type, traits_type>(&__sb_) : basic_iostream<char_type, traits_type>(&__sb_)
{ {
@ -1356,7 +1386,7 @@ basic_fstream<_CharT, _Traits>::basic_fstream(const char* __s, ios_base::openmod
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_fstream<_CharT, _Traits>::basic_fstream(const string& __s, ios_base::openmode __mode) basic_fstream<_CharT, _Traits>::basic_fstream(const string& __s, ios_base::openmode __mode)
: basic_iostream<char_type, traits_type>(&__sb_) : basic_iostream<char_type, traits_type>(&__sb_)
{ {
@ -1368,7 +1398,7 @@ basic_fstream<_CharT, _Traits>::basic_fstream(const string& __s, ios_base::openm
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_fstream<_CharT, _Traits>::basic_fstream(basic_fstream&& __rhs) basic_fstream<_CharT, _Traits>::basic_fstream(basic_fstream&& __rhs)
: basic_iostream<char_type, traits_type>(_VSTD::move(__rhs)), : basic_iostream<char_type, traits_type>(_VSTD::move(__rhs)),
__sb_(_VSTD::move(__rhs.__sb_)) __sb_(_VSTD::move(__rhs.__sb_))
@ -1377,7 +1407,7 @@ basic_fstream<_CharT, _Traits>::basic_fstream(basic_fstream&& __rhs)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_fstream<_CharT, _Traits>& basic_fstream<_CharT, _Traits>&
basic_fstream<_CharT, _Traits>::operator=(basic_fstream&& __rhs) basic_fstream<_CharT, _Traits>::operator=(basic_fstream&& __rhs)
{ {
@ -1389,7 +1419,7 @@ basic_fstream<_CharT, _Traits>::operator=(basic_fstream&& __rhs)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_fstream<_CharT, _Traits>::swap(basic_fstream& __rhs) basic_fstream<_CharT, _Traits>::swap(basic_fstream& __rhs)
{ {
@ -1406,7 +1436,7 @@ swap(basic_fstream<_CharT, _Traits>& __x, basic_fstream<_CharT, _Traits>& __y)
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>*
basic_fstream<_CharT, _Traits>::rdbuf() const basic_fstream<_CharT, _Traits>::rdbuf() const
{ {
@ -1414,7 +1444,7 @@ basic_fstream<_CharT, _Traits>::rdbuf() const
} }
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
basic_fstream<_CharT, _Traits>::is_open() const basic_fstream<_CharT, _Traits>::is_open() const
{ {
@ -1444,7 +1474,7 @@ basic_fstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mod
#endif #endif
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
basic_fstream<_CharT, _Traits>::close() basic_fstream<_CharT, _Traits>::close()
{ {

View File

@ -570,10 +570,13 @@ protected:
const __node_allocator& __node_alloc() const _NOEXCEPT const __node_allocator& __node_alloc() const _NOEXCEPT
{return __size_alloc_.second();} {return __size_alloc_.second();}
_LIBCPP_INLINE_VISIBILITY
static void __unlink_nodes(__link_pointer __f, __link_pointer __l) _NOEXCEPT; static void __unlink_nodes(__link_pointer __f, __link_pointer __l) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
__list_imp() __list_imp()
_NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value); _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value);
_LIBCPP_INLINE_VISIBILITY
__list_imp(const allocator_type& __a); __list_imp(const allocator_type& __a);
~__list_imp(); ~__list_imp();
void clear() _NOEXCEPT; void clear() _NOEXCEPT;
@ -666,7 +669,7 @@ private:
// Unlink nodes [__f, __l] // Unlink nodes [__f, __l]
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__list_imp<_Tp, _Alloc>::__unlink_nodes(__link_pointer __f, __link_pointer __l) __list_imp<_Tp, _Alloc>::__unlink_nodes(__link_pointer __f, __link_pointer __l)
_NOEXCEPT _NOEXCEPT
@ -676,7 +679,7 @@ __list_imp<_Tp, _Alloc>::__unlink_nodes(__link_pointer __f, __link_pointer __l)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__list_imp<_Tp, _Alloc>::__list_imp() __list_imp<_Tp, _Alloc>::__list_imp()
_NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value) _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value)
: __size_alloc_(0) : __size_alloc_(0)
@ -684,7 +687,7 @@ __list_imp<_Tp, _Alloc>::__list_imp()
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__list_imp<_Tp, _Alloc>::__list_imp(const allocator_type& __a) __list_imp<_Tp, _Alloc>::__list_imp(const allocator_type& __a)
: __size_alloc_(0, __node_allocator(__a)) : __size_alloc_(0, __node_allocator(__a))
{ {
@ -858,15 +861,19 @@ public:
list(const list& __c); list(const list& __c);
list(const list& __c, const allocator_type& __a); list(const list& __c, const allocator_type& __a);
_LIBCPP_INLINE_VISIBILITY
list& operator=(const list& __c); list& operator=(const list& __c);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
list(initializer_list<value_type> __il); list(initializer_list<value_type> __il);
list(initializer_list<value_type> __il, const allocator_type& __a); list(initializer_list<value_type> __il, const allocator_type& __a);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
list(list&& __c) list(list&& __c)
_NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value); _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value);
_LIBCPP_INLINE_VISIBILITY
list(list&& __c, const allocator_type& __a); list(list&& __c, const allocator_type& __a);
_LIBCPP_INLINE_VISIBILITY
list& operator=(list&& __c) list& operator=(list&& __c)
_NOEXCEPT_( _NOEXCEPT_(
__node_alloc_traits::propagate_on_container_move_assignment::value && __node_alloc_traits::propagate_on_container_move_assignment::value &&
@ -888,6 +895,7 @@ public:
{assign(__il.begin(), __il.end());} {assign(__il.begin(), __il.end());}
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
allocator_type get_allocator() const _NOEXCEPT; allocator_type get_allocator() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -1024,9 +1032,11 @@ public:
void remove(const value_type& __x); void remove(const value_type& __x);
template <class _Pred> void remove_if(_Pred __pred); template <class _Pred> void remove_if(_Pred __pred);
_LIBCPP_INLINE_VISIBILITY
void unique(); void unique();
template <class _BinaryPred> template <class _BinaryPred>
void unique(_BinaryPred __binary_pred); void unique(_BinaryPred __binary_pred);
_LIBCPP_INLINE_VISIBILITY
void merge(list& __c); void merge(list& __c);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -1039,8 +1049,10 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
void merge(list&& __c, _Comp __comp) {merge(__c, __comp);} void merge(list&& __c, _Comp __comp) {merge(__c, __comp);}
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
void sort(); void sort();
template <class _Comp> template <class _Comp>
_LIBCPP_INLINE_VISIBILITY
void sort(_Comp __comp); void sort(_Comp __comp);
void reverse() _NOEXCEPT; void reverse() _NOEXCEPT;
@ -1057,8 +1069,11 @@ public:
#endif // _LIBCPP_DEBUG_LEVEL >= 2 #endif // _LIBCPP_DEBUG_LEVEL >= 2
private: private:
_LIBCPP_INLINE_VISIBILITY
static void __link_nodes (__link_pointer __p, __link_pointer __f, __link_pointer __l); static void __link_nodes (__link_pointer __p, __link_pointer __f, __link_pointer __l);
_LIBCPP_INLINE_VISIBILITY
void __link_nodes_at_front(__link_pointer __f, __link_pointer __l); void __link_nodes_at_front(__link_pointer __f, __link_pointer __l);
_LIBCPP_INLINE_VISIBILITY
void __link_nodes_at_back (__link_pointer __f, __link_pointer __l); void __link_nodes_at_back (__link_pointer __f, __link_pointer __l);
iterator __iterator(size_type __n); iterator __iterator(size_type __n);
template <class _Comp> template <class _Comp>
@ -1071,7 +1086,7 @@ private:
// Link in nodes [__f, __l] just prior to __p // Link in nodes [__f, __l] just prior to __p
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::__link_nodes(__link_pointer __p, __link_pointer __f, __link_pointer __l) list<_Tp, _Alloc>::__link_nodes(__link_pointer __p, __link_pointer __f, __link_pointer __l)
{ {
@ -1083,7 +1098,7 @@ list<_Tp, _Alloc>::__link_nodes(__link_pointer __p, __link_pointer __f, __link_p
// Link in nodes [__f, __l] at the front of the list // Link in nodes [__f, __l] at the front of the list
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::__link_nodes_at_front(__link_pointer __f, __link_pointer __l) list<_Tp, _Alloc>::__link_nodes_at_front(__link_pointer __f, __link_pointer __l)
{ {
@ -1095,7 +1110,7 @@ list<_Tp, _Alloc>::__link_nodes_at_front(__link_pointer __f, __link_pointer __l)
// Link in nodes [__f, __l] at the front of the list // Link in nodes [__f, __l] at the front of the list
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::__link_nodes_at_back(__link_pointer __f, __link_pointer __l) list<_Tp, _Alloc>::__link_nodes_at_back(__link_pointer __f, __link_pointer __l)
{ {
@ -1107,7 +1122,7 @@ list<_Tp, _Alloc>::__link_nodes_at_back(__link_pointer __f, __link_pointer __l)
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename list<_Tp, _Alloc>::iterator typename list<_Tp, _Alloc>::iterator
list<_Tp, _Alloc>::__iterator(size_type __n) list<_Tp, _Alloc>::__iterator(size_type __n)
{ {
@ -1243,7 +1258,7 @@ list<_Tp, _Alloc>::list(initializer_list<value_type> __il)
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
list<_Tp, _Alloc>& list<_Tp, _Alloc>&
list<_Tp, _Alloc>::operator=(const list& __c) list<_Tp, _Alloc>::operator=(const list& __c)
{ {
@ -1258,7 +1273,7 @@ list<_Tp, _Alloc>::operator=(const list& __c)
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
list<_Tp, _Alloc>::list(list&& __c) list<_Tp, _Alloc>::list(list&& __c)
_NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value) _NOEXCEPT_(is_nothrow_move_constructible<__node_allocator>::value)
: base(allocator_type(_VSTD::move(__c.__node_alloc()))) : base(allocator_type(_VSTD::move(__c.__node_alloc())))
@ -1270,7 +1285,7 @@ list<_Tp, _Alloc>::list(list&& __c)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
list<_Tp, _Alloc>::list(list&& __c, const allocator_type& __a) list<_Tp, _Alloc>::list(list&& __c, const allocator_type& __a)
: base(__a) : base(__a)
{ {
@ -1287,7 +1302,7 @@ list<_Tp, _Alloc>::list(list&& __c, const allocator_type& __a)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
list<_Tp, _Alloc>& list<_Tp, _Alloc>&
list<_Tp, _Alloc>::operator=(list&& __c) list<_Tp, _Alloc>::operator=(list&& __c)
_NOEXCEPT_( _NOEXCEPT_(
@ -1355,7 +1370,7 @@ list<_Tp, _Alloc>::assign(size_type __n, const value_type& __x)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
_Alloc _Alloc
list<_Tp, _Alloc>::get_allocator() const _NOEXCEPT list<_Tp, _Alloc>::get_allocator() const _NOEXCEPT
{ {
@ -2108,7 +2123,7 @@ list<_Tp, _Alloc>::remove_if(_Pred __pred)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::unique() list<_Tp, _Alloc>::unique()
{ {
@ -2131,7 +2146,7 @@ list<_Tp, _Alloc>::unique(_BinaryPred __binary_pred)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::merge(list& __c) list<_Tp, _Alloc>::merge(list& __c)
{ {
@ -2193,7 +2208,7 @@ list<_Tp, _Alloc>::merge(list& __c, _Comp __comp)
} }
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::sort() list<_Tp, _Alloc>::sort()
{ {
@ -2202,7 +2217,7 @@ list<_Tp, _Alloc>::sort()
template <class _Tp, class _Alloc> template <class _Tp, class _Alloc>
template <class _Comp> template <class _Comp>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
list<_Tp, _Alloc>::sort(_Comp __comp) list<_Tp, _Alloc>::sort(_Comp __comp)
{ {

View File

@ -436,45 +436,56 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
explicit priority_queue(const value_compare& __comp) explicit priority_queue(const value_compare& __comp)
: c(), comp(__comp) {} : c(), comp(__comp) {}
_LIBCPP_INLINE_VISIBILITY
priority_queue(const value_compare& __comp, const container_type& __c); priority_queue(const value_compare& __comp, const container_type& __c);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
explicit priority_queue(const value_compare& __comp, container_type&& __c); explicit priority_queue(const value_compare& __comp, container_type&& __c);
#endif #endif
template <class _InputIter> template <class _InputIter>
_LIBCPP_INLINE_VISIBILITY
priority_queue(_InputIter __f, _InputIter __l, priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp = value_compare()); const value_compare& __comp = value_compare());
template <class _InputIter> template <class _InputIter>
_LIBCPP_INLINE_VISIBILITY
priority_queue(_InputIter __f, _InputIter __l, priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp, const container_type& __c); const value_compare& __comp, const container_type& __c);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _InputIter> template <class _InputIter>
_LIBCPP_INLINE_VISIBILITY
priority_queue(_InputIter __f, _InputIter __l, priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp, container_type&& __c); const value_compare& __comp, container_type&& __c);
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
explicit priority_queue(const _Alloc& __a, explicit priority_queue(const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
priority_queue(const value_compare& __comp, const _Alloc& __a, priority_queue(const value_compare& __comp, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
priority_queue(const value_compare& __comp, const container_type& __c, priority_queue(const value_compare& __comp, const container_type& __c,
const _Alloc& __a, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
priority_queue(const priority_queue& __q, const _Alloc& __a, priority_queue(const priority_queue& __q, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
priority_queue(const value_compare& __comp, container_type&& __c, priority_queue(const value_compare& __comp, container_type&& __c,
const _Alloc& __a, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
template <class _Alloc> template <class _Alloc>
_LIBCPP_INLINE_VISIBILITY
priority_queue(priority_queue&& __q, const _Alloc& __a, priority_queue(priority_queue&& __q, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type* = 0); _Alloc>::value>::type* = 0);
@ -487,22 +498,26 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
const_reference top() const {return c.front();} const_reference top() const {return c.front();}
_LIBCPP_INLINE_VISIBILITY
void push(const value_type& __v); void push(const value_type& __v);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
void push(value_type&& __v); void push(value_type&& __v);
#ifndef _LIBCPP_HAS_NO_VARIADICS #ifndef _LIBCPP_HAS_NO_VARIADICS
template <class... _Args> void emplace(_Args&&... __args); template <class... _Args> _LIBCPP_INLINE_VISIBILITY void emplace(_Args&&... __args);
#endif #endif
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
void pop(); void pop();
_LIBCPP_INLINE_VISIBILITY
void swap(priority_queue& __q) void swap(priority_queue& __q)
_NOEXCEPT_(__is_nothrow_swappable<container_type>::value && _NOEXCEPT_(__is_nothrow_swappable<container_type>::value &&
__is_nothrow_swappable<value_compare>::value); __is_nothrow_swappable<value_compare>::value);
}; };
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare& __comp, priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare& __comp,
const container_type& __c) const container_type& __c)
: c(__c), : c(__c),
@ -514,7 +529,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare& __comp
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp, priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
container_type&& __c) container_type&& __c)
: c(_VSTD::move(__c)), : c(_VSTD::move(__c)),
@ -527,7 +542,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _InputIter> template <class _InputIter>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l, priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp) const value_compare& __comp)
: c(__f, __l), : c(__f, __l),
@ -538,7 +553,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _Input
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _InputIter> template <class _InputIter>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l, priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp, const value_compare& __comp,
const container_type& __c) const container_type& __c)
@ -553,7 +568,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _Input
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _InputIter> template <class _InputIter>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l, priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _InputIter __l,
const value_compare& __comp, const value_compare& __comp,
container_type&& __c) container_type&& __c)
@ -568,7 +583,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(_InputIter __f, _Input
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Alloc& __a, priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
_Alloc>::value>::type*) _Alloc>::value>::type*)
@ -578,7 +593,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Alloc& __a,
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp, priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
const _Alloc& __a, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
@ -590,7 +605,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp, priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
const container_type& __c, const container_type& __c,
const _Alloc& __a, const _Alloc& __a,
@ -604,7 +619,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const priority_queue& __q, priority_queue<_Tp, _Container, _Compare>::priority_queue(const priority_queue& __q,
const _Alloc& __a, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
@ -619,7 +634,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const priority_queue&
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp, priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp,
container_type&& __c, container_type&& __c,
const _Alloc& __a, const _Alloc& __a,
@ -633,7 +648,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class _Alloc> template <class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q, priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q,
const _Alloc& __a, const _Alloc& __a,
typename enable_if<uses_allocator<container_type, typename enable_if<uses_allocator<container_type,
@ -647,7 +662,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q,
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
priority_queue<_Tp, _Container, _Compare>::push(const value_type& __v) priority_queue<_Tp, _Container, _Compare>::push(const value_type& __v)
{ {
@ -658,7 +673,7 @@ priority_queue<_Tp, _Container, _Compare>::push(const value_type& __v)
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
priority_queue<_Tp, _Container, _Compare>::push(value_type&& __v) priority_queue<_Tp, _Container, _Compare>::push(value_type&& __v)
{ {
@ -670,7 +685,7 @@ priority_queue<_Tp, _Container, _Compare>::push(value_type&& __v)
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
template <class... _Args> template <class... _Args>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args) priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args)
{ {
@ -682,7 +697,7 @@ priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
priority_queue<_Tp, _Container, _Compare>::pop() priority_queue<_Tp, _Container, _Compare>::pop()
{ {
@ -691,7 +706,7 @@ priority_queue<_Tp, _Container, _Compare>::pop()
} }
template <class _Tp, class _Container, class _Compare> template <class _Tp, class _Container, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
priority_queue<_Tp, _Container, _Compare>::swap(priority_queue& __q) priority_queue<_Tp, _Container, _Compare>::swap(priority_queue& __q)
_NOEXCEPT_(__is_nothrow_swappable<container_type>::value && _NOEXCEPT_(__is_nothrow_swappable<container_type>::value &&

View File

@ -819,10 +819,12 @@ public:
size_type __n, const hasher& __hf, size_type __n, const hasher& __hf,
const key_equal& __eql, const key_equal& __eql,
const allocator_type& __a); const allocator_type& __a);
_LIBCPP_INLINE_VISIBILITY
explicit unordered_map(const allocator_type& __a); explicit unordered_map(const allocator_type& __a);
unordered_map(const unordered_map& __u); unordered_map(const unordered_map& __u);
unordered_map(const unordered_map& __u, const allocator_type& __a); unordered_map(const unordered_map& __u, const allocator_type& __a);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_map(unordered_map&& __u) unordered_map(unordered_map&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value); _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
unordered_map(unordered_map&& __u, const allocator_type& __a); unordered_map(unordered_map&& __u, const allocator_type& __a);
@ -878,10 +880,12 @@ public:
return *this; return *this;
} }
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_map& operator=(unordered_map&& __u) unordered_map& operator=(unordered_map&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value); _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
#endif #endif
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
unordered_map& operator=(initializer_list<value_type> __il); unordered_map& operator=(initializer_list<value_type> __il);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -923,6 +927,7 @@ public:
} }
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -1189,7 +1194,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
} }
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map( unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
const allocator_type& __a) const allocator_type& __a)
: __table_(__a) : __table_(__a)
@ -1265,7 +1270,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map( unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
unordered_map&& __u) unordered_map&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
@ -1344,7 +1349,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u) unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value) _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
@ -1358,7 +1363,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u)
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>&
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=( unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
initializer_list<value_type> __il) initializer_list<value_type> __il)
@ -1386,7 +1391,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node_with_key(const
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)
@ -1567,10 +1572,12 @@ public:
size_type __n, const hasher& __hf, size_type __n, const hasher& __hf,
const key_equal& __eql, const key_equal& __eql,
const allocator_type& __a); const allocator_type& __a);
_LIBCPP_INLINE_VISIBILITY
explicit unordered_multimap(const allocator_type& __a); explicit unordered_multimap(const allocator_type& __a);
unordered_multimap(const unordered_multimap& __u); unordered_multimap(const unordered_multimap& __u);
unordered_multimap(const unordered_multimap& __u, const allocator_type& __a); unordered_multimap(const unordered_multimap& __u, const allocator_type& __a);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_multimap(unordered_multimap&& __u) unordered_multimap(unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value); _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
unordered_multimap(unordered_multimap&& __u, const allocator_type& __a); unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
@ -1627,10 +1634,12 @@ public:
return *this; return *this;
} }
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_multimap& operator=(unordered_multimap&& __u) unordered_multimap& operator=(unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value); _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
#endif #endif
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
unordered_multimap& operator=(initializer_list<value_type> __il); unordered_multimap& operator=(initializer_list<value_type> __il);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -1666,6 +1675,7 @@ public:
{return __table_.__insert_multi(__p.__i_, __x);} {return __table_.__insert_multi(__p.__i_, __x);}
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -1858,7 +1868,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
} }
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap( unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
const allocator_type& __a) const allocator_type& __a)
: __table_(__a) : __table_(__a)
@ -1895,7 +1905,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap( unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
unordered_multimap&& __u) unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
@ -1976,7 +1986,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multimap&& __u) unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value) _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
@ -1990,7 +2000,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multima
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>&
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=( unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
initializer_list<value_type> __il) initializer_list<value_type> __il)
@ -2005,7 +2015,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc> template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)

View File

@ -404,10 +404,12 @@ public:
size_type __n, const hasher& __hf, const allocator_type& __a) size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_set(__first, __last, __n, __hf, key_equal(), __a) {} : unordered_set(__first, __last, __n, __hf, key_equal(), __a) {}
#endif #endif
_LIBCPP_INLINE_VISIBILITY
explicit unordered_set(const allocator_type& __a); explicit unordered_set(const allocator_type& __a);
unordered_set(const unordered_set& __u); unordered_set(const unordered_set& __u);
unordered_set(const unordered_set& __u, const allocator_type& __a); unordered_set(const unordered_set& __u, const allocator_type& __a);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_set(unordered_set&& __u) unordered_set(unordered_set&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value); _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
unordered_set(unordered_set&& __u, const allocator_type& __a); unordered_set(unordered_set&& __u, const allocator_type& __a);
@ -439,10 +441,12 @@ public:
return *this; return *this;
} }
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_set& operator=(unordered_set&& __u) unordered_set& operator=(unordered_set&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value); _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
#endif #endif
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY
unordered_set& operator=(initializer_list<value_type> __il); unordered_set& operator=(initializer_list<value_type> __il);
#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
@ -527,6 +531,7 @@ public:
#endif #endif
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -678,7 +683,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
} }
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
const allocator_type& __a) const allocator_type& __a)
: __table_(__a) : __table_(__a)
@ -715,7 +720,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set( unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
unordered_set&& __u) unordered_set&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
@ -792,7 +797,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_set<_Value, _Hash, _Pred, _Alloc>& unordered_set<_Value, _Hash, _Pred, _Alloc>&
unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u) unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value) _NOEXCEPT_(is_nothrow_move_assignable<__table>::value)
@ -806,7 +811,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u)
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_set<_Value, _Hash, _Pred, _Alloc>& unordered_set<_Value, _Hash, _Pred, _Alloc>&
unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=( unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(
initializer_list<value_type> __il) initializer_list<value_type> __il)
@ -819,7 +824,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)
@ -940,10 +945,12 @@ public:
size_type __n, const hasher& __hf, const allocator_type& __a) size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multiset(__first, __last, __n, __hf, key_equal(), __a) {} : unordered_multiset(__first, __last, __n, __hf, key_equal(), __a) {}
#endif #endif
_LIBCPP_INLINE_VISIBILITY
explicit unordered_multiset(const allocator_type& __a); explicit unordered_multiset(const allocator_type& __a);
unordered_multiset(const unordered_multiset& __u); unordered_multiset(const unordered_multiset& __u);
unordered_multiset(const unordered_multiset& __u, const allocator_type& __a); unordered_multiset(const unordered_multiset& __u, const allocator_type& __a);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_multiset(unordered_multiset&& __u) unordered_multiset(unordered_multiset&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value); _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
unordered_multiset(unordered_multiset&& __u, const allocator_type& __a); unordered_multiset(unordered_multiset&& __u, const allocator_type& __a);
@ -973,6 +980,7 @@ public:
return *this; return *this;
} }
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
unordered_multiset& operator=(unordered_multiset&& __u) unordered_multiset& operator=(unordered_multiset&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value); _NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
#endif #endif
@ -1029,6 +1037,7 @@ public:
{return __table_.__insert_multi(__p, _VSTD::move(__x));} {return __table_.__insert_multi(__p, _VSTD::move(__x));}
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _InputIterator> template <class _InputIterator>
_LIBCPP_INLINE_VISIBILITY
void insert(_InputIterator __first, _InputIterator __last); void insert(_InputIterator __first, _InputIterator __last);
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -1181,7 +1190,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
} }
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
const allocator_type& __a) const allocator_type& __a)
: __table_(__a) : __table_(__a)
@ -1218,7 +1227,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset( unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
unordered_multiset&& __u) unordered_multiset&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value)
@ -1295,7 +1304,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
unordered_multiset<_Value, _Hash, _Pred, _Alloc>& unordered_multiset<_Value, _Hash, _Pred, _Alloc>&
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=( unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(
unordered_multiset&& __u) unordered_multiset&& __u)
@ -1323,7 +1332,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(
template <class _Value, class _Hash, class _Pred, class _Alloc> template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator> template <class _InputIterator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first, unordered_multiset<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator __first,
_InputIterator __last) _InputIterator __last)