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

This change moves visibility attributes from out-of-class method
definitions to in-class declaration. This is needed for a switch to
attribute((internal_linkage)) (see http://reviews.llvm.org/D13925)
which can only appear on the first declaration.

This change does not touch istream/ostream/streambuf. They are
handled separately in http://reviews.llvm.org/D14409.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@252385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evgeniy Stepanov 2015-11-07 01:22:13 +00:00
parent 746572b91d
commit a3b25f81d1
15 changed files with 496 additions and 260 deletions

View File

@ -836,6 +836,7 @@ public:
typedef __hash_local_iterator<__node_pointer> local_iterator; typedef __hash_local_iterator<__node_pointer> local_iterator;
typedef __hash_const_local_iterator<__node_pointer> const_local_iterator; typedef __hash_const_local_iterator<__node_pointer> const_local_iterator;
_LIBCPP_INLINE_VISIBILITY
__hash_table() __hash_table()
_NOEXCEPT_( _NOEXCEPT_(
is_nothrow_default_constructible<__bucket_list>::value && is_nothrow_default_constructible<__bucket_list>::value &&
@ -843,6 +844,7 @@ public:
is_nothrow_default_constructible<__node_allocator>::value && is_nothrow_default_constructible<__node_allocator>::value &&
is_nothrow_default_constructible<hasher>::value && is_nothrow_default_constructible<hasher>::value &&
is_nothrow_default_constructible<key_equal>::value); is_nothrow_default_constructible<key_equal>::value);
_LIBCPP_INLINE_VISIBILITY
__hash_table(const hasher& __hf, const key_equal& __eql); __hash_table(const hasher& __hf, const key_equal& __eql);
__hash_table(const hasher& __hf, const key_equal& __eql, __hash_table(const hasher& __hf, const key_equal& __eql,
const allocator_type& __a); const allocator_type& __a);
@ -863,6 +865,7 @@ public:
__hash_table& operator=(const __hash_table& __u); __hash_table& operator=(const __hash_table& __u);
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
__hash_table& operator=(__hash_table&& __u) __hash_table& operator=(__hash_table&& __u)
_NOEXCEPT_( _NOEXCEPT_(
__node_traits::propagate_on_container_move_assignment::value && __node_traits::propagate_on_container_move_assignment::value &&
@ -934,9 +937,13 @@ public:
return __bucket_list_.get_deleter().size(); return __bucket_list_.get_deleter().size();
} }
_LIBCPP_INLINE_VISIBILITY
iterator begin() _NOEXCEPT; iterator begin() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
iterator end() _NOEXCEPT; iterator end() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
const_iterator begin() const _NOEXCEPT; const_iterator begin() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
const_iterator end() const _NOEXCEPT; const_iterator end() const _NOEXCEPT;
template <class _Key> template <class _Key>
@ -965,6 +972,7 @@ public:
__node_holder remove(const_iterator __p) _NOEXCEPT; __node_holder remove(const_iterator __p) _NOEXCEPT;
template <class _Key> template <class _Key>
_LIBCPP_INLINE_VISIBILITY
size_type __count_unique(const _Key& __k) const; size_type __count_unique(const _Key& __k) const;
template <class _Key> template <class _Key>
size_type __count_multi(const _Key& __k) const; size_type __count_multi(const _Key& __k) const;
@ -1130,7 +1138,7 @@ private:
}; };
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table() __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table()
_NOEXCEPT_( _NOEXCEPT_(
is_nothrow_default_constructible<__bucket_list>::value && is_nothrow_default_constructible<__bucket_list>::value &&
@ -1143,7 +1151,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table()
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const hasher& __hf, __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const hasher& __hf,
const key_equal& __eql) const key_equal& __eql)
: __bucket_list_(nullptr, __bucket_list_deleter()), : __bucket_list_(nullptr, __bucket_list_deleter()),
@ -1410,7 +1418,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
__hash_table<_Tp, _Hash, _Equal, _Alloc>& __hash_table<_Tp, _Hash, _Equal, _Alloc>&
__hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(__hash_table&& __u) __hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(__hash_table&& __u)
_NOEXCEPT_( _NOEXCEPT_(
@ -1495,7 +1503,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_multi(_InputIterator __first,
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
__hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() _NOEXCEPT __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() _NOEXCEPT
{ {
@ -1507,7 +1515,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() _NOEXCEPT
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
__hash_table<_Tp, _Hash, _Equal, _Alloc>::end() _NOEXCEPT __hash_table<_Tp, _Hash, _Equal, _Alloc>::end() _NOEXCEPT
{ {
@ -1519,7 +1527,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::end() _NOEXCEPT
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator
__hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() const _NOEXCEPT __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() const _NOEXCEPT
{ {
@ -1531,7 +1539,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() const _NOEXCEPT
} }
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator
__hash_table<_Tp, _Hash, _Equal, _Alloc>::end() const _NOEXCEPT __hash_table<_Tp, _Hash, _Equal, _Alloc>::end() const _NOEXCEPT
{ {
@ -2256,7 +2264,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::remove(const_iterator __p) _NOEXCEPT
template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc>
template <class _Key> template <class _Key>
inline _LIBCPP_INLINE_VISIBILITY inline
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type
__hash_table<_Tp, _Hash, _Equal, _Alloc>::__count_unique(const _Key& __k) const __hash_table<_Tp, _Hash, _Equal, _Alloc>::__count_unique(const _Key& __k) const
{ {

View File

@ -308,6 +308,7 @@ public:
template <class _Rep, class _Period, class _Predicate> template <class _Rep, class _Period, class _Predicate>
bool bool
_LIBCPP_INLINE_VISIBILITY
wait_for(unique_lock<mutex>& __lk, wait_for(unique_lock<mutex>& __lk,
const chrono::duration<_Rep, _Period>& __d, const chrono::duration<_Rep, _Period>& __d,
_Predicate __pred); _Predicate __pred);
@ -392,7 +393,7 @@ condition_variable::wait_for(unique_lock<mutex>& __lk,
} }
template <class _Rep, class _Period, class _Predicate> template <class _Rep, class _Period, class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
condition_variable::wait_for(unique_lock<mutex>& __lk, condition_variable::wait_for(unique_lock<mutex>& __lk,
const chrono::duration<_Rep, _Period>& __d, const chrono::duration<_Rep, _Period>& __d,

View File

@ -56,9 +56,12 @@ public:
_LIBCPP_INLINE_VISIBILITY pointer& __end_cap() _NOEXCEPT {return __end_cap_.first();} _LIBCPP_INLINE_VISIBILITY pointer& __end_cap() _NOEXCEPT {return __end_cap_.first();}
_LIBCPP_INLINE_VISIBILITY const pointer& __end_cap() const _NOEXCEPT {return __end_cap_.first();} _LIBCPP_INLINE_VISIBILITY const pointer& __end_cap() const _NOEXCEPT {return __end_cap_.first();}
_LIBCPP_INLINE_VISIBILITY
__split_buffer() __split_buffer()
_NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value); _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
_LIBCPP_INLINE_VISIBILITY
explicit __split_buffer(__alloc_rr& __a); explicit __split_buffer(__alloc_rr& __a);
_LIBCPP_INLINE_VISIBILITY
explicit __split_buffer(const __alloc_rr& __a); explicit __split_buffer(const __alloc_rr& __a);
__split_buffer(size_type __cap, size_type __start, __alloc_rr& __a); __split_buffer(size_type __cap, size_type __start, __alloc_rr& __a);
~__split_buffer(); ~__split_buffer();
@ -128,7 +131,9 @@ public:
_LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin) _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin)
{__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());} {__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());}
_LIBCPP_INLINE_VISIBILITY
void __destruct_at_begin(pointer __new_begin, false_type); void __destruct_at_begin(pointer __new_begin, false_type);
_LIBCPP_INLINE_VISIBILITY
void __destruct_at_begin(pointer __new_begin, true_type); void __destruct_at_begin(pointer __new_begin, true_type);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -266,7 +271,7 @@ __split_buffer<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _F
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type) __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type)
{ {
@ -275,7 +280,7 @@ __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_type) __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_type)
{ {
@ -309,7 +314,7 @@ __split_buffer<_Tp, _Allocator>::__split_buffer(size_type __cap, size_type __sta
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
__split_buffer<_Tp, _Allocator>::__split_buffer() __split_buffer<_Tp, _Allocator>::__split_buffer()
_NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value) _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr)
@ -317,14 +322,14 @@ __split_buffer<_Tp, _Allocator>::__split_buffer()
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
__split_buffer<_Tp, _Allocator>::__split_buffer(__alloc_rr& __a) __split_buffer<_Tp, _Allocator>::__split_buffer(__alloc_rr& __a)
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
{ {
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
__split_buffer<_Tp, _Allocator>::__split_buffer(const __alloc_rr& __a) __split_buffer<_Tp, _Allocator>::__split_buffer(const __alloc_rr& __a)
: __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a)
{ {

View File

@ -168,7 +168,9 @@ protected:
typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, false> iterator;
typedef __bit_iterator<__bitset, true> const_iterator; typedef __bit_iterator<__bitset, true> const_iterator;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT; explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT
@ -180,8 +182,11 @@ protected:
_LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT
{return const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);} {return const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
_LIBCPP_INLINE_VISIBILITY
void operator&=(const __bitset& __v) _NOEXCEPT; void operator&=(const __bitset& __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void operator|=(const __bitset& __v) _NOEXCEPT; void operator|=(const __bitset& __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void operator^=(const __bitset& __v) _NOEXCEPT; void operator^=(const __bitset& __v) _NOEXCEPT;
void flip() _NOEXCEPT; void flip() _NOEXCEPT;
@ -192,6 +197,7 @@ protected:
bool all() const _NOEXCEPT; bool all() const _NOEXCEPT;
bool any() const _NOEXCEPT; bool any() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
size_t __hash_code() const _NOEXCEPT; size_t __hash_code() const _NOEXCEPT;
private: private:
#ifdef _LIBCPP_HAS_NO_CONSTEXPR #ifdef _LIBCPP_HAS_NO_CONSTEXPR
@ -199,15 +205,18 @@ private:
void __init(unsigned long long __v, true_type) _NOEXCEPT; void __init(unsigned long long __v, true_type) _NOEXCEPT;
#endif // _LIBCPP_HAS_NO_CONSTEXPR #endif // _LIBCPP_HAS_NO_CONSTEXPR
unsigned long to_ulong(false_type) const; unsigned long to_ulong(false_type) const;
_LIBCPP_INLINE_VISIBILITY
unsigned long to_ulong(true_type) const; unsigned long to_ulong(true_type) const;
unsigned long long to_ullong(false_type) const; unsigned long long to_ullong(false_type) const;
_LIBCPP_INLINE_VISIBILITY
unsigned long long to_ullong(true_type) const; unsigned long long to_ullong(true_type) const;
_LIBCPP_INLINE_VISIBILITY
unsigned long long to_ullong(true_type, false_type) const; unsigned long long to_ullong(true_type, false_type) const;
unsigned long long to_ullong(true_type, true_type) const; unsigned long long to_ullong(true_type, true_type) const;
}; };
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<_N_words, _Size>::__bitset() _NOEXCEPT __bitset<_N_words, _Size>::__bitset() _NOEXCEPT
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #ifndef _LIBCPP_HAS_NO_CONSTEXPR
@ -245,7 +254,7 @@ __bitset<_N_words, _Size>::__init(unsigned long long __v, true_type) _NOEXCEPT
#endif // _LIBCPP_HAS_NO_CONSTEXPR #endif // _LIBCPP_HAS_NO_CONSTEXPR
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT __bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #ifndef _LIBCPP_HAS_NO_CONSTEXPR
@ -264,7 +273,7 @@ __bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<_N_words, _Size>::operator&=(const __bitset& __v) _NOEXCEPT __bitset<_N_words, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
{ {
@ -273,7 +282,7 @@ __bitset<_N_words, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<_N_words, _Size>::operator|=(const __bitset& __v) _NOEXCEPT __bitset<_N_words, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
{ {
@ -282,7 +291,7 @@ __bitset<_N_words, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<_N_words, _Size>::operator^=(const __bitset& __v) _NOEXCEPT __bitset<_N_words, _Size>::operator^=(const __bitset& __v) _NOEXCEPT
{ {
@ -325,7 +334,7 @@ __bitset<_N_words, _Size>::to_ulong(false_type) const
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long unsigned long
__bitset<_N_words, _Size>::to_ulong(true_type) const __bitset<_N_words, _Size>::to_ulong(true_type) const
{ {
@ -348,7 +357,7 @@ __bitset<_N_words, _Size>::to_ullong(false_type) const
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long long unsigned long long
__bitset<_N_words, _Size>::to_ullong(true_type) const __bitset<_N_words, _Size>::to_ullong(true_type) const
{ {
@ -356,7 +365,7 @@ __bitset<_N_words, _Size>::to_ullong(true_type) const
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long long unsigned long long
__bitset<_N_words, _Size>::to_ullong(true_type, false_type) const __bitset<_N_words, _Size>::to_ullong(true_type, false_type) const
{ {
@ -414,7 +423,7 @@ __bitset<_N_words, _Size>::any() const _NOEXCEPT
} }
template <size_t _N_words, size_t _Size> template <size_t _N_words, size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
__bitset<_N_words, _Size>::__hash_code() const _NOEXCEPT __bitset<_N_words, _Size>::__hash_code() const _NOEXCEPT
{ {
@ -450,7 +459,9 @@ protected:
typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, false> iterator;
typedef __bit_iterator<__bitset, true> const_iterator; typedef __bit_iterator<__bitset, true> const_iterator;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT; explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT
@ -462,23 +473,32 @@ protected:
_LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT
{return const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);} {return const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);}
_LIBCPP_INLINE_VISIBILITY
void operator&=(const __bitset& __v) _NOEXCEPT; void operator&=(const __bitset& __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void operator|=(const __bitset& __v) _NOEXCEPT; void operator|=(const __bitset& __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void operator^=(const __bitset& __v) _NOEXCEPT; void operator^=(const __bitset& __v) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void flip() _NOEXCEPT; void flip() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
unsigned long to_ulong() const; unsigned long to_ulong() const;
_LIBCPP_INLINE_VISIBILITY
unsigned long long to_ullong() const; unsigned long long to_ullong() const;
_LIBCPP_INLINE_VISIBILITY
bool all() const _NOEXCEPT; bool all() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bool any() const _NOEXCEPT; bool any() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
size_t __hash_code() const _NOEXCEPT; size_t __hash_code() const _NOEXCEPT;
}; };
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<1, _Size>::__bitset() _NOEXCEPT __bitset<1, _Size>::__bitset() _NOEXCEPT
: __first_(0) : __first_(0)
@ -486,7 +506,7 @@ __bitset<1, _Size>::__bitset() _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<1, _Size>::__bitset(unsigned long long __v) _NOEXCEPT __bitset<1, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
: __first_(static_cast<__storage_type>(__v)) : __first_(static_cast<__storage_type>(__v))
@ -494,7 +514,7 @@ __bitset<1, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<1, _Size>::operator&=(const __bitset& __v) _NOEXCEPT __bitset<1, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
{ {
@ -502,7 +522,7 @@ __bitset<1, _Size>::operator&=(const __bitset& __v) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<1, _Size>::operator|=(const __bitset& __v) _NOEXCEPT __bitset<1, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
{ {
@ -510,7 +530,7 @@ __bitset<1, _Size>::operator|=(const __bitset& __v) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<1, _Size>::operator^=(const __bitset& __v) _NOEXCEPT __bitset<1, _Size>::operator^=(const __bitset& __v) _NOEXCEPT
{ {
@ -518,7 +538,7 @@ __bitset<1, _Size>::operator^=(const __bitset& __v) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
__bitset<1, _Size>::flip() _NOEXCEPT __bitset<1, _Size>::flip() _NOEXCEPT
{ {
@ -528,7 +548,7 @@ __bitset<1, _Size>::flip() _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long unsigned long
__bitset<1, _Size>::to_ulong() const __bitset<1, _Size>::to_ulong() const
{ {
@ -536,7 +556,7 @@ __bitset<1, _Size>::to_ulong() const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long long unsigned long long
__bitset<1, _Size>::to_ullong() const __bitset<1, _Size>::to_ullong() const
{ {
@ -544,7 +564,7 @@ __bitset<1, _Size>::to_ullong() const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
__bitset<1, _Size>::all() const _NOEXCEPT __bitset<1, _Size>::all() const _NOEXCEPT
{ {
@ -553,7 +573,7 @@ __bitset<1, _Size>::all() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
__bitset<1, _Size>::any() const _NOEXCEPT __bitset<1, _Size>::any() const _NOEXCEPT
{ {
@ -562,7 +582,7 @@ __bitset<1, _Size>::any() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
__bitset<1, _Size>::__hash_code() const _NOEXCEPT __bitset<1, _Size>::__hash_code() const _NOEXCEPT
{ {
@ -593,7 +613,9 @@ protected:
typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, false> iterator;
typedef __bit_iterator<__bitset, true> const_iterator; typedef __bit_iterator<__bitset, true> const_iterator;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long) _NOEXCEPT; explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t) _NOEXCEPT _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t) _NOEXCEPT
@ -620,13 +642,13 @@ protected:
_LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT {return 0;} _LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT {return 0;}
}; };
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<0, 0>::__bitset() _NOEXCEPT __bitset<0, 0>::__bitset() _NOEXCEPT
{ {
} }
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
__bitset<0, 0>::__bitset(unsigned long long) _NOEXCEPT __bitset<0, 0>::__bitset(unsigned long long) _NOEXCEPT
{ {
@ -663,16 +685,23 @@ public:
_CharT __zero = _CharT('0'), _CharT __one = _CharT('1')); _CharT __zero = _CharT('0'), _CharT __one = _CharT('1'));
// 23.3.5.2 bitset operations: // 23.3.5.2 bitset operations:
_LIBCPP_INLINE_VISIBILITY
bitset& operator&=(const bitset& __rhs) _NOEXCEPT; bitset& operator&=(const bitset& __rhs) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bitset& operator|=(const bitset& __rhs) _NOEXCEPT; bitset& operator|=(const bitset& __rhs) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bitset& operator^=(const bitset& __rhs) _NOEXCEPT; bitset& operator^=(const bitset& __rhs) _NOEXCEPT;
bitset& operator<<=(size_t __pos) _NOEXCEPT; bitset& operator<<=(size_t __pos) _NOEXCEPT;
bitset& operator>>=(size_t __pos) _NOEXCEPT; bitset& operator>>=(size_t __pos) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bitset& set() _NOEXCEPT; bitset& set() _NOEXCEPT;
bitset& set(size_t __pos, bool __val = true); bitset& set(size_t __pos, bool __val = true);
_LIBCPP_INLINE_VISIBILITY
bitset& reset() _NOEXCEPT; bitset& reset() _NOEXCEPT;
bitset& reset(size_t __pos); bitset& reset(size_t __pos);
_LIBCPP_INLINE_VISIBILITY
bitset operator~() const _NOEXCEPT; bitset operator~() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bitset& flip() _NOEXCEPT; bitset& flip() _NOEXCEPT;
bitset& flip(size_t __pos); bitset& flip(size_t __pos);
@ -680,28 +709,40 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
const_reference operator[](size_t __p) const {return base::__make_ref(__p);} const_reference operator[](size_t __p) const {return base::__make_ref(__p);}
_LIBCPP_INLINE_VISIBILITY reference operator[](size_t __p) {return base::__make_ref(__p);} _LIBCPP_INLINE_VISIBILITY reference operator[](size_t __p) {return base::__make_ref(__p);}
_LIBCPP_INLINE_VISIBILITY
unsigned long to_ulong() const; unsigned long to_ulong() const;
_LIBCPP_INLINE_VISIBILITY
unsigned long long to_ullong() const; unsigned long long to_ullong() const;
template <class _CharT, class _Traits, class _Allocator> template <class _CharT, class _Traits, class _Allocator>
basic_string<_CharT, _Traits, _Allocator> to_string(_CharT __zero = _CharT('0'), basic_string<_CharT, _Traits, _Allocator> to_string(_CharT __zero = _CharT('0'),
_CharT __one = _CharT('1')) const; _CharT __one = _CharT('1')) const;
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
_LIBCPP_INLINE_VISIBILITY
basic_string<_CharT, _Traits, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'), basic_string<_CharT, _Traits, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'),
_CharT __one = _CharT('1')) const; _CharT __one = _CharT('1')) const;
template <class _CharT> template <class _CharT>
_LIBCPP_INLINE_VISIBILITY
basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'), basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'),
_CharT __one = _CharT('1')) const; _CharT __one = _CharT('1')) const;
_LIBCPP_INLINE_VISIBILITY
basic_string<char, char_traits<char>, allocator<char> > to_string(char __zero = '0', basic_string<char, char_traits<char>, allocator<char> > to_string(char __zero = '0',
char __one = '1') const; char __one = '1') const;
_LIBCPP_INLINE_VISIBILITY
size_t count() const _NOEXCEPT; size_t count() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR size_t size() const _NOEXCEPT {return _Size;} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR size_t size() const _NOEXCEPT {return _Size;}
_LIBCPP_INLINE_VISIBILITY
bool operator==(const bitset& __rhs) const _NOEXCEPT; bool operator==(const bitset& __rhs) const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bool operator!=(const bitset& __rhs) const _NOEXCEPT; bool operator!=(const bitset& __rhs) const _NOEXCEPT;
bool test(size_t __pos) const; bool test(size_t __pos) const;
_LIBCPP_INLINE_VISIBILITY
bool all() const _NOEXCEPT; bool all() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bool any() const _NOEXCEPT; bool any() const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY bool none() const _NOEXCEPT {return !any();} _LIBCPP_INLINE_VISIBILITY bool none() const _NOEXCEPT {return !any();}
_LIBCPP_INLINE_VISIBILITY
bitset operator<<(size_t __pos) const _NOEXCEPT; bitset operator<<(size_t __pos) const _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
bitset operator>>(size_t __pos) const _NOEXCEPT; bitset operator>>(size_t __pos) const _NOEXCEPT;
private: private:
@ -774,7 +815,7 @@ bitset<_Size>::bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT
{ {
@ -783,7 +824,7 @@ bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT
{ {
@ -792,7 +833,7 @@ bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::operator^=(const bitset& __rhs) _NOEXCEPT bitset<_Size>::operator^=(const bitset& __rhs) _NOEXCEPT
{ {
@ -821,7 +862,7 @@ bitset<_Size>::operator>>=(size_t __pos) _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::set() _NOEXCEPT bitset<_Size>::set() _NOEXCEPT
{ {
@ -844,7 +885,7 @@ bitset<_Size>::set(size_t __pos, bool __val)
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::reset() _NOEXCEPT bitset<_Size>::reset() _NOEXCEPT
{ {
@ -867,7 +908,7 @@ bitset<_Size>::reset(size_t __pos)
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size> bitset<_Size>
bitset<_Size>::operator~() const _NOEXCEPT bitset<_Size>::operator~() const _NOEXCEPT
{ {
@ -877,7 +918,7 @@ bitset<_Size>::operator~() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size>& bitset<_Size>&
bitset<_Size>::flip() _NOEXCEPT bitset<_Size>::flip() _NOEXCEPT
{ {
@ -901,7 +942,7 @@ bitset<_Size>::flip(size_t __pos)
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long unsigned long
bitset<_Size>::to_ulong() const bitset<_Size>::to_ulong() const
{ {
@ -909,7 +950,7 @@ bitset<_Size>::to_ulong() const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
unsigned long long unsigned long long
bitset<_Size>::to_ullong() const bitset<_Size>::to_ullong() const
{ {
@ -932,7 +973,7 @@ bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
template <size_t _Size> template <size_t _Size>
template <class _CharT, class _Traits> template <class _CharT, class _Traits>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_string<_CharT, _Traits, allocator<_CharT> > basic_string<_CharT, _Traits, allocator<_CharT> >
bitset<_Size>::to_string(_CharT __zero, _CharT __one) const bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
{ {
@ -941,7 +982,7 @@ bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
template <size_t _Size> template <size_t _Size>
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> >
bitset<_Size>::to_string(_CharT __zero, _CharT __one) const bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
{ {
@ -949,7 +990,7 @@ bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
basic_string<char, char_traits<char>, allocator<char> > basic_string<char, char_traits<char>, allocator<char> >
bitset<_Size>::to_string(char __zero, char __one) const bitset<_Size>::to_string(char __zero, char __one) const
{ {
@ -957,7 +998,7 @@ bitset<_Size>::to_string(char __zero, char __one) const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
bitset<_Size>::count() const _NOEXCEPT bitset<_Size>::count() const _NOEXCEPT
{ {
@ -965,7 +1006,7 @@ bitset<_Size>::count() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT
{ {
@ -973,7 +1014,7 @@ bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
bitset<_Size>::operator!=(const bitset& __rhs) const _NOEXCEPT bitset<_Size>::operator!=(const bitset& __rhs) const _NOEXCEPT
{ {
@ -994,7 +1035,7 @@ bitset<_Size>::test(size_t __pos) const
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
bitset<_Size>::all() const _NOEXCEPT bitset<_Size>::all() const _NOEXCEPT
{ {
@ -1002,7 +1043,7 @@ bitset<_Size>::all() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
bitset<_Size>::any() const _NOEXCEPT bitset<_Size>::any() const _NOEXCEPT
{ {
@ -1010,7 +1051,7 @@ bitset<_Size>::any() const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size> bitset<_Size>
bitset<_Size>::operator<<(size_t __pos) const _NOEXCEPT bitset<_Size>::operator<<(size_t __pos) const _NOEXCEPT
{ {
@ -1020,7 +1061,7 @@ bitset<_Size>::operator<<(size_t __pos) const _NOEXCEPT
} }
template <size_t _Size> template <size_t _Size>
inline _LIBCPP_INLINE_VISIBILITY inline
bitset<_Size> bitset<_Size>
bitset<_Size>::operator>>(size_t __pos) const _NOEXCEPT bitset<_Size>::operator>>(size_t __pos) const _NOEXCEPT
{ {

View File

@ -124,14 +124,18 @@ class _LIBCPP_TYPE_VIS condition_variable_any
condition_variable __cv_; condition_variable __cv_;
shared_ptr<mutex> __mut_; shared_ptr<mutex> __mut_;
public: public:
_LIBCPP_INLINE_VISIBILITY
condition_variable_any(); condition_variable_any();
_LIBCPP_INLINE_VISIBILITY
void notify_one() _NOEXCEPT; void notify_one() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void notify_all() _NOEXCEPT; void notify_all() _NOEXCEPT;
template <class _Lock> template <class _Lock>
void wait(_Lock& __lock); void wait(_Lock& __lock);
template <class _Lock, class _Predicate> template <class _Lock, class _Predicate>
_LIBCPP_INLINE_VISIBILITY
void wait(_Lock& __lock, _Predicate __pred); void wait(_Lock& __lock, _Predicate __pred);
template <class _Lock, class _Clock, class _Duration> template <class _Lock, class _Clock, class _Duration>
@ -141,27 +145,30 @@ public:
template <class _Lock, class _Clock, class _Duration, class _Predicate> template <class _Lock, class _Clock, class _Duration, class _Predicate>
bool bool
_LIBCPP_INLINE_VISIBILITY
wait_until(_Lock& __lock, wait_until(_Lock& __lock,
const chrono::time_point<_Clock, _Duration>& __t, const chrono::time_point<_Clock, _Duration>& __t,
_Predicate __pred); _Predicate __pred);
template <class _Lock, class _Rep, class _Period> template <class _Lock, class _Rep, class _Period>
cv_status cv_status
_LIBCPP_INLINE_VISIBILITY
wait_for(_Lock& __lock, wait_for(_Lock& __lock,
const chrono::duration<_Rep, _Period>& __d); const chrono::duration<_Rep, _Period>& __d);
template <class _Lock, class _Rep, class _Period, class _Predicate> template <class _Lock, class _Rep, class _Period, class _Predicate>
bool bool
_LIBCPP_INLINE_VISIBILITY
wait_for(_Lock& __lock, wait_for(_Lock& __lock,
const chrono::duration<_Rep, _Period>& __d, const chrono::duration<_Rep, _Period>& __d,
_Predicate __pred); _Predicate __pred);
}; };
inline _LIBCPP_INLINE_VISIBILITY inline
condition_variable_any::condition_variable_any() condition_variable_any::condition_variable_any()
: __mut_(make_shared<mutex>()) {} : __mut_(make_shared<mutex>()) {}
inline _LIBCPP_INLINE_VISIBILITY inline
void void
condition_variable_any::notify_one() _NOEXCEPT condition_variable_any::notify_one() _NOEXCEPT
{ {
@ -169,7 +176,7 @@ condition_variable_any::notify_one() _NOEXCEPT
__cv_.notify_one(); __cv_.notify_one();
} }
inline _LIBCPP_INLINE_VISIBILITY inline
void void
condition_variable_any::notify_all() _NOEXCEPT condition_variable_any::notify_all() _NOEXCEPT
{ {
@ -196,7 +203,7 @@ condition_variable_any::wait(_Lock& __lock)
} // __mut_.unlock(), __lock.lock() } // __mut_.unlock(), __lock.lock()
template <class _Lock, class _Predicate> template <class _Lock, class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
condition_variable_any::wait(_Lock& __lock, _Predicate __pred) condition_variable_any::wait(_Lock& __lock, _Predicate __pred)
{ {
@ -218,7 +225,7 @@ condition_variable_any::wait_until(_Lock& __lock,
} // __mut_.unlock(), __lock.lock() } // __mut_.unlock(), __lock.lock()
template <class _Lock, class _Clock, class _Duration, class _Predicate> template <class _Lock, class _Clock, class _Duration, class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
condition_variable_any::wait_until(_Lock& __lock, condition_variable_any::wait_until(_Lock& __lock,
const chrono::time_point<_Clock, _Duration>& __t, const chrono::time_point<_Clock, _Duration>& __t,
@ -231,7 +238,7 @@ condition_variable_any::wait_until(_Lock& __lock,
} }
template <class _Lock, class _Rep, class _Period> template <class _Lock, class _Rep, class _Period>
inline _LIBCPP_INLINE_VISIBILITY inline
cv_status cv_status
condition_variable_any::wait_for(_Lock& __lock, condition_variable_any::wait_for(_Lock& __lock,
const chrono::duration<_Rep, _Period>& __d) const chrono::duration<_Rep, _Period>& __d)
@ -240,7 +247,7 @@ condition_variable_any::wait_for(_Lock& __lock,
} }
template <class _Lock, class _Rep, class _Period, class _Predicate> template <class _Lock, class _Rep, class _Period, class _Predicate>
inline _LIBCPP_INLINE_VISIBILITY inline
bool bool
condition_variable_any::wait_for(_Lock& __lock, condition_variable_any::wait_for(_Lock& __lock,
const chrono::duration<_Rep, _Period>& __d, const chrono::duration<_Rep, _Period>& __d,

View File

@ -964,8 +964,10 @@ protected:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
const allocator_type& __alloc() const _NOEXCEPT {return __size_.second();} const allocator_type& __alloc() const _NOEXCEPT {return __size_.second();}
_LIBCPP_INLINE_VISIBILITY
__deque_base() __deque_base()
_NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value); _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value);
_LIBCPP_INLINE_VISIBILITY
explicit __deque_base(const allocator_type& __a); explicit __deque_base(const allocator_type& __a);
public: public:
~__deque_base(); ~__deque_base();
@ -1090,13 +1092,13 @@ __deque_base<_Tp, _Allocator>::end() const _NOEXCEPT
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
__deque_base<_Tp, _Allocator>::__deque_base() __deque_base<_Tp, _Allocator>::__deque_base()
_NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value) _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value)
: __start_(0), __size_(0) {} : __start_(0), __size_(0) {}
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
__deque_base<_Tp, _Allocator>::__deque_base(const allocator_type& __a) __deque_base<_Tp, _Allocator>::__deque_base(const allocator_type& __a)
: __map_(__pointer_allocator(__a)), __start_(0), __size_(0, __a) {} : __map_(__pointer_allocator(__a)), __start_(0), __size_(0, __a) {}
@ -1241,8 +1243,11 @@ public:
#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
deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value); deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value);
_LIBCPP_INLINE_VISIBILITY
deque(deque&& __c, const allocator_type& __a); deque(deque&& __c, const allocator_type& __a);
_LIBCPP_INLINE_VISIBILITY
deque& operator=(deque&& __c) deque& operator=(deque&& __c)
_NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value && _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value &&
is_nothrow_move_assignable<allocator_type>::value); is_nothrow_move_assignable<allocator_type>::value);
@ -1261,6 +1266,7 @@ public:
void assign(initializer_list<value_type> __il) {assign(__il.begin(), __il.end());} void assign(initializer_list<value_type> __il) {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;
// iterators: // iterators:
@ -1313,13 +1319,21 @@ public:
bool empty() const _NOEXCEPT {return __base::size() == 0;} bool empty() const _NOEXCEPT {return __base::size() == 0;}
// element access: // element access:
_LIBCPP_INLINE_VISIBILITY
reference operator[](size_type __i); reference operator[](size_type __i);
_LIBCPP_INLINE_VISIBILITY
const_reference operator[](size_type __i) const; const_reference operator[](size_type __i) const;
_LIBCPP_INLINE_VISIBILITY
reference at(size_type __i); reference at(size_type __i);
_LIBCPP_INLINE_VISIBILITY
const_reference at(size_type __i) const; const_reference at(size_type __i) const;
_LIBCPP_INLINE_VISIBILITY
reference front(); reference front();
_LIBCPP_INLINE_VISIBILITY
const_reference front() const; const_reference front() const;
_LIBCPP_INLINE_VISIBILITY
reference back(); reference back();
_LIBCPP_INLINE_VISIBILITY
const_reference back() const; const_reference back() const;
// 23.2.2.3 modifiers: // 23.2.2.3 modifiers:
@ -1358,6 +1372,7 @@ public:
iterator erase(const_iterator __p); iterator erase(const_iterator __p);
iterator erase(const_iterator __f, const_iterator __l); iterator erase(const_iterator __f, const_iterator __l);
_LIBCPP_INLINE_VISIBILITY
void swap(deque& __c) void swap(deque& __c)
#if _LIBCPP_STD_VER >= 14 #if _LIBCPP_STD_VER >= 14
_NOEXCEPT; _NOEXCEPT;
@ -1365,6 +1380,7 @@ public:
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value ||
__is_nothrow_swappable<allocator_type>::value); __is_nothrow_swappable<allocator_type>::value);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void clear() _NOEXCEPT; void clear() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -1537,7 +1553,7 @@ deque<_Tp, _Allocator>::operator=(const deque& __c)
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
deque<_Tp, _Allocator>::deque(deque&& __c) deque<_Tp, _Allocator>::deque(deque&& __c)
_NOEXCEPT_(is_nothrow_move_constructible<__base>::value) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value)
: __base(_VSTD::move(__c)) : __base(_VSTD::move(__c))
@ -1545,7 +1561,7 @@ deque<_Tp, _Allocator>::deque(deque&& __c)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
deque<_Tp, _Allocator>::deque(deque&& __c, const allocator_type& __a) deque<_Tp, _Allocator>::deque(deque&& __c, const allocator_type& __a)
: __base(_VSTD::move(__c), __a) : __base(_VSTD::move(__c), __a)
{ {
@ -1557,7 +1573,7 @@ deque<_Tp, _Allocator>::deque(deque&& __c, const allocator_type& __a)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
deque<_Tp, _Allocator>& deque<_Tp, _Allocator>&
deque<_Tp, _Allocator>::operator=(deque&& __c) deque<_Tp, _Allocator>::operator=(deque&& __c)
_NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value && _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value &&
@ -1641,7 +1657,7 @@ deque<_Tp, _Allocator>::assign(size_type __n, const value_type& __v)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
_Allocator _Allocator
deque<_Tp, _Allocator>::get_allocator() const _NOEXCEPT deque<_Tp, _Allocator>::get_allocator() const _NOEXCEPT
{ {
@ -1700,7 +1716,7 @@ deque<_Tp, _Allocator>::shrink_to_fit() _NOEXCEPT
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::reference typename deque<_Tp, _Allocator>::reference
deque<_Tp, _Allocator>::operator[](size_type __i) deque<_Tp, _Allocator>::operator[](size_type __i)
{ {
@ -1709,7 +1725,7 @@ deque<_Tp, _Allocator>::operator[](size_type __i)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::const_reference typename deque<_Tp, _Allocator>::const_reference
deque<_Tp, _Allocator>::operator[](size_type __i) const deque<_Tp, _Allocator>::operator[](size_type __i) const
{ {
@ -1718,7 +1734,7 @@ deque<_Tp, _Allocator>::operator[](size_type __i) const
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::reference typename deque<_Tp, _Allocator>::reference
deque<_Tp, _Allocator>::at(size_type __i) deque<_Tp, _Allocator>::at(size_type __i)
{ {
@ -1729,7 +1745,7 @@ deque<_Tp, _Allocator>::at(size_type __i)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::const_reference typename deque<_Tp, _Allocator>::const_reference
deque<_Tp, _Allocator>::at(size_type __i) const deque<_Tp, _Allocator>::at(size_type __i) const
{ {
@ -1740,7 +1756,7 @@ deque<_Tp, _Allocator>::at(size_type __i) const
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::reference typename deque<_Tp, _Allocator>::reference
deque<_Tp, _Allocator>::front() deque<_Tp, _Allocator>::front()
{ {
@ -1749,7 +1765,7 @@ deque<_Tp, _Allocator>::front()
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::const_reference typename deque<_Tp, _Allocator>::const_reference
deque<_Tp, _Allocator>::front() const deque<_Tp, _Allocator>::front() const
{ {
@ -1758,7 +1774,7 @@ deque<_Tp, _Allocator>::front() const
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::reference typename deque<_Tp, _Allocator>::reference
deque<_Tp, _Allocator>::back() deque<_Tp, _Allocator>::back()
{ {
@ -1767,7 +1783,7 @@ deque<_Tp, _Allocator>::back()
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
typename deque<_Tp, _Allocator>::const_reference typename deque<_Tp, _Allocator>::const_reference
deque<_Tp, _Allocator>::back() const deque<_Tp, _Allocator>::back() const
{ {
@ -2806,7 +2822,7 @@ deque<_Tp, _Allocator>::__erase_to_end(const_iterator __f)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
deque<_Tp, _Allocator>::swap(deque& __c) deque<_Tp, _Allocator>::swap(deque& __c)
#if _LIBCPP_STD_VER >= 14 #if _LIBCPP_STD_VER >= 14
@ -2820,7 +2836,7 @@ deque<_Tp, _Allocator>::swap(deque& __c)
} }
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
deque<_Tp, _Allocator>::clear() _NOEXCEPT deque<_Tp, _Allocator>::clear() _NOEXCEPT
{ {

View File

@ -576,6 +576,7 @@ public:
void wait(); void wait();
template <class _Rep, class _Period> template <class _Rep, class _Period>
future_status future_status
_LIBCPP_INLINE_VISIBILITY
wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const; wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const;
template <class _Clock, class _Duration> template <class _Clock, class _Duration>
future_status future_status
@ -599,7 +600,7 @@ __assoc_sub_state::wait_until(const chrono::time_point<_Clock, _Duration>& __abs
} }
template <class _Rep, class _Period> template <class _Rep, class _Period>
inline _LIBCPP_INLINE_VISIBILITY inline
future_status future_status
__assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const __assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const
{ {
@ -851,6 +852,7 @@ class __deferred_assoc_state
public: public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
explicit __deferred_assoc_state(_Fp&& __f); explicit __deferred_assoc_state(_Fp&& __f);
#endif #endif
@ -860,7 +862,7 @@ public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Rp, class _Fp> template <class _Rp, class _Fp>
inline _LIBCPP_INLINE_VISIBILITY inline
__deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f) __deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f)
: __func_(_VSTD::forward<_Fp>(__f)) : __func_(_VSTD::forward<_Fp>(__f))
{ {
@ -897,6 +899,7 @@ class __deferred_assoc_state<void, _Fp>
public: public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
explicit __deferred_assoc_state(_Fp&& __f); explicit __deferred_assoc_state(_Fp&& __f);
#endif #endif
@ -906,7 +909,7 @@ public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Fp> template <class _Fp>
inline _LIBCPP_INLINE_VISIBILITY inline
__deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f) __deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f)
: __func_(_VSTD::forward<_Fp>(__f)) : __func_(_VSTD::forward<_Fp>(__f))
{ {
@ -945,6 +948,7 @@ class __async_assoc_state
virtual void __on_zero_shared() _NOEXCEPT; virtual void __on_zero_shared() _NOEXCEPT;
public: public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
explicit __async_assoc_state(_Fp&& __f); explicit __async_assoc_state(_Fp&& __f);
#endif #endif
@ -954,7 +958,7 @@ public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Rp, class _Fp> template <class _Rp, class _Fp>
inline _LIBCPP_INLINE_VISIBILITY inline
__async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f) __async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f)
: __func_(_VSTD::forward<_Fp>(__f)) : __func_(_VSTD::forward<_Fp>(__f))
{ {
@ -999,6 +1003,7 @@ class __async_assoc_state<void, _Fp>
virtual void __on_zero_shared() _NOEXCEPT; virtual void __on_zero_shared() _NOEXCEPT;
public: public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
explicit __async_assoc_state(_Fp&& __f); explicit __async_assoc_state(_Fp&& __f);
#endif #endif
@ -1008,7 +1013,7 @@ public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Fp> template <class _Fp>
inline _LIBCPP_INLINE_VISIBILITY inline
__async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f) __async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f)
: __func_(_VSTD::forward<_Fp>(__f)) : __func_(_VSTD::forward<_Fp>(__f))
{ {
@ -1110,6 +1115,7 @@ private:
public: public:
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
~future(); ~future();
_LIBCPP_INLINE_VISIBILITY
shared_future<_Rp> share(); shared_future<_Rp> share();
// retrieving the value // retrieving the value
@ -1212,6 +1218,7 @@ private:
public: public:
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
~future(); ~future();
_LIBCPP_INLINE_VISIBILITY
shared_future<_Rp&> share(); shared_future<_Rp&> share();
// retrieving the value // retrieving the value
@ -1309,6 +1316,7 @@ private:
public: public:
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
~future(); ~future();
_LIBCPP_INLINE_VISIBILITY
shared_future<void> share(); shared_future<void> share();
// retrieving the value // retrieving the value
@ -1835,6 +1843,7 @@ public:
void swap(__packaged_task_function&) _NOEXCEPT; void swap(__packaged_task_function&) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
_Rp operator()(_ArgTypes...) const; _Rp operator()(_ArgTypes...) const;
}; };
@ -1974,7 +1983,7 @@ __packaged_task_function<_Rp(_ArgTypes...)>::swap(__packaged_task_function& __f)
} }
template<class _Rp, class ..._ArgTypes> template<class _Rp, class ..._ArgTypes>
inline _LIBCPP_INLINE_VISIBILITY inline
_Rp _Rp
__packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const __packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
{ {
@ -2562,7 +2571,7 @@ swap(shared_future<_Rp>& __x, shared_future<_Rp>& __y) _NOEXCEPT
} }
template <class _Rp> template <class _Rp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_future<_Rp> shared_future<_Rp>
future<_Rp>::share() future<_Rp>::share()
{ {
@ -2570,7 +2579,7 @@ future<_Rp>::share()
} }
template <class _Rp> template <class _Rp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_future<_Rp&> shared_future<_Rp&>
future<_Rp&>::share() future<_Rp&>::share()
{ {
@ -2579,7 +2588,7 @@ future<_Rp&>::share()
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
inline _LIBCPP_INLINE_VISIBILITY inline
shared_future<void> shared_future<void>
future<void>::share() future<void>::share()
{ {

View File

@ -3776,11 +3776,14 @@ private:
wstring_convert(const wstring_convert& __wc); wstring_convert(const wstring_convert& __wc);
wstring_convert& operator=(const wstring_convert& __wc); wstring_convert& operator=(const wstring_convert& __wc);
public: public:
_LIBCPP_ALWAYS_INLINE
_LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(_Codecvt* __pcvt = new _Codecvt); _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(_Codecvt* __pcvt = new _Codecvt);
_LIBCPP_ALWAYS_INLINE
wstring_convert(_Codecvt* __pcvt, state_type __state); wstring_convert(_Codecvt* __pcvt, state_type __state);
_LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err, _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err,
const wide_string& __wide_err = wide_string()); const wide_string& __wide_err = wide_string());
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_ALWAYS_INLINE
wstring_convert(wstring_convert&& __wc); wstring_convert(wstring_convert&& __wc);
#endif #endif
~wstring_convert(); ~wstring_convert();
@ -3814,7 +3817,7 @@ public:
}; };
template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
inline _LIBCPP_ALWAYS_INLINE inline
wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
wstring_convert(_Codecvt* __pcvt) wstring_convert(_Codecvt* __pcvt)
: __cvtptr_(__pcvt), __cvtstate_(), __cvtcount_(0) : __cvtptr_(__pcvt), __cvtstate_(), __cvtcount_(0)
@ -3822,7 +3825,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
} }
template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
inline _LIBCPP_ALWAYS_INLINE inline
wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
wstring_convert(_Codecvt* __pcvt, state_type __state) wstring_convert(_Codecvt* __pcvt, state_type __state)
: __cvtptr_(__pcvt), __cvtstate_(__state), __cvtcount_(0) : __cvtptr_(__pcvt), __cvtstate_(__state), __cvtcount_(0)
@ -3841,7 +3844,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
inline _LIBCPP_ALWAYS_INLINE inline
wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
wstring_convert(wstring_convert&& __wc) wstring_convert(wstring_convert&& __wc)
: __byte_err_string_(_VSTD::move(__wc.__byte_err_string_)), : __byte_err_string_(_VSTD::move(__wc.__byte_err_string_)),

View File

@ -3874,7 +3874,9 @@ private:
struct __nat {int __for_bool_;}; struct __nat {int __for_bool_;};
public: public:
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT; _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT; _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT;
template<class _Yp> template<class _Yp>
explicit shared_ptr(_Yp* __p, explicit shared_ptr(_Yp* __p,
@ -3887,15 +3889,18 @@ public:
typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat()); typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d); template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d);
template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a); template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a);
template<class _Yp> shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT; template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
shared_ptr(const shared_ptr& __r) _NOEXCEPT; shared_ptr(const shared_ptr& __r) _NOEXCEPT;
template<class _Yp> template<class _Yp>
_LIBCPP_INLINE_VISIBILITY
shared_ptr(const shared_ptr<_Yp>& __r, shared_ptr(const shared_ptr<_Yp>& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat()) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat())
_NOEXCEPT; _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
shared_ptr(shared_ptr&& __r) _NOEXCEPT; shared_ptr(shared_ptr&& __r) _NOEXCEPT;
template<class _Yp> shared_ptr(shared_ptr<_Yp>&& __r, template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(shared_ptr<_Yp>&& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat()) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat())
_NOEXCEPT; _NOEXCEPT;
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
@ -3952,6 +3957,7 @@ public:
~shared_ptr(); ~shared_ptr();
_LIBCPP_INLINE_VISIBILITY
shared_ptr& operator=(const shared_ptr& __r) _NOEXCEPT; shared_ptr& operator=(const shared_ptr& __r) _NOEXCEPT;
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -3959,8 +3965,10 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
shared_ptr& shared_ptr&
>::type >::type
_LIBCPP_INLINE_VISIBILITY
operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT; operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
shared_ptr& operator=(shared_ptr&& __r) _NOEXCEPT; shared_ptr& operator=(shared_ptr&& __r) _NOEXCEPT;
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -3968,6 +3976,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
shared_ptr<_Tp>& shared_ptr<_Tp>&
>::type >::type
_LIBCPP_INLINE_VISIBILITY
operator=(shared_ptr<_Yp>&& __r); operator=(shared_ptr<_Yp>&& __r);
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -3976,6 +3985,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
shared_ptr shared_ptr
>::type& >::type&
_LIBCPP_INLINE_VISIBILITY
operator=(auto_ptr<_Yp>&& __r); operator=(auto_ptr<_Yp>&& __r);
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Yp> template<class _Yp>
@ -3995,12 +4005,15 @@ public:
shared_ptr& shared_ptr&
>::type >::type
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
operator=(unique_ptr<_Yp, _Dp>&& __r); operator=(unique_ptr<_Yp, _Dp>&& __r);
#else // _LIBCPP_HAS_NO_RVALUE_REFERENCES #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES
operator=(unique_ptr<_Yp, _Dp> __r); operator=(unique_ptr<_Yp, _Dp> __r);
#endif #endif
_LIBCPP_INLINE_VISIBILITY
void swap(shared_ptr& __r) _NOEXCEPT; void swap(shared_ptr& __r) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void reset() _NOEXCEPT; void reset() _NOEXCEPT;
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -4008,6 +4021,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
void void
>::type >::type
_LIBCPP_INLINE_VISIBILITY
reset(_Yp* __p); reset(_Yp* __p);
template<class _Yp, class _Dp> template<class _Yp, class _Dp>
typename enable_if typename enable_if
@ -4015,6 +4029,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
void void
>::type >::type
_LIBCPP_INLINE_VISIBILITY
reset(_Yp* __p, _Dp __d); reset(_Yp* __p, _Dp __d);
template<class _Yp, class _Dp, class _Alloc> template<class _Yp, class _Dp, class _Alloc>
typename enable_if typename enable_if
@ -4022,6 +4037,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
void void
>::type >::type
_LIBCPP_INLINE_VISIBILITY
reset(_Yp* __p, _Dp __d, _Alloc __a); reset(_Yp* __p, _Dp __d, _Alloc __a);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -4123,7 +4139,7 @@ private:
}; };
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
shared_ptr<_Tp>::shared_ptr() _NOEXCEPT shared_ptr<_Tp>::shared_ptr() _NOEXCEPT
: __ptr_(0), : __ptr_(0),
@ -4132,7 +4148,7 @@ shared_ptr<_Tp>::shared_ptr() _NOEXCEPT
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
shared_ptr<_Tp>::shared_ptr(nullptr_t) _NOEXCEPT shared_ptr<_Tp>::shared_ptr(nullptr_t) _NOEXCEPT
: __ptr_(0), : __ptr_(0),
@ -4255,7 +4271,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEXCEPT shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEXCEPT
: __ptr_(__p), : __ptr_(__p),
__cntrl_(__r.__cntrl_) __cntrl_(__r.__cntrl_)
@ -4265,7 +4281,7 @@ shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEX
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>::shared_ptr(const shared_ptr& __r) _NOEXCEPT shared_ptr<_Tp>::shared_ptr(const shared_ptr& __r) _NOEXCEPT
: __ptr_(__r.__ptr_), : __ptr_(__r.__ptr_),
__cntrl_(__r.__cntrl_) __cntrl_(__r.__cntrl_)
@ -4276,7 +4292,7 @@ shared_ptr<_Tp>::shared_ptr(const shared_ptr& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type)
_NOEXCEPT _NOEXCEPT
@ -4290,7 +4306,7 @@ shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r,
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>::shared_ptr(shared_ptr&& __r) _NOEXCEPT shared_ptr<_Tp>::shared_ptr(shared_ptr&& __r) _NOEXCEPT
: __ptr_(__r.__ptr_), : __ptr_(__r.__ptr_),
__cntrl_(__r.__cntrl_) __cntrl_(__r.__cntrl_)
@ -4301,7 +4317,7 @@ shared_ptr<_Tp>::shared_ptr(shared_ptr&& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>::shared_ptr(shared_ptr<_Yp>&& __r, shared_ptr<_Tp>::shared_ptr(shared_ptr<_Yp>&& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type)
_NOEXCEPT _NOEXCEPT
@ -4588,7 +4604,7 @@ shared_ptr<_Tp>::~shared_ptr()
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>& shared_ptr<_Tp>&
shared_ptr<_Tp>::operator=(const shared_ptr& __r) _NOEXCEPT shared_ptr<_Tp>::operator=(const shared_ptr& __r) _NOEXCEPT
{ {
@ -4598,7 +4614,7 @@ shared_ptr<_Tp>::operator=(const shared_ptr& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -4613,7 +4629,7 @@ shared_ptr<_Tp>::operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
shared_ptr<_Tp>& shared_ptr<_Tp>&
shared_ptr<_Tp>::operator=(shared_ptr&& __r) _NOEXCEPT shared_ptr<_Tp>::operator=(shared_ptr&& __r) _NOEXCEPT
{ {
@ -4623,7 +4639,7 @@ shared_ptr<_Tp>::operator=(shared_ptr&& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -4637,7 +4653,7 @@ shared_ptr<_Tp>::operator=(shared_ptr<_Yp>&& __r)
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
!is_array<_Yp>::value && !is_array<_Yp>::value &&
@ -4652,7 +4668,7 @@ shared_ptr<_Tp>::operator=(auto_ptr<_Yp>&& __r)
template<class _Tp> template<class _Tp>
template <class _Yp, class _Dp> template <class _Yp, class _Dp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
!is_array<_Yp>::value && !is_array<_Yp>::value &&
@ -4700,7 +4716,7 @@ shared_ptr<_Tp>::operator=(unique_ptr<_Yp, _Dp> __r)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
shared_ptr<_Tp>::swap(shared_ptr& __r) _NOEXCEPT shared_ptr<_Tp>::swap(shared_ptr& __r) _NOEXCEPT
{ {
@ -4709,7 +4725,7 @@ shared_ptr<_Tp>::swap(shared_ptr& __r) _NOEXCEPT
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
shared_ptr<_Tp>::reset() _NOEXCEPT shared_ptr<_Tp>::reset() _NOEXCEPT
{ {
@ -4718,7 +4734,7 @@ shared_ptr<_Tp>::reset() _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -4731,7 +4747,7 @@ shared_ptr<_Tp>::reset(_Yp* __p)
template<class _Tp> template<class _Tp>
template<class _Yp, class _Dp> template<class _Yp, class _Dp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -4744,7 +4760,7 @@ shared_ptr<_Tp>::reset(_Yp* __p, _Dp __d)
template<class _Tp> template<class _Tp>
template<class _Yp, class _Dp, class _Alloc> template<class _Yp, class _Dp, class _Alloc>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -5061,23 +5077,27 @@ private:
__shared_weak_count* __cntrl_; __shared_weak_count* __cntrl_;
public: public:
_LIBCPP_INLINE_VISIBILITY
_LIBCPP_CONSTEXPR weak_ptr() _NOEXCEPT; _LIBCPP_CONSTEXPR weak_ptr() _NOEXCEPT;
template<class _Yp> weak_ptr(shared_ptr<_Yp> const& __r, template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(shared_ptr<_Yp> const& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
_NOEXCEPT; _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
weak_ptr(weak_ptr const& __r) _NOEXCEPT; weak_ptr(weak_ptr const& __r) _NOEXCEPT;
template<class _Yp> weak_ptr(weak_ptr<_Yp> const& __r, template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp> const& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
_NOEXCEPT; _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
weak_ptr(weak_ptr&& __r) _NOEXCEPT; weak_ptr(weak_ptr&& __r) _NOEXCEPT;
template<class _Yp> weak_ptr(weak_ptr<_Yp>&& __r, template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp>&& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0)
_NOEXCEPT; _NOEXCEPT;
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
~weak_ptr(); ~weak_ptr();
_LIBCPP_INLINE_VISIBILITY
weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT; weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT;
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -5085,10 +5105,12 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
weak_ptr& weak_ptr&
>::type >::type
_LIBCPP_INLINE_VISIBILITY
operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT; operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT;
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
weak_ptr& operator=(weak_ptr&& __r) _NOEXCEPT; weak_ptr& operator=(weak_ptr&& __r) _NOEXCEPT;
template<class _Yp> template<class _Yp>
typename enable_if typename enable_if
@ -5096,6 +5118,7 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
weak_ptr& weak_ptr&
>::type >::type
_LIBCPP_INLINE_VISIBILITY
operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT; operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT;
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
@ -5106,9 +5129,12 @@ public:
is_convertible<_Yp*, element_type*>::value, is_convertible<_Yp*, element_type*>::value,
weak_ptr& weak_ptr&
>::type >::type
_LIBCPP_INLINE_VISIBILITY
operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT; operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void swap(weak_ptr& __r) _NOEXCEPT; void swap(weak_ptr& __r) _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY
void reset() _NOEXCEPT; void reset() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -5132,7 +5158,7 @@ public:
}; };
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
_LIBCPP_CONSTEXPR _LIBCPP_CONSTEXPR
weak_ptr<_Tp>::weak_ptr() _NOEXCEPT weak_ptr<_Tp>::weak_ptr() _NOEXCEPT
: __ptr_(0), : __ptr_(0),
@ -5141,7 +5167,7 @@ weak_ptr<_Tp>::weak_ptr() _NOEXCEPT
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT
: __ptr_(__r.__ptr_), : __ptr_(__r.__ptr_),
__cntrl_(__r.__cntrl_) __cntrl_(__r.__cntrl_)
@ -5152,7 +5178,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r, weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
_NOEXCEPT _NOEXCEPT
@ -5165,7 +5191,7 @@ weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r,
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r, weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
_NOEXCEPT _NOEXCEPT
@ -5179,7 +5205,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r,
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT
: __ptr_(__r.__ptr_), : __ptr_(__r.__ptr_),
__cntrl_(__r.__cntrl_) __cntrl_(__r.__cntrl_)
@ -5190,7 +5216,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp>&& __r, weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp>&& __r,
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type)
_NOEXCEPT _NOEXCEPT
@ -5211,7 +5237,7 @@ weak_ptr<_Tp>::~weak_ptr()
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>& weak_ptr<_Tp>&
weak_ptr<_Tp>::operator=(weak_ptr const& __r) _NOEXCEPT weak_ptr<_Tp>::operator=(weak_ptr const& __r) _NOEXCEPT
{ {
@ -5221,7 +5247,7 @@ weak_ptr<_Tp>::operator=(weak_ptr const& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -5236,7 +5262,7 @@ weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
weak_ptr<_Tp>& weak_ptr<_Tp>&
weak_ptr<_Tp>::operator=(weak_ptr&& __r) _NOEXCEPT weak_ptr<_Tp>::operator=(weak_ptr&& __r) _NOEXCEPT
{ {
@ -5246,7 +5272,7 @@ weak_ptr<_Tp>::operator=(weak_ptr&& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -5262,7 +5288,7 @@ weak_ptr<_Tp>::operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT
template<class _Tp> template<class _Tp>
template<class _Yp> template<class _Yp>
inline _LIBCPP_INLINE_VISIBILITY inline
typename enable_if typename enable_if
< <
is_convertible<_Yp*, _Tp*>::value, is_convertible<_Yp*, _Tp*>::value,
@ -5275,7 +5301,7 @@ weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
weak_ptr<_Tp>::swap(weak_ptr& __r) _NOEXCEPT weak_ptr<_Tp>::swap(weak_ptr& __r) _NOEXCEPT
{ {
@ -5292,7 +5318,7 @@ swap(weak_ptr<_Tp>& __x, weak_ptr<_Tp>& __y) _NOEXCEPT
} }
template<class _Tp> template<class _Tp>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
weak_ptr<_Tp>::reset() _NOEXCEPT weak_ptr<_Tp>::reset() _NOEXCEPT
{ {

View File

@ -3119,6 +3119,7 @@ public:
independent_bits_engine<_Eng, _Wp, _UI>& __x); independent_bits_engine<_Eng, _Wp, _UI>& __x);
private: private:
_LIBCPP_INLINE_VISIBILITY
result_type __eval(false_type); result_type __eval(false_type);
result_type __eval(true_type); result_type __eval(true_type);
@ -3144,7 +3145,7 @@ private:
}; };
template<class _Engine, size_t __w, class _UIntType> template<class _Engine, size_t __w, class _UIntType>
inline _LIBCPP_INLINE_VISIBILITY inline
_UIntType _UIntType
independent_bits_engine<_Engine, __w, _UIntType>::__eval(false_type) independent_bits_engine<_Engine, __w, _UIntType>::__eval(false_type)
{ {
@ -3735,7 +3736,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
result_type operator()(_URNG& __g) result_type operator()(_URNG& __g)
{return (*this)(__g, __p_);} {return (*this)(__g, __p_);}
template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
// property functions // property functions
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -3765,7 +3766,7 @@ public:
template<class _RealType> template<class _RealType>
template<class _URNG> template<class _URNG>
inline _LIBCPP_INLINE_VISIBILITY inline
typename uniform_real_distribution<_RealType>::result_type typename uniform_real_distribution<_RealType>::result_type
uniform_real_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p) uniform_real_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
{ {
@ -3851,7 +3852,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
result_type operator()(_URNG& __g) result_type operator()(_URNG& __g)
{return (*this)(__g, __p_);} {return (*this)(__g, __p_);}
template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
// property functions // property functions
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -3878,7 +3879,7 @@ public:
}; };
template<class _URNG> template<class _URNG>
inline _LIBCPP_INLINE_VISIBILITY inline
bernoulli_distribution::result_type bernoulli_distribution::result_type
bernoulli_distribution::operator()(_URNG& __g, const param_type& __p) bernoulli_distribution::operator()(_URNG& __g, const param_type& __p)
{ {
@ -5522,7 +5523,7 @@ public:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
result_type operator()(_URNG& __g) result_type operator()(_URNG& __g)
{return (*this)(__g, __p_);} {return (*this)(__g, __p_);}
template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p);
// property functions // property functions
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
@ -5552,7 +5553,7 @@ public:
template <class _RealType> template <class _RealType>
template<class _URNG> template<class _URNG>
inline _LIBCPP_INLINE_VISIBILITY inline
_RealType _RealType
cauchy_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p) cauchy_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p)
{ {

View File

@ -1048,6 +1048,7 @@ private:
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
int __regex_traits_value(char __ch, int __radix) const int __regex_traits_value(char __ch, int __radix) const
{return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);} {return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);}
_LIBCPP_INLINE_VISIBILITY
int __regex_traits_value(wchar_t __ch, int __radix) const; int __regex_traits_value(wchar_t __ch, int __radix) const;
}; };
@ -1270,7 +1271,7 @@ regex_traits<_CharT>::__regex_traits_value(unsigned char __ch, int __radix)
} }
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
int int
regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const
{ {

View File

@ -517,10 +517,14 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits
{return __c1 < __c2;} {return __c1 < __c2;}
static int compare(const char_type* __s1, const char_type* __s2, size_t __n); static int compare(const char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static size_t length(const char_type* __s); static size_t length(const char_type* __s);
_LIBCPP_INLINE_VISIBILITY
static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); static const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); static char_type* move(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* assign(char_type* __s, size_t __n, char_type __a); static char_type* assign(char_type* __s, size_t __n, char_type __a);
static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT
@ -550,7 +554,7 @@ char_traits<_CharT>::compare(const char_type* __s1, const char_type* __s2, size_
} }
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
char_traits<_CharT>::length(const char_type* __s) char_traits<_CharT>::length(const char_type* __s)
{ {
@ -561,7 +565,7 @@ char_traits<_CharT>::length(const char_type* __s)
} }
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
const _CharT* const _CharT*
char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a) char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a)
{ {
@ -595,7 +599,7 @@ char_traits<_CharT>::move(char_type* __s1, const char_type* __s2, size_t __n)
} }
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
_CharT* _CharT*
char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n) char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -607,7 +611,7 @@ char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n)
} }
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline
_CharT* _CharT*
char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a) char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a)
{ {
@ -726,11 +730,17 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits<char16_t>
static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
{return __c1 < __c2;} {return __c1 < __c2;}
_LIBCPP_INLINE_VISIBILITY
static int compare(const char_type* __s1, const char_type* __s2, size_t __n); static int compare(const char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static size_t length(const char_type* __s); static size_t length(const char_type* __s);
_LIBCPP_INLINE_VISIBILITY
static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); static const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
_LIBCPP_INLINE_VISIBILITY
static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); static char_type* move(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* assign(char_type* __s, size_t __n, char_type __a); static char_type* assign(char_type* __s, size_t __n, char_type __a);
static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT
@ -745,7 +755,7 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits<char16_t>
{return int_type(0xFFFF);} {return int_type(0xFFFF);}
}; };
inline _LIBCPP_INLINE_VISIBILITY inline
int int
char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -759,7 +769,7 @@ char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, siz
return 0; return 0;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
char_traits<char16_t>::length(const char_type* __s) char_traits<char16_t>::length(const char_type* __s)
{ {
@ -769,7 +779,7 @@ char_traits<char16_t>::length(const char_type* __s)
return __len; return __len;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
const char16_t* const char16_t*
char_traits<char16_t>::find(const char_type* __s, size_t __n, const char_type& __a) char_traits<char16_t>::find(const char_type* __s, size_t __n, const char_type& __a)
{ {
@ -782,7 +792,7 @@ char_traits<char16_t>::find(const char_type* __s, size_t __n, const char_type& _
return 0; return 0;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char16_t* char16_t*
char_traits<char16_t>::move(char_type* __s1, const char_type* __s2, size_t __n) char_traits<char16_t>::move(char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -802,7 +812,7 @@ char_traits<char16_t>::move(char_type* __s1, const char_type* __s2, size_t __n)
return __r; return __r;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char16_t* char16_t*
char_traits<char16_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) char_traits<char16_t>::copy(char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -813,7 +823,7 @@ char_traits<char16_t>::copy(char_type* __s1, const char_type* __s2, size_t __n)
return __r; return __r;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char16_t* char16_t*
char_traits<char16_t>::assign(char_type* __s, size_t __n, char_type __a) char_traits<char16_t>::assign(char_type* __s, size_t __n, char_type __a)
{ {
@ -839,11 +849,17 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits<char32_t>
static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT
{return __c1 < __c2;} {return __c1 < __c2;}
_LIBCPP_INLINE_VISIBILITY
static int compare(const char_type* __s1, const char_type* __s2, size_t __n); static int compare(const char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static size_t length(const char_type* __s); static size_t length(const char_type* __s);
_LIBCPP_INLINE_VISIBILITY
static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); static const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
_LIBCPP_INLINE_VISIBILITY
static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); static char_type* move(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n);
_LIBCPP_INLINE_VISIBILITY
static char_type* assign(char_type* __s, size_t __n, char_type __a); static char_type* assign(char_type* __s, size_t __n, char_type __a);
static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT
@ -858,7 +874,7 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits<char32_t>
{return int_type(0xFFFFFFFF);} {return int_type(0xFFFFFFFF);}
}; };
inline _LIBCPP_INLINE_VISIBILITY inline
int int
char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -872,7 +888,7 @@ char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, siz
return 0; return 0;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
size_t size_t
char_traits<char32_t>::length(const char_type* __s) char_traits<char32_t>::length(const char_type* __s)
{ {
@ -882,7 +898,7 @@ char_traits<char32_t>::length(const char_type* __s)
return __len; return __len;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
const char32_t* const char32_t*
char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& __a) char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& __a)
{ {
@ -895,7 +911,7 @@ char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& _
return 0; return 0;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char32_t* char32_t*
char_traits<char32_t>::move(char_type* __s1, const char_type* __s2, size_t __n) char_traits<char32_t>::move(char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -915,7 +931,7 @@ char_traits<char32_t>::move(char_type* __s1, const char_type* __s2, size_t __n)
return __r; return __r;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char32_t* char32_t*
char_traits<char32_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) char_traits<char32_t>::copy(char_type* __s1, const char_type* __s2, size_t __n)
{ {
@ -926,7 +942,7 @@ char_traits<char32_t>::copy(char_type* __s1, const char_type* __s2, size_t __n)
return __r; return __r;
} }
inline _LIBCPP_INLINE_VISIBILITY inline
char32_t* char32_t*
char_traits<char32_t>::assign(char_type* __s, size_t __n, char_type __a) char_traits<char32_t>::assign(char_type* __s, size_t __n, char_type __a)
{ {

View File

@ -318,6 +318,7 @@ public:
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {__t.__t_ = 0;} thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {__t.__t_ = 0;}
_LIBCPP_INLINE_VISIBILITY
thread& operator=(thread&& __t) _NOEXCEPT; thread& operator=(thread&& __t) _NOEXCEPT;
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
@ -399,7 +400,7 @@ thread::thread(_Fp __f)
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
inline _LIBCPP_INLINE_VISIBILITY inline
thread& thread&
thread::operator=(thread&& __t) _NOEXCEPT thread::operator=(thread&& __t) _NOEXCEPT
{ {

File diff suppressed because it is too large Load Diff

View File

@ -685,9 +685,11 @@ public:
_LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x); _LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x);
#ifndef _LIBCPP_HAS_NO_VARIADICS #ifndef _LIBCPP_HAS_NO_VARIADICS
template <class... _Args> template <class... _Args>
_LIBCPP_INLINE_VISIBILITY
void emplace_back(_Args&&... __args); void emplace_back(_Args&&... __args);
#endif // _LIBCPP_HAS_NO_VARIADICS #endif // _LIBCPP_HAS_NO_VARIADICS
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
_LIBCPP_INLINE_VISIBILITY
void pop_back(); void pop_back();
iterator insert(const_iterator __position, const_reference __x); iterator insert(const_iterator __position, const_reference __x);
@ -766,6 +768,7 @@ private:
void deallocate() _NOEXCEPT; void deallocate() _NOEXCEPT;
_LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const; _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const;
void __construct_at_end(size_type __n); void __construct_at_end(size_type __n);
_LIBCPP_INLINE_VISIBILITY
void __construct_at_end(size_type __n, const_reference __x); void __construct_at_end(size_type __n, const_reference __x);
template <class _ForwardIterator> template <class _ForwardIterator>
typename enable_if typename enable_if
@ -990,7 +993,7 @@ vector<_Tp, _Allocator>::__construct_at_end(size_type __n)
// Postcondition: size() == old size() + __n // Postcondition: size() == old size() + __n
// Postcondition: [i] == __x for all i in [size() - __n, __n) // Postcondition: [i] == __x for all i in [size() - __n, __n)
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
vector<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x) vector<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
{ {
@ -1627,7 +1630,7 @@ vector<_Tp, _Allocator>::__emplace_back_slow_path(_Args&&... __args)
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
template <class... _Args> template <class... _Args>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
vector<_Tp, _Allocator>::emplace_back(_Args&&... __args) vector<_Tp, _Allocator>::emplace_back(_Args&&... __args)
{ {
@ -1648,7 +1651,7 @@ vector<_Tp, _Allocator>::emplace_back(_Args&&... __args)
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
template <class _Tp, class _Allocator> template <class _Tp, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY inline
void void
vector<_Tp, _Allocator>::pop_back() vector<_Tp, _Allocator>::pop_back()
{ {