Import new version of libc++ into base.
This commit is contained in:
commit
1e0896ace6
@ -415,11 +415,11 @@ template <unsigned> struct __static_assert_check {};
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum _
|
#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum __lx
|
||||||
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
|
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \
|
||||||
_ __v_; \
|
__lx __v_; \
|
||||||
_LIBCPP_ALWAYS_INLINE x(_ __v) : __v_(__v) {} \
|
_LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \
|
||||||
_LIBCPP_ALWAYS_INLINE explicit x(int __v) : __v_(static_cast<_>(__v)) {} \
|
_LIBCPP_ALWAYS_INLINE explicit x(int __v) : __v_(static_cast<__lx>(__v)) {} \
|
||||||
_LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \
|
_LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \
|
||||||
};
|
};
|
||||||
#else // _LIBCPP_HAS_NO_STRONG_ENUMS
|
#else // _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
@ -427,6 +427,10 @@ template <unsigned> struct __static_assert_check {};
|
|||||||
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
|
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x)
|
||||||
#endif // _LIBCPP_HAS_NO_STRONG_ENUMS
|
#endif // _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
|
|
||||||
|
#ifndef _LIBCPP_EXTERN_TEMPLATE
|
||||||
|
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__
|
#if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__
|
||||||
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
|
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
|
||||||
#endif
|
#endif
|
||||||
|
@ -43,7 +43,7 @@ template <class _Tp>
|
|||||||
struct __has_result_type
|
struct __has_result_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::result_type* = 0);
|
template <class _Up> static char __test(typename _Up::result_type* = 0);
|
||||||
public:
|
public:
|
||||||
@ -69,7 +69,7 @@ template <class _Tp>
|
|||||||
struct __derives_from_unary_function
|
struct __derives_from_unary_function
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
static __two __test(...);
|
static __two __test(...);
|
||||||
template <class _Ap, class _Rp>
|
template <class _Ap, class _Rp>
|
||||||
static unary_function<_Ap, _Rp>
|
static unary_function<_Ap, _Rp>
|
||||||
@ -83,7 +83,7 @@ template <class _Tp>
|
|||||||
struct __derives_from_binary_function
|
struct __derives_from_binary_function
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
static __two __test(...);
|
static __two __test(...);
|
||||||
template <class _A1, class _A2, class _Rp>
|
template <class _A1, class _A2, class _Rp>
|
||||||
static binary_function<_A1, _A2, _Rp>
|
static binary_function<_A1, _A2, _Rp>
|
||||||
|
@ -19,7 +19,7 @@ template <class _Tp>
|
|||||||
struct __derives_from_unary_function
|
struct __derives_from_unary_function
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
static __two __test(...);
|
static __two __test(...);
|
||||||
template <class _Ap, class _Rp>
|
template <class _Ap, class _Rp>
|
||||||
static unary_function<_Ap, _Rp>
|
static unary_function<_Ap, _Rp>
|
||||||
@ -33,7 +33,7 @@ template <class _Tp>
|
|||||||
struct __derives_from_binary_function
|
struct __derives_from_binary_function
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
static __two __test(...);
|
static __two __test(...);
|
||||||
template <class _A1, class _A2, class _Rp>
|
template <class _A1, class _A2, class _Rp>
|
||||||
static binary_function<_A1, _A2, _Rp>
|
static binary_function<_A1, _A2, _Rp>
|
||||||
@ -943,7 +943,7 @@ template <class _Tp>
|
|||||||
struct __has_type
|
struct __has_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::type* = 0);
|
template <class _Up> static char __test(typename _Up::type* = 0);
|
||||||
public:
|
public:
|
||||||
|
@ -254,8 +254,8 @@ collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const
|
|||||||
return static_cast<long>(__h);
|
return static_cast<long>(__h);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class _LIBCPP_VISIBLE collate<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<char>)
|
||||||
extern template class _LIBCPP_VISIBLE collate<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<wchar_t>)
|
||||||
|
|
||||||
// template <class CharT> class collate_byname;
|
// template <class CharT> class collate_byname;
|
||||||
|
|
||||||
@ -1135,10 +1135,10 @@ codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class codecvt_byname<char, char, mbstate_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char, char, mbstate_t>)
|
||||||
extern template class codecvt_byname<wchar_t, char, mbstate_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<wchar_t, char, mbstate_t>)
|
||||||
extern template class codecvt_byname<char16_t, char, mbstate_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char16_t, char, mbstate_t>)
|
||||||
extern template class codecvt_byname<char32_t, char, mbstate_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char32_t, char, mbstate_t>)
|
||||||
|
|
||||||
_LIBCPP_VISIBLE void __throw_runtime_error(const char*);
|
_LIBCPP_VISIBLE void __throw_runtime_error(const char*);
|
||||||
|
|
||||||
|
@ -287,14 +287,14 @@ swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) _NOEXCEPT
|
|||||||
|
|
||||||
struct _LIBCPP_VISIBLE cv_status
|
struct _LIBCPP_VISIBLE cv_status
|
||||||
{
|
{
|
||||||
enum _ {
|
enum __lx {
|
||||||
no_timeout,
|
no_timeout,
|
||||||
timeout
|
timeout
|
||||||
};
|
};
|
||||||
|
|
||||||
_ __v_;
|
__lx __v_;
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY cv_status(_ __v) : __v_(__v) {}
|
_LIBCPP_INLINE_VISIBILITY cv_status(__lx __v) : __v_(__v) {}
|
||||||
_LIBCPP_INLINE_VISIBILITY operator int() const {return __v_;}
|
_LIBCPP_INLINE_VISIBILITY operator int() const {return __v_;}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -3782,39 +3782,39 @@ sort(__wrap_iter<_Tp*> __first, __wrap_iter<_Tp*> __last, _Compare __comp)
|
|||||||
#pragma warning( push )
|
#pragma warning( push )
|
||||||
#pragma warning( disable: 4231)
|
#pragma warning( disable: 4231)
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
extern template void __sort<__less<char>&, char*>(char*, char*, __less<char>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<char>&, char*>(char*, char*, __less<char>&))
|
||||||
extern template void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
|
||||||
extern template void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
|
||||||
extern template void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
|
||||||
extern template void __sort<__less<short>&, short*>(short*, short*, __less<short>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<short>&, short*>(short*, short*, __less<short>&))
|
||||||
extern template void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
|
||||||
extern template void __sort<__less<int>&, int*>(int*, int*, __less<int>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<int>&, int*>(int*, int*, __less<int>&))
|
||||||
extern template void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
|
||||||
extern template void __sort<__less<long>&, long*>(long*, long*, __less<long>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long>&, long*>(long*, long*, __less<long>&))
|
||||||
extern template void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
|
||||||
extern template void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
|
||||||
extern template void __sort<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
|
||||||
extern template void __sort<__less<float>&, float*>(float*, float*, __less<float>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<float>&, float*>(float*, float*, __less<float>&))
|
||||||
extern template void __sort<__less<double>&, double*>(double*, double*, __less<double>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<double>&, double*>(double*, double*, __less<double>&))
|
||||||
extern template void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&);
|
_LIBCPP_EXTERN_TEMPLATE(void __sort<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
|
||||||
|
|
||||||
extern template bool __insertion_sort_incomplete<__less<char>&, char*>(char*, char*, __less<char>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<char>&, char*>(char*, char*, __less<char>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, __less<unsigned char>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<short>&, short*>(short*, short*, __less<short>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<short>&, short*>(short*, short*, __less<short>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, __less<unsigned short>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<int>&, int*>(int*, int*, __less<int>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<int>&, int*>(int*, int*, __less<int>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned>&, unsigned*>(unsigned*, unsigned*, __less<unsigned>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<long>&, long*>(long*, long*, __less<long>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long>&, long*>(long*, long*, __less<long>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned long>&, unsigned long*>(unsigned long*, unsigned long*, __less<unsigned long>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<long long>&, long long*>(long long*, long long*, __less<long long>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long long>&, long long*>(long long*, long long*, __less<long long>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<unsigned long long>&, unsigned long long*>(unsigned long long*, unsigned long long*, __less<unsigned long long>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<float>&, float*>(float*, float*, __less<float>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<float>&, float*>(float*, float*, __less<float>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<double>&, double*>(double*, double*, __less<double>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<double>&, double*>(double*, double*, __less<double>&))
|
||||||
extern template bool __insertion_sort_incomplete<__less<long double>&, long double*>(long double*, long double*, __less<long double>&);
|
_LIBCPP_EXTERN_TEMPLATE(bool __insertion_sort_incomplete<__less<long double>&, long double*>(long double*, long double*, __less<long double>&))
|
||||||
|
|
||||||
extern template unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&);
|
_LIBCPP_EXTERN_TEMPLATE(unsigned __sort5<__less<long double>&, long double*>(long double*, long double*, long double*, long double*, long double*, __less<long double>&))
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning( pop )
|
#pragma warning( pop )
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
|
@ -1202,7 +1202,9 @@ fdim(_A1 __x, _A2 __y) _NOEXCEPT
|
|||||||
// fma
|
// fma
|
||||||
|
|
||||||
inline _LIBCPP_INLINE_VISIBILITY float fmaf(float __x, float __y, float __z) _NOEXCEPT {return (float)((double)__x*__y + __z);}
|
inline _LIBCPP_INLINE_VISIBILITY float fmaf(float __x, float __y, float __z) _NOEXCEPT {return (float)((double)__x*__y + __z);}
|
||||||
|
#ifndef FP_FAST_FMAF
|
||||||
#define FP_FAST_FMAF
|
#define FP_FAST_FMAF
|
||||||
|
#endif
|
||||||
|
|
||||||
using ::fma;
|
using ::fma;
|
||||||
|
|
||||||
|
@ -1249,10 +1249,12 @@ acosh(const complex<_Tp>& __x)
|
|||||||
if (isnan(__x.imag()))
|
if (isnan(__x.imag()))
|
||||||
return complex<_Tp>(abs(__x.real()), __x.imag());
|
return complex<_Tp>(abs(__x.real()), __x.imag());
|
||||||
if (isinf(__x.imag()))
|
if (isinf(__x.imag()))
|
||||||
|
{
|
||||||
if (__x.real() > 0)
|
if (__x.real() > 0)
|
||||||
return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
|
return complex<_Tp>(__x.real(), copysign(__pi * _Tp(0.25), __x.imag()));
|
||||||
else
|
else
|
||||||
return complex<_Tp>(-__x.real(), copysign(__pi * _Tp(0.75), __x.imag()));
|
return complex<_Tp>(-__x.real(), copysign(__pi * _Tp(0.75), __x.imag()));
|
||||||
|
}
|
||||||
if (__x.real() < 0)
|
if (__x.real() < 0)
|
||||||
return complex<_Tp>(-__x.real(), copysign(__pi, __x.imag()));
|
return complex<_Tp>(-__x.real(), copysign(__pi, __x.imag()));
|
||||||
return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
|
return complex<_Tp>(__x.real(), copysign(_Tp(0), __x.imag()));
|
||||||
|
@ -163,7 +163,7 @@ inline _LIBCPP_INLINE_VISIBILITY
|
|||||||
void
|
void
|
||||||
condition_variable_any::notify_one() _NOEXCEPT
|
condition_variable_any::notify_one() _NOEXCEPT
|
||||||
{
|
{
|
||||||
{lock_guard<mutex> _(*__mut_);}
|
{lock_guard<mutex> __lx(*__mut_);}
|
||||||
__cv_.notify_one();
|
__cv_.notify_one();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ inline _LIBCPP_INLINE_VISIBILITY
|
|||||||
void
|
void
|
||||||
condition_variable_any::notify_all() _NOEXCEPT
|
condition_variable_any::notify_all() _NOEXCEPT
|
||||||
{
|
{
|
||||||
{lock_guard<mutex> _(*__mut_);}
|
{lock_guard<mutex> __lx(*__mut_);}
|
||||||
__cv_.notify_all();
|
__cv_.notify_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,8 +188,8 @@ condition_variable_any::wait(_Lock& __lock)
|
|||||||
shared_ptr<mutex> __mut = __mut_;
|
shared_ptr<mutex> __mut = __mut_;
|
||||||
unique_lock<mutex> __lk(*__mut);
|
unique_lock<mutex> __lk(*__mut);
|
||||||
__lock.unlock();
|
__lock.unlock();
|
||||||
unique_ptr<_Lock, __lock_external> __(&__lock);
|
unique_ptr<_Lock, __lock_external> __lxx(&__lock);
|
||||||
lock_guard<unique_lock<mutex> > _(__lk, adopt_lock);
|
lock_guard<unique_lock<mutex> > __lx(__lk, adopt_lock);
|
||||||
__cv_.wait(__lk);
|
__cv_.wait(__lk);
|
||||||
} // __mut_.unlock(), __lock.lock()
|
} // __mut_.unlock(), __lock.lock()
|
||||||
|
|
||||||
@ -210,8 +210,8 @@ condition_variable_any::wait_until(_Lock& __lock,
|
|||||||
shared_ptr<mutex> __mut = __mut_;
|
shared_ptr<mutex> __mut = __mut_;
|
||||||
unique_lock<mutex> __lk(*__mut);
|
unique_lock<mutex> __lk(*__mut);
|
||||||
__lock.unlock();
|
__lock.unlock();
|
||||||
unique_ptr<_Lock, __lock_external> __(&__lock);
|
unique_ptr<_Lock, __lock_external> __lxx(&__lock);
|
||||||
lock_guard<unique_lock<mutex> > _(__lk, adopt_lock);
|
lock_guard<unique_lock<mutex> > __lx(__lk, adopt_lock);
|
||||||
return __cv_.wait_until(__lk, __t);
|
return __cv_.wait_until(__lk, __t);
|
||||||
} // __mut_.unlock(), __lock.lock()
|
} // __mut_.unlock(), __lock.lock()
|
||||||
|
|
||||||
|
@ -58,12 +58,12 @@ typedef long double max_align_t;
|
|||||||
|
|
||||||
struct _LIBCPP_VISIBLE nullptr_t
|
struct _LIBCPP_VISIBLE nullptr_t
|
||||||
{
|
{
|
||||||
void* _;
|
void* __lx;
|
||||||
|
|
||||||
struct __nat {int __for_bool_;};
|
struct __nat {int __for_bool_;};
|
||||||
|
|
||||||
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t() : _(0) {}
|
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t() : __lx(0) {}
|
||||||
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t(int __nat::*) : _(0) {}
|
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t(int __nat::*) : __lx(0) {}
|
||||||
|
|
||||||
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR operator int __nat::*() const {return 0;}
|
_LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR operator int __nat::*() const {return 0;}
|
||||||
|
|
||||||
|
@ -43,4 +43,4 @@ template <> struct _LIBCPP_VISIBLE hash<char *>
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif _LIBCPP_EXT_HASH
|
#endif // _LIBCPP_EXT_HASH
|
||||||
|
@ -391,7 +391,7 @@ struct _LIBCPP_VISIBLE is_error_code_enum<future_errc> : public true_type {};
|
|||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
template <>
|
template <>
|
||||||
struct _LIBCPP_VISIBLE is_error_code_enum<future_errc::_> : public true_type { };
|
struct _LIBCPP_VISIBLE is_error_code_enum<future_errc::__lx> : public true_type { };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//enum class launch
|
//enum class launch
|
||||||
|
@ -384,7 +384,7 @@ struct _LIBCPP_VISIBLE is_error_code_enum<io_errc> : public true_type { };
|
|||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
template <>
|
template <>
|
||||||
struct _LIBCPP_VISIBLE is_error_code_enum<io_errc::_> : public true_type { };
|
struct _LIBCPP_VISIBLE is_error_code_enum<io_errc::__lx> : public true_type { };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_LIBCPP_VISIBLE
|
_LIBCPP_VISIBLE
|
||||||
|
@ -1189,7 +1189,11 @@ basic_istream<_CharT, _Traits>::peek()
|
|||||||
#endif // _LIBCPP_NO_EXCEPTIONS
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
|
{
|
||||||
__r = this->rdbuf()->sgetc();
|
__r = this->rdbuf()->sgetc();
|
||||||
|
if (traits_type::eq_int_type(__r, traits_type::eof()))
|
||||||
|
this->setstate(ios_base::eofbit);
|
||||||
|
}
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
@ -1706,9 +1710,9 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
|
|||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class basic_istream<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_istream<char>)
|
||||||
extern template class basic_istream<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_istream<wchar_t>)
|
||||||
extern template class basic_iostream<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_iostream<char>)
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@ -337,7 +337,7 @@ template <class _Tp>
|
|||||||
struct __has_iterator_category
|
struct __has_iterator_category
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::iterator_category* = 0);
|
template <class _Up> static char __test(typename _Up::iterator_category* = 0);
|
||||||
public:
|
public:
|
||||||
|
@ -692,8 +692,8 @@ __num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __ex
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template struct __num_get<char>;
|
_LIBCPP_EXTERN_TEMPLATE(struct __num_get<char>)
|
||||||
extern template struct __num_get<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(struct __num_get<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
|
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
|
||||||
class _LIBCPP_VISIBLE num_get
|
class _LIBCPP_VISIBLE num_get
|
||||||
@ -1314,8 +1314,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
return __b;
|
return __b;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class num_get<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class num_get<char>)
|
||||||
extern template class num_get<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class num_get<wchar_t>)
|
||||||
|
|
||||||
struct __num_put_base
|
struct __num_put_base
|
||||||
{
|
{
|
||||||
@ -1464,8 +1464,8 @@ __num_put<_CharT>::__widen_and_group_float(char* __nb, char* __np, char* __ne,
|
|||||||
__op = __ob + (__np - __nb);
|
__op = __ob + (__np - __nb);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template struct __num_put<char>;
|
_LIBCPP_EXTERN_TEMPLATE(struct __num_put<char>)
|
||||||
extern template struct __num_put<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(struct __num_put<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
||||||
class _LIBCPP_VISIBLE num_put
|
class _LIBCPP_VISIBLE num_put
|
||||||
@ -1938,8 +1938,8 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
|
|||||||
return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
|
return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class num_put<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class num_put<char>)
|
||||||
extern template class num_put<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class num_put<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _InputIterator>
|
template <class _CharT, class _InputIterator>
|
||||||
_LIBCPP_HIDDEN
|
_LIBCPP_HIDDEN
|
||||||
@ -2605,8 +2605,8 @@ time_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
return __b;
|
return __b;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class time_get<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_get<char>)
|
||||||
extern template class time_get<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_get<wchar_t>)
|
||||||
|
|
||||||
class __time_get
|
class __time_get
|
||||||
{
|
{
|
||||||
@ -2688,8 +2688,8 @@ private:
|
|||||||
virtual const string_type& __X() const {return this->__X_;}
|
virtual const string_type& __X() const {return this->__X_;}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern template class time_get_byname<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_get_byname<char>)
|
||||||
extern template class time_get_byname<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_get_byname<wchar_t>)
|
||||||
|
|
||||||
class __time_put
|
class __time_put
|
||||||
{
|
{
|
||||||
@ -2801,8 +2801,8 @@ time_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base&,
|
|||||||
return _VSTD::copy(__nb, __ne, __s);
|
return _VSTD::copy(__nb, __ne, __s);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class time_put<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_put<char>)
|
||||||
extern template class time_put<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_put<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
||||||
class _LIBCPP_VISIBLE time_put_byname
|
class _LIBCPP_VISIBLE time_put_byname
|
||||||
@ -2822,8 +2822,8 @@ protected:
|
|||||||
~time_put_byname() {}
|
~time_put_byname() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern template class time_put_byname<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_put_byname<char>)
|
||||||
extern template class time_put_byname<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class time_put_byname<wchar_t>)
|
||||||
|
|
||||||
// money_base
|
// money_base
|
||||||
|
|
||||||
@ -2885,10 +2885,10 @@ template <class _CharT, bool _International>
|
|||||||
locale::id
|
locale::id
|
||||||
moneypunct<_CharT, _International>::id;
|
moneypunct<_CharT, _International>::id;
|
||||||
|
|
||||||
extern template class moneypunct<char, false>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<char, false>)
|
||||||
extern template class moneypunct<char, true>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<char, true>)
|
||||||
extern template class moneypunct<wchar_t, false>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<wchar_t, false>)
|
||||||
extern template class moneypunct<wchar_t, true>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct<wchar_t, true>)
|
||||||
|
|
||||||
// moneypunct_byname
|
// moneypunct_byname
|
||||||
|
|
||||||
@ -2942,10 +2942,10 @@ template<> void moneypunct_byname<char, true>::init(const char*);
|
|||||||
template<> void moneypunct_byname<wchar_t, false>::init(const char*);
|
template<> void moneypunct_byname<wchar_t, false>::init(const char*);
|
||||||
template<> void moneypunct_byname<wchar_t, true>::init(const char*);
|
template<> void moneypunct_byname<wchar_t, true>::init(const char*);
|
||||||
|
|
||||||
extern template class moneypunct_byname<char, false>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct_byname<char, false>)
|
||||||
extern template class moneypunct_byname<char, true>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct_byname<char, true>)
|
||||||
extern template class moneypunct_byname<wchar_t, false>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct_byname<wchar_t, false>)
|
||||||
extern template class moneypunct_byname<wchar_t, true>;
|
_LIBCPP_EXTERN_TEMPLATE(class moneypunct_byname<wchar_t, true>)
|
||||||
|
|
||||||
// money_get
|
// money_get
|
||||||
|
|
||||||
@ -3001,8 +3001,8 @@ __money_get<_CharT>::__gather_info(bool __intl, const locale& __loc,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class __money_get<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class __money_get<char>)
|
||||||
extern template class __money_get<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class __money_get<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
|
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
|
||||||
class _LIBCPP_VISIBLE money_get
|
class _LIBCPP_VISIBLE money_get
|
||||||
@ -3382,8 +3382,8 @@ money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
return __b;
|
return __b;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class money_get<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class money_get<char>)
|
||||||
extern template class money_get<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class money_get<wchar_t>)
|
||||||
|
|
||||||
// money_put
|
// money_put
|
||||||
|
|
||||||
@ -3557,8 +3557,8 @@ __money_put<_CharT>::__format(char_type* __mb, char_type*& __mi, char_type*& __m
|
|||||||
__mi = __mb;
|
__mi = __mb;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class __money_put<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class __money_put<char>)
|
||||||
extern template class __money_put<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class __money_put<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
|
||||||
class _LIBCPP_VISIBLE money_put
|
class _LIBCPP_VISIBLE money_put
|
||||||
@ -3714,8 +3714,8 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
|
|||||||
return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);
|
return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class money_put<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class money_put<char>)
|
||||||
extern template class money_put<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class money_put<wchar_t>)
|
||||||
|
|
||||||
// messages
|
// messages
|
||||||
|
|
||||||
@ -3824,8 +3824,8 @@ messages<_CharT>::do_close(catalog __c) const
|
|||||||
#endif // !_WIN32
|
#endif // !_WIN32
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class messages<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class messages<char>)
|
||||||
extern template class messages<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class messages<wchar_t>)
|
||||||
|
|
||||||
template <class _CharT>
|
template <class _CharT>
|
||||||
class _LIBCPP_VISIBLE messages_byname
|
class _LIBCPP_VISIBLE messages_byname
|
||||||
@ -3848,8 +3848,8 @@ protected:
|
|||||||
~messages_byname() {}
|
~messages_byname() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern template class messages_byname<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class messages_byname<char>)
|
||||||
extern template class messages_byname<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class messages_byname<wchar_t>)
|
||||||
|
|
||||||
template<class _Codecvt, class _Elem = wchar_t,
|
template<class _Codecvt, class _Elem = wchar_t,
|
||||||
class _Wide_alloc = allocator<_Elem>,
|
class _Wide_alloc = allocator<_Elem>,
|
||||||
|
@ -694,7 +694,7 @@ template <class _Tp>
|
|||||||
struct __has_element_type
|
struct __has_element_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::element_type* = 0);
|
template <class _Up> static char __test(typename _Up::element_type* = 0);
|
||||||
public:
|
public:
|
||||||
@ -782,7 +782,7 @@ template <class _Tp>
|
|||||||
struct __has_difference_type
|
struct __has_difference_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::difference_type* = 0);
|
template <class _Up> static char __test(typename _Up::difference_type* = 0);
|
||||||
public:
|
public:
|
||||||
@ -805,7 +805,7 @@ template <class _Tp, class _Up>
|
|||||||
struct __has_rebind
|
struct __has_rebind
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Xp> static __two __test(...);
|
template <class _Xp> static __two __test(...);
|
||||||
template <class _Xp> static char __test(typename _Xp::template rebind<_Up>* = 0);
|
template <class _Xp> static char __test(typename _Xp::template rebind<_Up>* = 0);
|
||||||
public:
|
public:
|
||||||
@ -998,7 +998,7 @@ template <class _Tp>
|
|||||||
struct __has_const_pointer
|
struct __has_const_pointer
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::const_pointer* = 0);
|
template <class _Up> static char __test(typename _Up::const_pointer* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1025,7 +1025,7 @@ template <class _Tp>
|
|||||||
struct __has_void_pointer
|
struct __has_void_pointer
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::void_pointer* = 0);
|
template <class _Up> static char __test(typename _Up::void_pointer* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1052,7 +1052,7 @@ template <class _Tp>
|
|||||||
struct __has_const_void_pointer
|
struct __has_const_void_pointer
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::const_void_pointer* = 0);
|
template <class _Up> static char __test(typename _Up::const_void_pointer* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1095,7 +1095,7 @@ template <class _Tp>
|
|||||||
struct __has_size_type
|
struct __has_size_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::size_type* = 0);
|
template <class _Up> static char __test(typename _Up::size_type* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1118,7 +1118,7 @@ template <class _Tp>
|
|||||||
struct __has_propagate_on_container_copy_assignment
|
struct __has_propagate_on_container_copy_assignment
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::propagate_on_container_copy_assignment* = 0);
|
template <class _Up> static char __test(typename _Up::propagate_on_container_copy_assignment* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1141,7 +1141,7 @@ template <class _Tp>
|
|||||||
struct __has_propagate_on_container_move_assignment
|
struct __has_propagate_on_container_move_assignment
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::propagate_on_container_move_assignment* = 0);
|
template <class _Up> static char __test(typename _Up::propagate_on_container_move_assignment* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1164,7 +1164,7 @@ template <class _Tp>
|
|||||||
struct __has_propagate_on_container_swap
|
struct __has_propagate_on_container_swap
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::propagate_on_container_swap* = 0);
|
template <class _Up> static char __test(typename _Up::propagate_on_container_swap* = 0);
|
||||||
public:
|
public:
|
||||||
@ -1187,7 +1187,7 @@ template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
|
|||||||
struct __has_rebind_other
|
struct __has_rebind_other
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Xp> static __two __test(...);
|
template <class _Xp> static __two __test(...);
|
||||||
template <class _Xp> static char __test(typename _Xp::template rebind<_Up>::other* = 0);
|
template <class _Xp> static char __test(typename _Xp::template rebind<_Up>::other* = 0);
|
||||||
public:
|
public:
|
||||||
@ -5268,7 +5268,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p);
|
|||||||
|
|
||||||
class __sp_mut
|
class __sp_mut
|
||||||
{
|
{
|
||||||
void* _;
|
void* __lx;
|
||||||
public:
|
public:
|
||||||
void lock() _NOEXCEPT;
|
void lock() _NOEXCEPT;
|
||||||
void unlock() _NOEXCEPT;
|
void unlock() _NOEXCEPT;
|
||||||
@ -5395,17 +5395,17 @@ atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v
|
|||||||
//enum class
|
//enum class
|
||||||
struct _LIBCPP_VISIBLE pointer_safety
|
struct _LIBCPP_VISIBLE pointer_safety
|
||||||
{
|
{
|
||||||
enum _
|
enum __lx
|
||||||
{
|
{
|
||||||
relaxed,
|
relaxed,
|
||||||
preferred,
|
preferred,
|
||||||
strict
|
strict
|
||||||
};
|
};
|
||||||
|
|
||||||
_ __v_;
|
__lx __v_;
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
pointer_safety(_ __v) : __v_(__v) {}
|
pointer_safety(__lx __v) : __v_(__v) {}
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
operator int() const {return __v_;}
|
operator int() const {return __v_;}
|
||||||
};
|
};
|
||||||
|
@ -1287,8 +1287,8 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const bitset<_Size>& __x)
|
|||||||
use_facet<ctype<_CharT> >(__os.getloc()).widen('1'));
|
use_facet<ctype<_CharT> >(__os.getloc()).widen('1'));
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class basic_ostream<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_ostream<char>)
|
||||||
extern template class basic_ostream<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_ostream<wchar_t>)
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@ -1991,7 +1991,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
|
const linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
__os.fill(__os.widen(' '));
|
__os.fill(__os.widen(' '));
|
||||||
return __os << __x.__x_;
|
return __os << __x.__x_;
|
||||||
@ -2003,7 +2003,7 @@ basic_istream<_CharT, _Traits>&
|
|||||||
operator>>(basic_istream<_CharT, _Traits>& __is,
|
operator>>(basic_istream<_CharT, _Traits>& __is,
|
||||||
linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
|
linear_congruential_engine<_UIntType, __a, __c, __m>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
_UIntType __t;
|
_UIntType __t;
|
||||||
__is >> __t;
|
__is >> __t;
|
||||||
@ -2377,7 +2377,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os,
|
|||||||
const mersenne_twister_engine<_UI, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
|
const mersenne_twister_engine<_UI, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
|
||||||
_Bp, _Tp, _Cp, _Lp, _Fp>& __x)
|
_Bp, _Tp, _Cp, _Lp, _Fp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
__os.fill(__sp);
|
__os.fill(__sp);
|
||||||
@ -2398,7 +2398,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
mersenne_twister_engine<_UI, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
|
mersenne_twister_engine<_UI, _Wp, _Np, _Mp, _Rp, _Ap, _Up, _Dp, _Sp,
|
||||||
_Bp, _Tp, _Cp, _Lp, _Fp>& __x)
|
_Bp, _Tp, _Cp, _Lp, _Fp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
_UI __t[_Np];
|
_UI __t[_Np];
|
||||||
for (size_t __i = 0; __i < _Np; ++__i)
|
for (size_t __i = 0; __i < _Np; ++__i)
|
||||||
@ -2684,7 +2684,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x)
|
const subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
__os.fill(__sp);
|
__os.fill(__sp);
|
||||||
@ -2703,7 +2703,7 @@ basic_istream<_CharT, _Traits>&
|
|||||||
operator>>(basic_istream<_CharT, _Traits>& __is,
|
operator>>(basic_istream<_CharT, _Traits>& __is,
|
||||||
subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x)
|
subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
_UI __t[_Rp+1];
|
_UI __t[_Rp+1];
|
||||||
for (size_t __i = 0; __i < _Rp+1; ++__i)
|
for (size_t __i = 0; __i < _Rp+1; ++__i)
|
||||||
@ -2859,7 +2859,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const discard_block_engine<_Eng, _Pp, _Rp>& __x)
|
const discard_block_engine<_Eng, _Pp, _Rp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
__os.fill(__sp);
|
__os.fill(__sp);
|
||||||
@ -2872,7 +2872,7 @@ basic_istream<_CharT, _Traits>&
|
|||||||
operator>>(basic_istream<_CharT, _Traits>& __is,
|
operator>>(basic_istream<_CharT, _Traits>& __is,
|
||||||
discard_block_engine<_Eng, _Pp, _Rp>& __x)
|
discard_block_engine<_Eng, _Pp, _Rp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
_Eng __e;
|
_Eng __e;
|
||||||
int __n;
|
int __n;
|
||||||
@ -3340,7 +3340,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const shuffle_order_engine<_Eng, _Kp>& __x)
|
const shuffle_order_engine<_Eng, _Kp>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
__os.fill(__sp);
|
__os.fill(__sp);
|
||||||
@ -3357,7 +3357,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
shuffle_order_engine<_Eng, _Kp>& __x)
|
shuffle_order_engine<_Eng, _Kp>& __x)
|
||||||
{
|
{
|
||||||
typedef typename shuffle_order_engine<_Eng, _Kp>::result_type result_type;
|
typedef typename shuffle_order_engine<_Eng, _Kp>::result_type result_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
_Eng __e;
|
_Eng __e;
|
||||||
result_type _Vp[_Kp+1];
|
result_type _Vp[_Kp+1];
|
||||||
@ -3561,7 +3561,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const uniform_int_distribution<_IT>& __x)
|
const uniform_int_distribution<_IT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left);
|
__os.flags(ios_base::dec | ios_base::left);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
__os.fill(__sp);
|
__os.fill(__sp);
|
||||||
@ -3576,7 +3576,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef uniform_int_distribution<_IT> _Eng;
|
typedef uniform_int_distribution<_IT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __a;
|
result_type __a;
|
||||||
result_type __b;
|
result_type __b;
|
||||||
@ -3682,7 +3682,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const uniform_real_distribution<_RT>& __x)
|
const uniform_real_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -3698,7 +3698,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef uniform_real_distribution<_RT> _Eng;
|
typedef uniform_real_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __a;
|
result_type __a;
|
||||||
result_type __b;
|
result_type __b;
|
||||||
@ -3793,7 +3793,7 @@ template <class _CharT, class _Traits>
|
|||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os, const bernoulli_distribution& __x)
|
operator<<(basic_ostream<_CharT, _Traits>& __os, const bernoulli_distribution& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -3807,7 +3807,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bernoulli_distribution& __x)
|
|||||||
{
|
{
|
||||||
typedef bernoulli_distribution _Eng;
|
typedef bernoulli_distribution _Eng;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
double __p;
|
double __p;
|
||||||
__is >> __p;
|
__is >> __p;
|
||||||
@ -3955,7 +3955,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const binomial_distribution<_IntType>& __x)
|
const binomial_distribution<_IntType>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -3971,7 +3971,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef binomial_distribution<_IntType> _Eng;
|
typedef binomial_distribution<_IntType> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __t;
|
result_type __t;
|
||||||
double __p;
|
double __p;
|
||||||
@ -4073,7 +4073,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const exponential_distribution<_RealType>& __x)
|
const exponential_distribution<_RealType>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
return __os << __x.lambda();
|
return __os << __x.lambda();
|
||||||
@ -4087,7 +4087,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef exponential_distribution<_RealType> _Eng;
|
typedef exponential_distribution<_RealType> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __lambda;
|
result_type __lambda;
|
||||||
__is >> __lambda;
|
__is >> __lambda;
|
||||||
@ -4227,7 +4227,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const normal_distribution<_RT>& __x)
|
const normal_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -4246,7 +4246,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef normal_distribution<_RT> _Eng;
|
typedef normal_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __mean;
|
result_type __mean;
|
||||||
result_type __stddev;
|
result_type __stddev;
|
||||||
@ -4598,7 +4598,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const poisson_distribution<_IntType>& __x)
|
const poisson_distribution<_IntType>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
return __os << __x.mean();
|
return __os << __x.mean();
|
||||||
@ -4611,7 +4611,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
{
|
{
|
||||||
typedef poisson_distribution<_IntType> _Eng;
|
typedef poisson_distribution<_IntType> _Eng;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
double __mean;
|
double __mean;
|
||||||
__is >> __mean;
|
__is >> __mean;
|
||||||
@ -4709,7 +4709,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const weibull_distribution<_RT>& __x)
|
const weibull_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -4726,7 +4726,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef weibull_distribution<_RT> _Eng;
|
typedef weibull_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __a;
|
result_type __a;
|
||||||
result_type __b;
|
result_type __b;
|
||||||
@ -4828,7 +4828,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const extreme_value_distribution<_RT>& __x)
|
const extreme_value_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -4845,7 +4845,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef extreme_value_distribution<_RT> _Eng;
|
typedef extreme_value_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __a;
|
result_type __a;
|
||||||
result_type __b;
|
result_type __b;
|
||||||
@ -5000,7 +5000,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const gamma_distribution<_RT>& __x)
|
const gamma_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -5017,7 +5017,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef gamma_distribution<_RT> _Eng;
|
typedef gamma_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __alpha;
|
result_type __alpha;
|
||||||
result_type __beta;
|
result_type __beta;
|
||||||
@ -5136,7 +5136,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const negative_binomial_distribution<_IntType>& __x)
|
const negative_binomial_distribution<_IntType>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -5152,7 +5152,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef negative_binomial_distribution<_IntType> _Eng;
|
typedef negative_binomial_distribution<_IntType> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __k;
|
result_type __k;
|
||||||
double __p;
|
double __p;
|
||||||
@ -5242,7 +5242,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const geometric_distribution<_IntType>& __x)
|
const geometric_distribution<_IntType>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
return __os << __x.p();
|
return __os << __x.p();
|
||||||
@ -5255,7 +5255,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
{
|
{
|
||||||
typedef geometric_distribution<_IntType> _Eng;
|
typedef geometric_distribution<_IntType> _Eng;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
double __p;
|
double __p;
|
||||||
__is >> __p;
|
__is >> __p;
|
||||||
@ -5346,7 +5346,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const chi_squared_distribution<_RT>& __x)
|
const chi_squared_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
__os << __x.n();
|
__os << __x.n();
|
||||||
@ -5361,7 +5361,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef chi_squared_distribution<_RT> _Eng;
|
typedef chi_squared_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __n;
|
result_type __n;
|
||||||
__is >> __n;
|
__is >> __n;
|
||||||
@ -5466,7 +5466,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const cauchy_distribution<_RT>& __x)
|
const cauchy_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -5483,7 +5483,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef cauchy_distribution<_RT> _Eng;
|
typedef cauchy_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __a;
|
result_type __a;
|
||||||
result_type __b;
|
result_type __b;
|
||||||
@ -5588,7 +5588,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const fisher_f_distribution<_RT>& __x)
|
const fisher_f_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -5605,7 +5605,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef fisher_f_distribution<_RT> _Eng;
|
typedef fisher_f_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __m;
|
result_type __m;
|
||||||
result_type __n;
|
result_type __n;
|
||||||
@ -5704,7 +5704,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const student_t_distribution<_RT>& __x)
|
const student_t_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
__os << __x.n();
|
__os << __x.n();
|
||||||
@ -5719,7 +5719,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef student_t_distribution<_RT> _Eng;
|
typedef student_t_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
result_type __n;
|
result_type __n;
|
||||||
__is >> __n;
|
__is >> __n;
|
||||||
@ -5927,7 +5927,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const discrete_distribution<_IT>& __x)
|
const discrete_distribution<_IT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -5947,7 +5947,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef discrete_distribution<_IT> _Eng;
|
typedef discrete_distribution<_IT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
size_t __n;
|
size_t __n;
|
||||||
__is >> __n;
|
__is >> __n;
|
||||||
@ -6231,7 +6231,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const piecewise_constant_distribution<_RT>& __x)
|
const piecewise_constant_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -6259,7 +6259,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef piecewise_constant_distribution<_RT> _Eng;
|
typedef piecewise_constant_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
size_t __n;
|
size_t __n;
|
||||||
__is >> __n;
|
__is >> __n;
|
||||||
@ -6571,7 +6571,7 @@ basic_ostream<_CharT, _Traits>&
|
|||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const piecewise_linear_distribution<_RT>& __x)
|
const piecewise_linear_distribution<_RT>& __x)
|
||||||
{
|
{
|
||||||
__save_flags<_CharT, _Traits> _(__os);
|
__save_flags<_CharT, _Traits> __lx(__os);
|
||||||
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
__os.flags(ios_base::dec | ios_base::left | ios_base::fixed |
|
||||||
ios_base::scientific);
|
ios_base::scientific);
|
||||||
_CharT __sp = __os.widen(' ');
|
_CharT __sp = __os.widen(' ');
|
||||||
@ -6599,7 +6599,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
typedef piecewise_linear_distribution<_RT> _Eng;
|
typedef piecewise_linear_distribution<_RT> _Eng;
|
||||||
typedef typename _Eng::result_type result_type;
|
typedef typename _Eng::result_type result_type;
|
||||||
typedef typename _Eng::param_type param_type;
|
typedef typename _Eng::param_type param_type;
|
||||||
__save_flags<_CharT, _Traits> _(__is);
|
__save_flags<_CharT, _Traits> __lx(__is);
|
||||||
__is.flags(ios_base::dec | ios_base::skipws);
|
__is.flags(ios_base::dec | ios_base::skipws);
|
||||||
size_t __n;
|
size_t __n;
|
||||||
__is >> __n;
|
__is >> __n;
|
||||||
|
@ -553,11 +553,11 @@ basic_streambuf<_CharT, _Traits>::overflow(int_type)
|
|||||||
return traits_type::eof();
|
return traits_type::eof();
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template class basic_streambuf<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_streambuf<char>)
|
||||||
extern template class basic_streambuf<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_streambuf<wchar_t>)
|
||||||
|
|
||||||
extern template class basic_ios<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_ios<char>)
|
||||||
extern template class basic_ios<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_ios<wchar_t>)
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@ -1031,7 +1031,7 @@ __basic_string_common<__b>::__throw_out_of_range() const
|
|||||||
#pragma warning( push )
|
#pragma warning( push )
|
||||||
#pragma warning( disable: 4231 )
|
#pragma warning( disable: 4231 )
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
extern template class __basic_string_common<true>;
|
_LIBCPP_EXTERN_TEMPLATE(class __basic_string_common<true>)
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning( pop )
|
#pragma warning( pop )
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
@ -1094,14 +1094,14 @@ private:
|
|||||||
union
|
union
|
||||||
{
|
{
|
||||||
unsigned char __size_;
|
unsigned char __size_;
|
||||||
value_type _;
|
value_type __lx;
|
||||||
};
|
};
|
||||||
value_type __data_[__min_cap];
|
value_type __data_[__min_cap];
|
||||||
};
|
};
|
||||||
|
|
||||||
union _{__long _; __short __;};
|
union __lx{__long __lx; __short __lxx;};
|
||||||
|
|
||||||
enum {__n_words = sizeof(_) / sizeof(size_type)};
|
enum {__n_words = sizeof(__lx) / sizeof(size_type)};
|
||||||
|
|
||||||
struct __raw
|
struct __raw
|
||||||
{
|
{
|
||||||
@ -3975,8 +3975,8 @@ getline(basic_istream<_CharT, _Traits>&& __is,
|
|||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
|
|
||||||
extern template class basic_string<char>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_string<char>)
|
||||||
extern template class basic_string<wchar_t>;
|
_LIBCPP_EXTERN_TEMPLATE(class basic_string<wchar_t>)
|
||||||
|
|
||||||
extern template
|
extern template
|
||||||
string
|
string
|
||||||
|
@ -350,7 +350,7 @@ struct _LIBCPP_VISIBLE is_error_condition_enum<errc>
|
|||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
|
||||||
template <>
|
template <>
|
||||||
struct _LIBCPP_VISIBLE is_error_condition_enum<errc::_>
|
struct _LIBCPP_VISIBLE is_error_condition_enum<errc::__lx>
|
||||||
: true_type { };
|
: true_type { };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ template <class _Tp>
|
|||||||
struct __has_allocator_type
|
struct __has_allocator_type
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
struct __two {char _; char __;};
|
struct __two {char __lx; char __lxx;};
|
||||||
template <class _Up> static __two __test(...);
|
template <class _Up> static __two __test(...);
|
||||||
template <class _Up> static char __test(typename _Up::allocator_type* = 0);
|
template <class _Up> static char __test(typename _Up::allocator_type* = 0);
|
||||||
public:
|
public:
|
||||||
|
@ -156,7 +156,7 @@ template <class _If, class _Then>
|
|||||||
template <bool, class _Tp = void> struct _LIBCPP_VISIBLE enable_if {};
|
template <bool, class _Tp = void> struct _LIBCPP_VISIBLE enable_if {};
|
||||||
template <class _Tp> struct _LIBCPP_VISIBLE enable_if<true, _Tp> {typedef _Tp type;};
|
template <class _Tp> struct _LIBCPP_VISIBLE enable_if<true, _Tp> {typedef _Tp type;};
|
||||||
|
|
||||||
struct __two {char _[2];};
|
struct __two {char __lx[2];};
|
||||||
|
|
||||||
// helper class:
|
// helper class:
|
||||||
|
|
||||||
@ -754,12 +754,12 @@ template <class _Tp>
|
|||||||
struct __is_empty1
|
struct __is_empty1
|
||||||
: public _Tp
|
: public _Tp
|
||||||
{
|
{
|
||||||
double _;
|
double __lx;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __is_empty2
|
struct __is_empty2
|
||||||
{
|
{
|
||||||
double _;
|
double __lx;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, bool = is_class<_Tp>::value>
|
template <class _Tp, bool = is_class<_Tp>::value>
|
||||||
@ -811,7 +811,7 @@ template <class _Tp> struct _LIBCPP_VISIBLE has_virtual_destructor
|
|||||||
|
|
||||||
// alignment_of
|
// alignment_of
|
||||||
|
|
||||||
template <class _Tp> struct __alignment_of {_Tp _;};
|
template <class _Tp> struct __alignment_of {_Tp __lx;};
|
||||||
|
|
||||||
template <class _Tp> struct _LIBCPP_VISIBLE alignment_of
|
template <class _Tp> struct _LIBCPP_VISIBLE alignment_of
|
||||||
: public integral_constant<size_t, __alignof__(__alignment_of<typename remove_all_extents<_Tp>::type>)> {};
|
: public integral_constant<size_t, __alignof__(__alignment_of<typename remove_all_extents<_Tp>::type>)> {};
|
||||||
@ -842,8 +842,8 @@ struct __align_type
|
|||||||
typedef _Tp type;
|
typedef _Tp type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct __struct_double {long double _;};
|
struct __struct_double {long double __lx;};
|
||||||
struct __struct_double4 {double _[4];};
|
struct __struct_double4 {double __lx[4];};
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
__type_list<__align_type<unsigned char>,
|
__type_list<__align_type<unsigned char>,
|
||||||
@ -918,7 +918,7 @@ struct _LIBCPP_VISIBLE aligned_storage<_Len, n>\
|
|||||||
{\
|
{\
|
||||||
struct _ALIGNAS(n) type\
|
struct _ALIGNAS(n) type\
|
||||||
{\
|
{\
|
||||||
unsigned char _[_Len];\
|
unsigned char __lx[_Len];\
|
||||||
};\
|
};\
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1771,8 +1771,10 @@ class _LIBCPP_VISIBLE result_of<_Fn(_A0, _A1, _A2)>
|
|||||||
|
|
||||||
// main is_constructible test
|
// main is_constructible test
|
||||||
|
|
||||||
|
template<typename, typename T> struct __select_2nd { typedef T type; };
|
||||||
|
|
||||||
template <class _Tp, class ..._Args>
|
template <class _Tp, class ..._Args>
|
||||||
decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...)), true_type())
|
typename __select_2nd<decltype(_VSTD::move(_Tp(_VSTD::declval<_Args>()...))), true_type>::type
|
||||||
__is_constructible_test(_Tp&&, _Args&& ...);
|
__is_constructible_test(_Tp&&, _Args&& ...);
|
||||||
|
|
||||||
template <class ..._Args>
|
template <class ..._Args>
|
||||||
@ -1809,15 +1811,15 @@ struct __is_constructible<true, _Tp>
|
|||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __is_constructible_ref
|
struct __is_constructible_ref
|
||||||
{
|
{
|
||||||
true_type static __(_Tp);
|
true_type static __lxx(_Tp);
|
||||||
false_type static __(...);
|
false_type static __lxx(...);
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, class _A0>
|
template <class _Tp, class _A0>
|
||||||
struct __is_constructible<true, _Tp, _A0>
|
struct __is_constructible<true, _Tp, _A0>
|
||||||
: public common_type
|
: public common_type
|
||||||
<
|
<
|
||||||
decltype(__is_constructible_ref<_Tp>::__(declval<_A0>()))
|
decltype(__is_constructible_ref<_Tp>::__lxx(declval<_A0>()))
|
||||||
>::type
|
>::type
|
||||||
{};
|
{};
|
||||||
|
|
||||||
|
@ -460,8 +460,6 @@ make_pair(_T1 __x, _T2 __y)
|
|||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
|
||||||
|
|
||||||
template <class _T1, class _T2>
|
template <class _T1, class _T2>
|
||||||
class _LIBCPP_VISIBLE tuple_size<pair<_T1, _T2> >
|
class _LIBCPP_VISIBLE tuple_size<pair<_T1, _T2> >
|
||||||
: public integral_constant<size_t, 2> {};
|
: public integral_constant<size_t, 2> {};
|
||||||
@ -580,8 +578,6 @@ get(pair<_T1, _T2>&& __p) _NOEXCEPT
|
|||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
|
||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_VARIADICS
|
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
#endif // _LIBCPP_UTILITY
|
#endif // _LIBCPP_UTILITY
|
||||||
|
@ -4770,9 +4770,9 @@ end(const valarray<_Tp>& __v)
|
|||||||
return __v.__end_;
|
return __v.__end_;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern template valarray<size_t>::valarray(size_t);
|
_LIBCPP_EXTERN_TEMPLATE(valarray<size_t>::valarray(size_t))
|
||||||
extern template valarray<size_t>::~valarray();
|
_LIBCPP_EXTERN_TEMPLATE(valarray<size_t>::~valarray())
|
||||||
extern template void valarray<size_t>::resize(size_t, size_t);
|
_LIBCPP_EXTERN_TEMPLATE(void valarray<size_t>::resize(size_t, size_t))
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@ -313,7 +313,7 @@ __vector_base_common<__b>::__throw_out_of_range() const
|
|||||||
#pragma warning( push )
|
#pragma warning( push )
|
||||||
#pragma warning( disable: 4231 )
|
#pragma warning( disable: 4231 )
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
extern template class __vector_base_common<true>;
|
_LIBCPP_EXTERN_TEMPLATE(class __vector_base_common<true>)
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning( pop )
|
#pragma warning( pop )
|
||||||
#endif // _MSC_VER
|
#endif // _MSC_VER
|
||||||
|
@ -125,14 +125,14 @@ static const std::size_t __sp_mut_count = 16;
|
|||||||
static mutex mut_back[__sp_mut_count];
|
static mutex mut_back[__sp_mut_count];
|
||||||
|
|
||||||
_LIBCPP_CONSTEXPR __sp_mut::__sp_mut(void* p) _NOEXCEPT
|
_LIBCPP_CONSTEXPR __sp_mut::__sp_mut(void* p) _NOEXCEPT
|
||||||
: _(p)
|
: __lx(p)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
__sp_mut::lock() _NOEXCEPT
|
__sp_mut::lock() _NOEXCEPT
|
||||||
{
|
{
|
||||||
mutex& m = *static_cast<mutex*>(_);
|
mutex& m = *static_cast<mutex*>(__lx);
|
||||||
unsigned count = 0;
|
unsigned count = 0;
|
||||||
while (!m.try_lock())
|
while (!m.try_lock())
|
||||||
{
|
{
|
||||||
@ -148,7 +148,7 @@ __sp_mut::lock() _NOEXCEPT
|
|||||||
void
|
void
|
||||||
__sp_mut::unlock() _NOEXCEPT
|
__sp_mut::unlock() _NOEXCEPT
|
||||||
{
|
{
|
||||||
static_cast<mutex*>(_)->unlock();
|
static_cast<mutex*>(__lx)->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
__sp_mut&
|
__sp_mut&
|
||||||
|
Loading…
Reference in New Issue
Block a user