Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111750 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -50,7 +50,7 @@ public:
|
|||||||
*__seg_ &= ~__mask_;
|
*__seg_ &= ~__mask_;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
__bit_reference& operator=(const __bit_reference& __x) {return operator=(static_cast<bool>(__x));}
|
__bit_reference& operator=(const __bit_reference& __x) {return operator=(static_cast<bool>(__x));}
|
||||||
|
|
||||||
@@ -1074,14 +1074,14 @@ public:
|
|||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator++(int)
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator++(int)
|
||||||
{
|
{
|
||||||
__bit_iterator __tmp = *this;
|
__bit_iterator __tmp = *this;
|
||||||
++(*this);
|
++(*this);
|
||||||
return __tmp;
|
return __tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator--()
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator--()
|
||||||
{
|
{
|
||||||
if (__ctz_ != 0)
|
if (__ctz_ != 0)
|
||||||
@@ -1093,14 +1093,14 @@ public:
|
|||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator--(int)
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator--(int)
|
||||||
{
|
{
|
||||||
__bit_iterator __tmp = *this;
|
__bit_iterator __tmp = *this;
|
||||||
--(*this);
|
--(*this);
|
||||||
return __tmp;
|
return __tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator+=(difference_type __n)
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator+=(difference_type __n)
|
||||||
{
|
{
|
||||||
if (__n >= 0)
|
if (__n >= 0)
|
||||||
@@ -1112,19 +1112,19 @@ public:
|
|||||||
__ctz_ = static_cast<unsigned>((__n + __ctz_) % __bits_per_word);
|
__ctz_ = static_cast<unsigned>((__n + __ctz_) % __bits_per_word);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator-=(difference_type __n)
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator& operator-=(difference_type __n)
|
||||||
{
|
{
|
||||||
return *this += -__n;
|
return *this += -__n;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator+(difference_type __n) const
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator+(difference_type __n) const
|
||||||
{
|
{
|
||||||
__bit_iterator __t(*this);
|
__bit_iterator __t(*this);
|
||||||
__t += __n;
|
__t += __n;
|
||||||
return __t;
|
return __t;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator-(difference_type __n) const
|
_LIBCPP_INLINE_VISIBILITY __bit_iterator operator-(difference_type __n) const
|
||||||
{
|
{
|
||||||
__bit_iterator __t(*this);
|
__bit_iterator __t(*this);
|
||||||
|
@@ -26,26 +26,26 @@
|
|||||||
#if __LITTLE_ENDIAN__
|
#if __LITTLE_ENDIAN__
|
||||||
#define _LIBCPP_LITTLE_ENDIAN 1
|
#define _LIBCPP_LITTLE_ENDIAN 1
|
||||||
#define _LIBCPP_BIG_ENDIAN 0
|
#define _LIBCPP_BIG_ENDIAN 0
|
||||||
#endif
|
#endif // __LITTLE_ENDIAN__
|
||||||
#endif
|
#endif // __LITTLE_ENDIAN__
|
||||||
|
|
||||||
#ifdef __BIG_ENDIAN__
|
#ifdef __BIG_ENDIAN__
|
||||||
#if __BIG_ENDIAN__
|
#if __BIG_ENDIAN__
|
||||||
#define _LIBCPP_LITTLE_ENDIAN 0
|
#define _LIBCPP_LITTLE_ENDIAN 0
|
||||||
#define _LIBCPP_BIG_ENDIAN 1
|
#define _LIBCPP_BIG_ENDIAN 1
|
||||||
#endif
|
#endif // __BIG_ENDIAN__
|
||||||
#endif
|
#endif // __BIG_ENDIAN__
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
# include <sys/endian.h>
|
# include <sys/endian.h>
|
||||||
# if _BYTE_ORDER == _LITTLE_ENDIAN
|
# if _BYTE_ORDER == _LITTLE_ENDIAN
|
||||||
# define _LIBCPP_LITTLE_ENDIAN 1
|
# define _LIBCPP_LITTLE_ENDIAN 1
|
||||||
# define _LIBCPP_BIG_ENDIAN 0
|
# define _LIBCPP_BIG_ENDIAN 0
|
||||||
# else
|
# else // _BYTE_ORDER == _LITTLE_ENDIAN
|
||||||
# define _LIBCPP_LITTLE_ENDIAN 0
|
# define _LIBCPP_LITTLE_ENDIAN 0
|
||||||
# define _LIBCPP_BIG_ENDIAN 1
|
# define _LIBCPP_BIG_ENDIAN 1
|
||||||
# endif
|
# endif // _BYTE_ORDER == _LITTLE_ENDIAN
|
||||||
#endif
|
#endif // __FreeBSD__
|
||||||
|
|
||||||
#if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
|
#if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
|
||||||
# include <endian.h>
|
# include <endian.h>
|
||||||
@@ -55,10 +55,10 @@
|
|||||||
# elif __BYTE_ORDER == __BIG_ENDIAN
|
# elif __BYTE_ORDER == __BIG_ENDIAN
|
||||||
# define _LIBCPP_LITTLE_ENDIAN 0
|
# define _LIBCPP_LITTLE_ENDIAN 0
|
||||||
# define _LIBCPP_BIG_ENDIAN 1
|
# define _LIBCPP_BIG_ENDIAN 1
|
||||||
# else
|
# else // __BYTE_ORDER == __BIG_ENDIAN
|
||||||
# error unable to determine endian
|
# error unable to determine endian
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
|
||||||
|
|
||||||
#ifndef _LIBCPP_VISIBILITY_TAG
|
#ifndef _LIBCPP_VISIBILITY_TAG
|
||||||
#define _LIBCPP_VISIBILITY_TAG 1
|
#define _LIBCPP_VISIBILITY_TAG 1
|
||||||
@@ -67,10 +67,10 @@
|
|||||||
#if _LIBCPP_VISIBILITY_TAG
|
#if _LIBCPP_VISIBILITY_TAG
|
||||||
#define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
|
#define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden")))
|
||||||
#define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default")))
|
#define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default")))
|
||||||
#else
|
#else // _LIBCPP_VISIBILITY_TAG
|
||||||
#define _LIBCPP_HIDDEN
|
#define _LIBCPP_HIDDEN
|
||||||
#define _LIBCPP_VISIBLE
|
#define _LIBCPP_VISIBLE
|
||||||
#endif
|
#endif // _LIBCPP_VISIBILITY_TAG
|
||||||
|
|
||||||
#ifndef _LIBCPP_INLINE_VISIBILITY
|
#ifndef _LIBCPP_INLINE_VISIBILITY
|
||||||
#define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
|
#define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__visibility__("hidden"), __always_inline__))
|
||||||
@@ -108,7 +108,7 @@
|
|||||||
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
#define _LIBCPP_HAS_NO_VARIADICS
|
#define _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#else
|
#else // __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
|
||||||
#if __has_feature(cxx_rvalue_references)
|
#if __has_feature(cxx_rvalue_references)
|
||||||
#define _LIBCPP_MOVE
|
#define _LIBCPP_MOVE
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
#if !(__has_feature(cxx_deleted_functions))
|
#if !(__has_feature(cxx_deleted_functions))
|
||||||
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
|
#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
|
||||||
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
||||||
#endif
|
#endif // !(__has_feature(cxx_deleted_functions))
|
||||||
|
|
||||||
#if !(__has_feature(cxx_nullptr))
|
#if !(__has_feature(cxx_nullptr))
|
||||||
#define _LIBCPP_HAS_NO_NULLPTR
|
#define _LIBCPP_HAS_NO_NULLPTR
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
#define _LIBCPP_HAS_NO_VARIADICS
|
#define _LIBCPP_HAS_NO_VARIADICS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif // __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
|
||||||
#elif defined(__GNUC__)
|
#elif defined(__GNUC__)
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
#define _LIBCPP_HAS_NO_VARIADICS
|
#define _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#else
|
#else // __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
|
||||||
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
|
#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
|
||||||
#define _LIBCPP_MOVE
|
#define _LIBCPP_MOVE
|
||||||
@@ -173,21 +173,21 @@
|
|||||||
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
#define _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
||||||
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
#define _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
#define _LIBCPP_HAS_NO_VARIADICS
|
#define _LIBCPP_HAS_NO_VARIADICS
|
||||||
#endif
|
#endif // !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
|
||||||
|
|
||||||
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 6)
|
#if !(__GNUC__ >= 4 && __GNUC_MINOR__ >= 6)
|
||||||
#define _LIBCPP_HAS_NO_NULLPTR
|
#define _LIBCPP_HAS_NO_NULLPTR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif // __GXX_EXPERIMENTAL_CXX0X__
|
||||||
|
|
||||||
#endif
|
#endif // defined(__GNUC__)
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STRONG_USING
|
#ifdef _LIBCPP_HAS_NO_STRONG_USING
|
||||||
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
|
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
|
||||||
#define _LIBCPP_END_NAMESPACE_STD }
|
#define _LIBCPP_END_NAMESPACE_STD }
|
||||||
#define _STD std
|
#define _STD std
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_STRONG_USING
|
||||||
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace _LIBCPP_NAMESPACE {
|
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace _LIBCPP_NAMESPACE {
|
||||||
#define _LIBCPP_END_NAMESPACE_STD } }
|
#define _LIBCPP_END_NAMESPACE_STD } }
|
||||||
#define _STD std::_LIBCPP_NAMESPACE
|
#define _STD std::_LIBCPP_NAMESPACE
|
||||||
@@ -198,12 +198,12 @@ namespace _LIBCPP_NAMESPACE {
|
|||||||
using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
|
using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_STRONG_USING
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
|
#ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
typedef unsigned short char16_t;
|
typedef unsigned short char16_t;
|
||||||
typedef unsigned int char32_t;
|
typedef unsigned int char32_t;
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_STATIC_ASSERT
|
#ifdef _LIBCPP_HAS_NO_STATIC_ASSERT
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ template <unsigned> struct __static_assert_check {};
|
|||||||
typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
|
typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
|
||||||
_LIBCPP_CONCAT(__t, __LINE__)
|
_LIBCPP_CONCAT(__t, __LINE__)
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_STATIC_ASSERT
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_DECLTYPE
|
#ifdef _LIBCPP_HAS_NO_DECLTYPE
|
||||||
#define decltype(x) __typeof__(x)
|
#define decltype(x) __typeof__(x)
|
||||||
|
@@ -246,7 +246,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const = 0;
|
virtual const void* target(const type_info&) const = 0;
|
||||||
virtual const std::type_info& target_type() const = 0;
|
virtual const std::type_info& target_type() const = 0;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0>
|
template<class _R, class _A0>
|
||||||
@@ -265,7 +265,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const = 0;
|
virtual const void* target(const type_info&) const = 0;
|
||||||
virtual const std::type_info& target_type() const = 0;
|
virtual const std::type_info& target_type() const = 0;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1>
|
template<class _R, class _A0, class _A1>
|
||||||
@@ -284,7 +284,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const = 0;
|
virtual const void* target(const type_info&) const = 0;
|
||||||
virtual const std::type_info& target_type() const = 0;
|
virtual const std::type_info& target_type() const = 0;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1, class _A2>
|
template<class _R, class _A0, class _A1, class _A2>
|
||||||
@@ -303,7 +303,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const = 0;
|
virtual const void* target(const type_info&) const = 0;
|
||||||
virtual const std::type_info& target_type() const = 0;
|
virtual const std::type_info& target_type() const = 0;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _FD, class _Alloc, class _FB> class __func;
|
template<class _FD, class _Alloc, class _FB> class __func;
|
||||||
@@ -324,7 +324,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const;
|
virtual const void* target(const type_info&) const;
|
||||||
virtual const std::type_info& target_type() const;
|
virtual const std::type_info& target_type() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R>
|
template<class _F, class _Alloc, class _R>
|
||||||
@@ -388,7 +388,7 @@ __func<_F, _Alloc, _R()>::target_type() const
|
|||||||
return typeid(_F);
|
return typeid(_F);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0>
|
template<class _F, class _Alloc, class _R, class _A0>
|
||||||
class __func<_F, _Alloc, _R(_A0)>
|
class __func<_F, _Alloc, _R(_A0)>
|
||||||
@@ -406,7 +406,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const;
|
virtual const void* target(const type_info&) const;
|
||||||
virtual const std::type_info& target_type() const;
|
virtual const std::type_info& target_type() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0>
|
template<class _F, class _Alloc, class _R, class _A0>
|
||||||
@@ -470,7 +470,7 @@ __func<_F, _Alloc, _R(_A0)>::target_type() const
|
|||||||
return typeid(_F);
|
return typeid(_F);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0, class _A1>
|
template<class _F, class _Alloc, class _R, class _A0, class _A1>
|
||||||
class __func<_F, _Alloc, _R(_A0, _A1)>
|
class __func<_F, _Alloc, _R(_A0, _A1)>
|
||||||
@@ -488,7 +488,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const;
|
virtual const void* target(const type_info&) const;
|
||||||
virtual const std::type_info& target_type() const;
|
virtual const std::type_info& target_type() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0, class _A1>
|
template<class _F, class _Alloc, class _R, class _A0, class _A1>
|
||||||
@@ -552,7 +552,7 @@ __func<_F, _Alloc, _R(_A0, _A1)>::target_type() const
|
|||||||
return typeid(_F);
|
return typeid(_F);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0, class _A1, class _A2>
|
template<class _F, class _Alloc, class _R, class _A0, class _A1, class _A2>
|
||||||
class __func<_F, _Alloc, _R(_A0, _A1, _A2)>
|
class __func<_F, _Alloc, _R(_A0, _A1, _A2)>
|
||||||
@@ -570,7 +570,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const;
|
virtual const void* target(const type_info&) const;
|
||||||
virtual const std::type_info& target_type() const;
|
virtual const std::type_info& target_type() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class _A0, class _A1, class _A2>
|
template<class _F, class _Alloc, class _R, class _A0, class _A1, class _A2>
|
||||||
@@ -634,7 +634,7 @@ __func<_F, _Alloc, _R(_A0, _A1, _A2)>::target_type() const
|
|||||||
return typeid(_F);
|
return typeid(_F);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
} // __function
|
} // __function
|
||||||
|
|
||||||
@@ -706,7 +706,7 @@ public:
|
|||||||
const std::type_info& target_type() const;
|
const std::type_info& target_type() const;
|
||||||
template <typename _T> _T* target();
|
template <typename _T> _T* target();
|
||||||
template <typename _T> const _T* target() const;
|
template <typename _T> const _T* target() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R>
|
template<class _R>
|
||||||
@@ -882,7 +882,7 @@ function<_R()>::operator()() const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__f_ == 0)
|
if (__f_ == 0)
|
||||||
throw bad_function_call();
|
throw bad_function_call();
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return (*__f_)();
|
return (*__f_)();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -917,7 +917,7 @@ function<_R()>::target() const
|
|||||||
return (const _T*)__f_->target(typeid(_T));
|
return (const _T*)__f_->target(typeid(_T));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _R, class _A0>
|
template<class _R, class _A0>
|
||||||
class function<_R(_A0)>
|
class function<_R(_A0)>
|
||||||
@@ -998,7 +998,7 @@ public:
|
|||||||
const std::type_info& target_type() const;
|
const std::type_info& target_type() const;
|
||||||
template <typename _T> _T* target();
|
template <typename _T> _T* target();
|
||||||
template <typename _T> const _T* target() const;
|
template <typename _T> const _T* target() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0>
|
template<class _R, class _A0>
|
||||||
@@ -1174,7 +1174,7 @@ function<_R(_A0)>::operator()(_A0 __a0) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__f_ == 0)
|
if (__f_ == 0)
|
||||||
throw bad_function_call();
|
throw bad_function_call();
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return (*__f_)(__a0);
|
return (*__f_)(__a0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1209,7 +1209,7 @@ function<_R(_A0)>::target() const
|
|||||||
return (const _T*)__f_->target(typeid(_T));
|
return (const _T*)__f_->target(typeid(_T));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1>
|
template<class _R, class _A0, class _A1>
|
||||||
class function<_R(_A0, _A1)>
|
class function<_R(_A0, _A1)>
|
||||||
@@ -1290,7 +1290,7 @@ public:
|
|||||||
const std::type_info& target_type() const;
|
const std::type_info& target_type() const;
|
||||||
template <typename _T> _T* target();
|
template <typename _T> _T* target();
|
||||||
template <typename _T> const _T* target() const;
|
template <typename _T> const _T* target() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1>
|
template<class _R, class _A0, class _A1>
|
||||||
@@ -1466,7 +1466,7 @@ function<_R(_A0, _A1)>::operator()(_A0 __a0, _A1 __a1) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__f_ == 0)
|
if (__f_ == 0)
|
||||||
throw bad_function_call();
|
throw bad_function_call();
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return (*__f_)(__a0, __a1);
|
return (*__f_)(__a0, __a1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1501,7 +1501,7 @@ function<_R(_A0, _A1)>::target() const
|
|||||||
return (const _T*)__f_->target(typeid(_T));
|
return (const _T*)__f_->target(typeid(_T));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1, class _A2>
|
template<class _R, class _A0, class _A1, class _A2>
|
||||||
class function<_R(_A0, _A1, _A2)>
|
class function<_R(_A0, _A1, _A2)>
|
||||||
@@ -1581,7 +1581,7 @@ public:
|
|||||||
const std::type_info& target_type() const;
|
const std::type_info& target_type() const;
|
||||||
template <typename _T> _T* target();
|
template <typename _T> _T* target();
|
||||||
template <typename _T> const _T* target() const;
|
template <typename _T> const _T* target() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _A0, class _A1, class _A2>
|
template<class _R, class _A0, class _A1, class _A2>
|
||||||
@@ -1758,7 +1758,7 @@ function<_R(_A0, _A1, _A2)>::operator()(_A0 __a0, _A1 __a1, _A2 __a2) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__f_ == 0)
|
if (__f_ == 0)
|
||||||
throw bad_function_call();
|
throw bad_function_call();
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return (*__f_)(__a0, __a1, __a2);
|
return (*__f_)(__a0, __a1, __a2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1793,29 +1793,29 @@ function<_R(_A0, _A1, _A2)>::target() const
|
|||||||
return (const _T*)__f_->target(typeid(_T));
|
return (const _T*)__f_->target(typeid(_T));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator==(const function<_F>& __f, nullptr_t) {return !__f;}
|
operator==(const function<_F>& __f, nullptr_t) {return !__f;}
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator==(nullptr_t, const function<_F>& __f) {return !__f;}
|
operator==(nullptr_t, const function<_F>& __f) {return !__f;}
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator!=(const function<_F>& __f, nullptr_t) {return (bool)__f;}
|
operator!=(const function<_F>& __f, nullptr_t) {return (bool)__f;}
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator!=(nullptr_t, const function<_F>& __f) {return (bool)__f;}
|
operator!=(nullptr_t, const function<_F>& __f) {return (bool)__f;}
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
void
|
void
|
||||||
swap(function<_F>& __x, function<_F>& __y)
|
swap(function<_F>& __x, function<_F>& __y)
|
||||||
@@ -1868,7 +1868,6 @@ struct __mu_return1<true, _Ti, _Uj...>
|
|||||||
typedef typename result_of<_Ti(_Uj...)>::type type;
|
typedef typename result_of<_Ti(_Uj...)>::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class _Ti, class ..._Uj, size_t ..._Indx>
|
template <class _Ti, class ..._Uj, size_t ..._Indx>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
typename __mu_return1<true, _Ti, _Uj...>::type
|
typename __mu_return1<true, _Ti, _Uj...>::type
|
||||||
@@ -2006,7 +2005,7 @@ __apply_functor(_F& __f, _BoundArgs& __bound_args, __tuple_indices<_Indx...>,
|
|||||||
return __invoke(__f, __mu(get<_Indx>(__bound_args), __args)...);
|
return __invoke(__f, __mu(get<_Indx>(__bound_args), __args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
class __bind
|
class __bind
|
||||||
{
|
{
|
||||||
_F __f_;
|
_F __f_;
|
||||||
@@ -2024,7 +2023,7 @@ public:
|
|||||||
operator()(_Args&& ...__args)
|
operator()(_Args&& ...__args)
|
||||||
{
|
{
|
||||||
// compiler bug workaround
|
// compiler bug workaround
|
||||||
return __apply_functor(__f_, __bound_args_, __indices(),
|
return __apply_functor(__f_, __bound_args_, __indices(),
|
||||||
tuple<_Args&&...>(__args...));
|
tuple<_Args&&...>(__args...));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2032,15 +2031,15 @@ public:
|
|||||||
typename __bind_return<_F, tuple<_BoundArgs...>, tuple<_Args&&...> >::type
|
typename __bind_return<_F, tuple<_BoundArgs...>, tuple<_Args&&...> >::type
|
||||||
operator()(_Args&& ...__args) const
|
operator()(_Args&& ...__args) const
|
||||||
{
|
{
|
||||||
return __apply_functor(__f_, __bound_args_, __indices(),
|
return __apply_functor(__f_, __bound_args_, __indices(),
|
||||||
tuple<_Args&&...>(__args...));
|
tuple<_Args&&...>(__args...));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
struct __is_bind_expression<__bind<_F, _BoundArgs...> > : public true_type {};
|
struct __is_bind_expression<__bind<_F, _BoundArgs...> > : public true_type {};
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
class __bind_r
|
class __bind_r
|
||||||
: public __bind<_F, _BoundArgs...>
|
: public __bind<_F, _BoundArgs...>
|
||||||
{
|
{
|
||||||
@@ -2068,10 +2067,10 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
struct __is_bind_expression<__bind_r<_R, _F, _BoundArgs...> > : public true_type {};
|
struct __is_bind_expression<__bind_r<_R, _F, _BoundArgs...> > : public true_type {};
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
__bind<typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
__bind<typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
||||||
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
||||||
@@ -2080,7 +2079,7 @@ bind(_F&& __f, _BoundArgs&&... __bound_args)
|
|||||||
return type(_STD::forward<_F>(__f), _STD::forward<_BoundArgs>(__bound_args)...);
|
return type(_STD::forward<_F>(__f), _STD::forward<_BoundArgs>(__bound_args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
__bind_r<_R, typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
__bind_r<_R, typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
||||||
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
||||||
@@ -2090,4 +2089,4 @@ bind(_F&& __f, _BoundArgs&&... __bound_args)
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_FUNCTIONAL_03
|
||||||
|
@@ -514,7 +514,7 @@ cref(reference_wrapper<_Tp> __t)
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _Tp> void ref(const _Tp&& __t);// = delete; // LWG 688
|
template <class _Tp> void ref(const _Tp&& __t);// = delete; // LWG 688
|
||||||
template <class _Tp> void cref(const _Tp&& __t);// = delete; // LWG 688
|
template <class _Tp> void cref(const _Tp&& __t);// = delete; // LWG 688
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
#endif // _LIBCPP_HAS_NO_VARIADICS
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
|
@@ -235,84 +235,84 @@ struct __weak_result_type<_R (_C::*)(_A1, _A2) volatile>
|
|||||||
// __invoke
|
// __invoke
|
||||||
|
|
||||||
// __ref_return0
|
// __ref_return0
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _HasResultType>
|
// template <class _Tp, bool _HasResultType>
|
||||||
// struct ________ref_return0 // _HasResultType is true
|
// struct ________ref_return0 // _HasResultType is true
|
||||||
// {
|
// {
|
||||||
// typedef typename _Tp::result_type type;
|
// typedef typename _Tp::result_type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct ________ref_return0<_Tp, false>
|
// struct ________ref_return0<_Tp, false>
|
||||||
// {
|
// {
|
||||||
// typedef void type;
|
// typedef void type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _IsClass>
|
// template <class _Tp, bool _IsClass>
|
||||||
// struct ____ref_return0 // _IsClass is true
|
// struct ____ref_return0 // _IsClass is true
|
||||||
// : public ________ref_return0<_Tp, __has_result_type<typename remove_cv<_Tp>::type>::value>
|
// : public ________ref_return0<_Tp, __has_result_type<typename remove_cv<_Tp>::type>::value>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _HasResultType>
|
// template <class _Tp, bool _HasResultType>
|
||||||
// struct ______ref_return0 // _HasResultType is true
|
// struct ______ref_return0 // _HasResultType is true
|
||||||
// {
|
// {
|
||||||
// typedef typename __callable_type<_Tp>::result_type type;
|
// typedef typename __callable_type<_Tp>::result_type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct ______ref_return0<_Tp, false> // pointer to member data
|
// struct ______ref_return0<_Tp, false> // pointer to member data
|
||||||
// {
|
// {
|
||||||
// typedef void type;
|
// typedef void type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct ____ref_return0<_Tp, false>
|
// struct ____ref_return0<_Tp, false>
|
||||||
// : public ______ref_return0<typename remove_cv<_Tp>::type,
|
// : public ______ref_return0<typename remove_cv<_Tp>::type,
|
||||||
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value>
|
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct __ref_return0
|
// struct __ref_return0
|
||||||
// : public ____ref_return0<typename remove_reference<_Tp>::type,
|
// : public ____ref_return0<typename remove_reference<_Tp>::type,
|
||||||
// is_class<typename remove_reference<_Tp>::type>::value>
|
// is_class<typename remove_reference<_Tp>::type>::value>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// __ref_return1
|
// __ref_return1
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _IsClass, class _A0>
|
// template <class _Tp, bool _IsClass, class _A0>
|
||||||
// struct ____ref_return1 // _IsClass is true
|
// struct ____ref_return1 // _IsClass is true
|
||||||
// {
|
// {
|
||||||
// typedef typename result_of<_Tp(_A0)>::type type;
|
// typedef typename result_of<_Tp(_A0)>::type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _HasResultType, class _A0>
|
// template <class _Tp, bool _HasResultType, class _A0>
|
||||||
// struct ______ref_return1 // _HasResultType is true
|
// struct ______ref_return1 // _HasResultType is true
|
||||||
// {
|
// {
|
||||||
// typedef typename __callable_type<_Tp>::result_type type;
|
// typedef typename __callable_type<_Tp>::result_type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0, bool>
|
// template <class _Tp, class _A0, bool>
|
||||||
// struct __ref_return1_member_data1;
|
// struct __ref_return1_member_data1;
|
||||||
//
|
//
|
||||||
// template <class _R, class _C, class _A0>
|
// template <class _R, class _C, class _A0>
|
||||||
// struct __ref_return1_member_data1<_R _C::*, _A0, true>
|
// struct __ref_return1_member_data1<_R _C::*, _A0, true>
|
||||||
// {
|
// {
|
||||||
// typedef typename __apply_cv<_A0, _R>::type& type;
|
// typedef typename __apply_cv<_A0, _R>::type& type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _R, class _C, class _A0>
|
// template <class _R, class _C, class _A0>
|
||||||
// struct __ref_return1_member_data1<_R _C::*, _A0, false>
|
// struct __ref_return1_member_data1<_R _C::*, _A0, false>
|
||||||
// {
|
// {
|
||||||
// static _A0 __a;
|
// static _A0 __a;
|
||||||
// typedef typename __apply_cv<decltype(*__a), _R>::type& type;
|
// typedef typename __apply_cv<decltype(*__a), _R>::type& type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0>
|
// template <class _Tp, class _A0>
|
||||||
// struct __ref_return1_member_data;
|
// struct __ref_return1_member_data;
|
||||||
//
|
//
|
||||||
// template <class _R, class _C, class _A0>
|
// template <class _R, class _C, class _A0>
|
||||||
// struct __ref_return1_member_data<_R _C::*, _A0>
|
// struct __ref_return1_member_data<_R _C::*, _A0>
|
||||||
// : public __ref_return1_member_data1<_R _C::*, _A0,
|
// : public __ref_return1_member_data1<_R _C::*, _A0,
|
||||||
@@ -320,90 +320,90 @@ struct __weak_result_type<_R (_C::*)(_A1, _A2) volatile>
|
|||||||
// typename remove_cv<typename remove_reference<_A0>::type>::type>::value>
|
// typename remove_cv<typename remove_reference<_A0>::type>::type>::value>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0>
|
// template <class _Tp, class _A0>
|
||||||
// struct ______ref_return1<_Tp, false, _A0> // pointer to member data
|
// struct ______ref_return1<_Tp, false, _A0> // pointer to member data
|
||||||
// : public __ref_return1_member_data<typename remove_cv<_Tp>::type, _A0>
|
// : public __ref_return1_member_data<typename remove_cv<_Tp>::type, _A0>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0>
|
// template <class _Tp, class _A0>
|
||||||
// struct ____ref_return1<_Tp, false, _A0>
|
// struct ____ref_return1<_Tp, false, _A0>
|
||||||
// : public ______ref_return1<typename remove_cv<_Tp>::type,
|
// : public ______ref_return1<typename remove_cv<_Tp>::type,
|
||||||
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0>
|
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0>
|
// template <class _Tp, class _A0>
|
||||||
// struct __ref_return1
|
// struct __ref_return1
|
||||||
// : public ____ref_return1<typename remove_reference<_Tp>::type,
|
// : public ____ref_return1<typename remove_reference<_Tp>::type,
|
||||||
// is_class<typename remove_reference<_Tp>::type>::value, _A0>
|
// is_class<typename remove_reference<_Tp>::type>::value, _A0>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// __ref_return2
|
// __ref_return2
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _IsClass, class _A0, class _A1>
|
// template <class _Tp, bool _IsClass, class _A0, class _A1>
|
||||||
// struct ____ref_return2 // _IsClass is true
|
// struct ____ref_return2 // _IsClass is true
|
||||||
// {
|
// {
|
||||||
// typedef typename result_of<_Tp(_A0, _A1)>::type type;
|
// typedef typename result_of<_Tp(_A0, _A1)>::type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _HasResultType, class _A0, class _A1>
|
// template <class _Tp, bool _HasResultType, class _A0, class _A1>
|
||||||
// struct ______ref_return2 // _HasResultType is true
|
// struct ______ref_return2 // _HasResultType is true
|
||||||
// {
|
// {
|
||||||
// typedef typename __callable_type<_Tp>::result_type type;
|
// typedef typename __callable_type<_Tp>::result_type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct ______ref_return2<_Tp, false, class _A0, class _A1> // pointer to member data
|
// struct ______ref_return2<_Tp, false, class _A0, class _A1> // pointer to member data
|
||||||
// {
|
// {
|
||||||
// static_assert(sizeof(_Tp) == 0, "An attempt has been made to `call` a pointer"
|
// static_assert(sizeof(_Tp) == 0, "An attempt has been made to `call` a pointer"
|
||||||
// " to member data with too many arguments.");
|
// " to member data with too many arguments.");
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0, class _A1>
|
// template <class _Tp, class _A0, class _A1>
|
||||||
// struct ____ref_return2<_Tp, false, _A0, _A1>
|
// struct ____ref_return2<_Tp, false, _A0, _A1>
|
||||||
// : public ______ref_return2<typename remove_cv<_Tp>::type,
|
// : public ______ref_return2<typename remove_cv<_Tp>::type,
|
||||||
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0, _A1>
|
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0, _A1>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0, class _A1>
|
// template <class _Tp, class _A0, class _A1>
|
||||||
// struct __ref_return2
|
// struct __ref_return2
|
||||||
// : public ____ref_return2<typename remove_reference<_Tp>::type,
|
// : public ____ref_return2<typename remove_reference<_Tp>::type,
|
||||||
// is_class<typename remove_reference<_Tp>::type>::value, _A0, _A1>
|
// is_class<typename remove_reference<_Tp>::type>::value, _A0, _A1>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// __ref_return3
|
// __ref_return3
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _IsClass, class _A0, class _A1, class _A2>
|
// template <class _Tp, bool _IsClass, class _A0, class _A1, class _A2>
|
||||||
// struct ____ref_return3 // _IsClass is true
|
// struct ____ref_return3 // _IsClass is true
|
||||||
// {
|
// {
|
||||||
// typedef typename result_of<_Tp(_A0, _A1, _A2)>::type type;
|
// typedef typename result_of<_Tp(_A0, _A1, _A2)>::type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, bool _HasResultType, class _A0, class _A1, class _A2>
|
// template <class _Tp, bool _HasResultType, class _A0, class _A1, class _A2>
|
||||||
// struct ______ref_return3 // _HasResultType is true
|
// struct ______ref_return3 // _HasResultType is true
|
||||||
// {
|
// {
|
||||||
// typedef typename __callable_type<_Tp>::result_type type;
|
// typedef typename __callable_type<_Tp>::result_type type;
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp>
|
// template <class _Tp>
|
||||||
// struct ______ref_return3<_Tp, false, class _A0, class _A1, class _A2> // pointer to member data
|
// struct ______ref_return3<_Tp, false, class _A0, class _A1, class _A2> // pointer to member data
|
||||||
// {
|
// {
|
||||||
// static_assert(sizeof(_Tp) == 0, "An attempt has been made to `call` a pointer"
|
// static_assert(sizeof(_Tp) == 0, "An attempt has been made to `call` a pointer"
|
||||||
// " to member data with too many arguments.");
|
// " to member data with too many arguments.");
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0, class _A1, class _A2>
|
// template <class _Tp, class _A0, class _A1, class _A2>
|
||||||
// struct ____ref_return3<_Tp, false, _A0, _A1, _A2>
|
// struct ____ref_return3<_Tp, false, _A0, _A1, _A2>
|
||||||
// : public ______ref_return3<typename remove_cv<_Tp>::type,
|
// : public ______ref_return3<typename remove_cv<_Tp>::type,
|
||||||
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0, _A1, _A2>
|
// __has_result_type<__callable_type<typename remove_cv<_Tp>::type> >::value, _A0, _A1, _A2>
|
||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
//
|
//
|
||||||
// template <class _Tp, class _A0, class _A1, class _A2>
|
// template <class _Tp, class _A0, class _A1, class _A2>
|
||||||
// struct __ref_return3
|
// struct __ref_return3
|
||||||
// : public ____ref_return3<typename remove_reference<_Tp>::type,
|
// : public ____ref_return3<typename remove_reference<_Tp>::type,
|
||||||
@@ -411,7 +411,6 @@ struct __weak_result_type<_R (_C::*)(_A1, _A2) volatile>
|
|||||||
// {
|
// {
|
||||||
// };
|
// };
|
||||||
|
|
||||||
|
|
||||||
// first bullet
|
// first bullet
|
||||||
|
|
||||||
template <class _R, class _T, class _T1>
|
template <class _R, class _T, class _T1>
|
||||||
@@ -911,7 +910,7 @@ __invoke(_F __f, _A0& __a0, _A1& __a1, _A2& __a2)
|
|||||||
// {
|
// {
|
||||||
// return __f();
|
// return __f();
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// template <class _R, class _F, class _A0>
|
// template <class _R, class _F, class _A0>
|
||||||
// inline _LIBCPP_INLINE_VISIBILITY
|
// inline _LIBCPP_INLINE_VISIBILITY
|
||||||
// typename enable_if
|
// typename enable_if
|
||||||
@@ -923,7 +922,7 @@ __invoke(_F __f, _A0& __a0, _A1& __a1, _A2& __a2)
|
|||||||
// {
|
// {
|
||||||
// return __f(__a0);
|
// return __f(__a0);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// template <class _R, class _F, class _A0, class _A1>
|
// template <class _R, class _F, class _A0, class _A1>
|
||||||
// inline _LIBCPP_INLINE_VISIBILITY
|
// inline _LIBCPP_INLINE_VISIBILITY
|
||||||
// _R
|
// _R
|
||||||
@@ -931,7 +930,7 @@ __invoke(_F __f, _A0& __a0, _A1& __a1, _A2& __a2)
|
|||||||
// {
|
// {
|
||||||
// return __f(__a0, __a1);
|
// return __f(__a0, __a1);
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// template <class _R, class _F, class _A0, class _A1, class _A2>
|
// template <class _R, class _F, class _A0, class _A1, class _A2>
|
||||||
// inline _LIBCPP_INLINE_VISIBILITY
|
// inline _LIBCPP_INLINE_VISIBILITY
|
||||||
// _R
|
// _R
|
||||||
@@ -1081,4 +1080,4 @@ cref(reference_wrapper<_Tp> __t)
|
|||||||
return cref(__t.get());
|
return cref(__t.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_FUNCTIONAL_BASE_03
|
||||||
|
@@ -354,7 +354,7 @@ public:
|
|||||||
__x.size() = 0;
|
__x.size() = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
size_type& size() {return __data_.first();}
|
size_type& size() {return __data_.first();}
|
||||||
size_type size() const {return __data_.first();}
|
size_type size() const {return __data_.first();}
|
||||||
@@ -489,7 +489,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__hash_table(__hash_table&& __u);
|
__hash_table(__hash_table&& __u);
|
||||||
__hash_table(__hash_table&& __u, const allocator_type& __a);
|
__hash_table(__hash_table&& __u, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
~__hash_table();
|
~__hash_table();
|
||||||
|
|
||||||
__hash_table& operator=(const __hash_table& __u);
|
__hash_table& operator=(const __hash_table& __u);
|
||||||
@@ -519,24 +519,24 @@ public:
|
|||||||
iterator __emplace_multi(_Args&&... __args);
|
iterator __emplace_multi(_Args&&... __args);
|
||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator __emplace_hint_multi(const_iterator __p, _Args&&... __args);
|
iterator __emplace_hint_multi(const_iterator __p, _Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
pair<iterator, bool> __insert_unique(const value_type& __x);
|
pair<iterator, bool> __insert_unique(const value_type& __x);
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _P>
|
template <class _P>
|
||||||
pair<iterator, bool> __insert_unique(_P&& __x);
|
pair<iterator, bool> __insert_unique(_P&& __x);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _P>
|
template <class _P>
|
||||||
iterator __insert_multi(_P&& __x);
|
iterator __insert_multi(_P&& __x);
|
||||||
template <class _P>
|
template <class _P>
|
||||||
iterator __insert_multi(const_iterator __p, _P&& __x);
|
iterator __insert_multi(const_iterator __p, _P&& __x);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
iterator __insert_multi(const value_type& __x);
|
iterator __insert_multi(const value_type& __x);
|
||||||
iterator __insert_multi(const_iterator __p, const value_type& __x);
|
iterator __insert_multi(const_iterator __p, const value_type& __x);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void clear();
|
void clear();
|
||||||
void rehash(size_type __n);
|
void rehash(size_type __n);
|
||||||
@@ -619,7 +619,7 @@ private:
|
|||||||
template <class ..._Args>
|
template <class ..._Args>
|
||||||
__node_holder __construct_node(_Args&& ...__args);
|
__node_holder __construct_node(_Args&& ...__args);
|
||||||
__node_holder __construct_node(value_type&& __v, size_t __hash);
|
__node_holder __construct_node(value_type&& __v, size_t __hash);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__node_holder __construct_node(const value_type& __v);
|
__node_holder __construct_node(const value_type& __v);
|
||||||
#endif
|
#endif
|
||||||
__node_holder __construct_node(const value_type& __v, size_t __hash);
|
__node_holder __construct_node(const value_type& __v, size_t __hash);
|
||||||
@@ -777,7 +777,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(__hash_table&& __u,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
__hash_table<_Tp, _Hash, _Equal, _Alloc>::~__hash_table()
|
__hash_table<_Tp, _Hash, _Equal, _Alloc>::~__hash_table()
|
||||||
@@ -886,7 +886,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
const_iterator __i = __u.begin();
|
const_iterator __i = __u.begin();
|
||||||
while (__cache != nullptr && __u.size() != 0)
|
while (__cache != nullptr && __u.size() != 0)
|
||||||
{
|
{
|
||||||
@@ -902,7 +902,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__move_assign(
|
|||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
}
|
}
|
||||||
const_iterator __i = __u.begin();
|
const_iterator __i = __u.begin();
|
||||||
@@ -926,7 +926,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(__hash_table&& __u)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
@@ -940,7 +940,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_unique(_InputIterator __first
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __cache != nullptr && __first != __last; ++__first)
|
for (; __cache != nullptr && __first != __last; ++__first)
|
||||||
{
|
{
|
||||||
__cache->__value_ = *__first;
|
__cache->__value_ = *__first;
|
||||||
@@ -955,7 +955,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_unique(_InputIterator __first
|
|||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
}
|
}
|
||||||
for (; __first != __last; ++__first)
|
for (; __first != __last; ++__first)
|
||||||
@@ -974,7 +974,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_multi(_InputIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __cache != nullptr && __first != __last; ++__first)
|
for (; __cache != nullptr && __first != __last; ++__first)
|
||||||
{
|
{
|
||||||
__cache->__value_ = *__first;
|
__cache->__value_ = *__first;
|
||||||
@@ -989,7 +989,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__assign_multi(_InputIterator __first,
|
|||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__deallocate(__cache);
|
__deallocate(__cache);
|
||||||
}
|
}
|
||||||
for (; __first != __last; ++__first)
|
for (; __first != __last; ++__first)
|
||||||
@@ -1130,7 +1130,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_insert_multi(__node_pointer __c
|
|||||||
for (bool __found = false; __pn->__next_ != nullptr &&
|
for (bool __found = false; __pn->__next_ != nullptr &&
|
||||||
__pn->__next_->__hash_ % __bc == __chash;
|
__pn->__next_->__hash_ % __bc == __chash;
|
||||||
__pn = __pn->__next_)
|
__pn = __pn->__next_)
|
||||||
{
|
{
|
||||||
// __found key_eq() action
|
// __found key_eq() action
|
||||||
// false false loop
|
// false false loop
|
||||||
// true true loop
|
// true true loop
|
||||||
@@ -1294,7 +1294,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__insert_unique(_P&& __x)
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
|
|
||||||
@@ -1321,7 +1321,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__insert_multi(const_iterator __p,
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
|
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator
|
||||||
@@ -1344,7 +1344,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__insert_multi(const_iterator __p,
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
void
|
void
|
||||||
@@ -1409,7 +1409,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__rehash(size_type __nbc)
|
|||||||
__pp->__next_ = __np->__next_;
|
__pp->__next_ = __np->__next_;
|
||||||
__np->__next_ = __bucket_list_[__chash]->__next_;
|
__np->__next_ = __bucket_list_[__chash]->__next_;
|
||||||
__bucket_list_[__chash]->__next_ = __cp;
|
__bucket_list_[__chash]->__next_ = __cp;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1463,7 +1463,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::find(const _Key& __k) const
|
|||||||
return const_iterator(__nd);
|
return const_iterator(__nd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return end();
|
return end();
|
||||||
}
|
}
|
||||||
@@ -1498,7 +1498,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node(value_type&& __v,
|
|||||||
return _STD::move(__h);
|
return _STD::move(__h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
|
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
|
||||||
@@ -1513,7 +1513,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__construct_node(const value_type& __v
|
|||||||
return _STD::move(__h);
|
return _STD::move(__h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
template <class _Tp, class _Hash, class _Equal, class _Alloc>
|
||||||
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
|
typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::__node_holder
|
||||||
|
@@ -108,7 +108,7 @@ class locale::id
|
|||||||
{
|
{
|
||||||
once_flag __flag_;
|
once_flag __flag_;
|
||||||
int32_t __id_;
|
int32_t __id_;
|
||||||
|
|
||||||
static int32_t __next_id;
|
static int32_t __next_id;
|
||||||
public:
|
public:
|
||||||
id() {}
|
id() {}
|
||||||
@@ -137,7 +137,7 @@ locale::combine(const locale& __other) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (!_STD::has_facet<_Facet>(__other))
|
if (!_STD::has_facet<_Facet>(__other))
|
||||||
throw runtime_error("locale::combine: locale missing facet");
|
throw runtime_error("locale::combine: locale missing facet");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return locale(*this, &const_cast<_Facet&>(_STD::use_facet<_Facet>(__other)));
|
return locale(*this, &const_cast<_Facet&>(_STD::use_facet<_Facet>(__other)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,7 +308,7 @@ public:
|
|||||||
static const mask punct = _CTYPE_P;
|
static const mask punct = _CTYPE_P;
|
||||||
static const mask xdigit = _CTYPE_X;
|
static const mask xdigit = _CTYPE_X;
|
||||||
static const mask blank = _CTYPE_B;
|
static const mask blank = _CTYPE_B;
|
||||||
#else /* !__APPLE__ */
|
#else // __APPLE__
|
||||||
static const mask space = _ISspace;
|
static const mask space = _ISspace;
|
||||||
static const mask print = _ISprint;
|
static const mask print = _ISprint;
|
||||||
static const mask cntrl = _IScntrl;
|
static const mask cntrl = _IScntrl;
|
||||||
@@ -319,7 +319,7 @@ public:
|
|||||||
static const mask punct = _ISpunct;
|
static const mask punct = _ISpunct;
|
||||||
static const mask xdigit = _ISxdigit;
|
static const mask xdigit = _ISxdigit;
|
||||||
static const mask blank = _ISblank;
|
static const mask blank = _ISblank;
|
||||||
#endif /* __APPLE__ */
|
#endif // __APPLE__
|
||||||
static const mask alnum = alpha | digit;
|
static const mask alnum = alpha | digit;
|
||||||
static const mask graph = alnum | punct;
|
static const mask graph = alnum | punct;
|
||||||
|
|
||||||
@@ -335,7 +335,7 @@ class ctype<wchar_t>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef wchar_t char_type;
|
typedef wchar_t char_type;
|
||||||
|
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
explicit ctype(size_t __refs = 0)
|
explicit ctype(size_t __refs = 0)
|
||||||
: locale::facet(__refs) {}
|
: locale::facet(__refs) {}
|
||||||
|
@@ -129,7 +129,7 @@ public:
|
|||||||
__u.__owns_ = false;
|
__u.__owns_ = false;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void lock();
|
void lock();
|
||||||
bool try_lock();
|
bool try_lock();
|
||||||
|
@@ -26,7 +26,7 @@ private:
|
|||||||
__split_buffer(const __split_buffer&);
|
__split_buffer(const __split_buffer&);
|
||||||
__split_buffer& operator=(const __split_buffer&);
|
__split_buffer& operator=(const __split_buffer&);
|
||||||
public:
|
public:
|
||||||
typedef _Tp value_type;
|
typedef _Tp value_type;
|
||||||
typedef _Allocator allocator_type;
|
typedef _Allocator allocator_type;
|
||||||
typedef typename remove_reference<allocator_type>::type __alloc_rr;
|
typedef typename remove_reference<allocator_type>::type __alloc_rr;
|
||||||
typedef allocator_traits<__alloc_rr> __alloc_traits;
|
typedef allocator_traits<__alloc_rr> __alloc_traits;
|
||||||
@@ -62,7 +62,7 @@ public:
|
|||||||
__split_buffer(__split_buffer&& __c);
|
__split_buffer(__split_buffer&& __c);
|
||||||
__split_buffer(__split_buffer&& __c, const __alloc_rr& __a);
|
__split_buffer(__split_buffer&& __c, const __alloc_rr& __a);
|
||||||
__split_buffer& operator=(__split_buffer&& __c);
|
__split_buffer& operator=(__split_buffer&& __c);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator begin() {return __begin_;}
|
_LIBCPP_INLINE_VISIBILITY iterator begin() {return __begin_;}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return __begin_;}
|
_LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return __begin_;}
|
||||||
@@ -90,7 +90,7 @@ public:
|
|||||||
void push_back(value_type&& __x);
|
void push_back(value_type&& __x);
|
||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
void emplace_back(_Args&&... __args);
|
void emplace_back(_Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY void pop_front() {__destruct_at_begin(__begin_+1);}
|
_LIBCPP_INLINE_VISIBILITY void pop_front() {__destruct_at_begin(__begin_+1);}
|
||||||
_LIBCPP_INLINE_VISIBILITY void pop_back() {__destruct_at_end(__end_-1);}
|
_LIBCPP_INLINE_VISIBILITY void pop_back() {__destruct_at_end(__end_-1);}
|
||||||
@@ -425,7 +425,7 @@ __split_buffer<_Tp, _Allocator>::operator=(__split_buffer&& __c)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
void
|
void
|
||||||
@@ -463,7 +463,7 @@ __split_buffer<_Tp, _Allocator>::shrink_to_fit()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__split_buffer<value_type, __alloc_rr&> __t(size(), 0, __alloc());
|
__split_buffer<value_type, __alloc_rr&> __t(size(), 0, __alloc());
|
||||||
__t.__construct_at_end(move_iterator<pointer>(__begin_),
|
__t.__construct_at_end(move_iterator<pointer>(__begin_),
|
||||||
move_iterator<pointer>(__end_));
|
move_iterator<pointer>(__end_));
|
||||||
@@ -477,7 +477,7 @@ __split_buffer<_Tp, _Allocator>::shrink_to_fit()
|
|||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -542,7 +542,7 @@ __split_buffer<_Tp, _Allocator>::push_front(value_type&& __x)
|
|||||||
--__begin_;
|
--__begin_;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
@@ -637,7 +637,7 @@ __split_buffer<_Tp, _Allocator>::emplace_back(_Args&&... __args)
|
|||||||
++__end_;
|
++__end_;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@@ -343,7 +343,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z)
|
|||||||
// but copy __z's color. This does not impact __x or __w.
|
// but copy __z's color. This does not impact __x or __w.
|
||||||
if (__y != __z)
|
if (__y != __z)
|
||||||
{
|
{
|
||||||
// __z->__left_ != nulptr but __z->__right_ might == __x == nullptr
|
// __z->__left_ != nulptr but __z->__right_ might == __x == nullptr
|
||||||
__y->__parent_ = __z->__parent_;
|
__y->__parent_ = __z->__parent_;
|
||||||
if (__tree_is_left_child(__z))
|
if (__tree_is_left_child(__z))
|
||||||
__y->__parent_->__left_ = __y;
|
__y->__parent_->__left_ = __y;
|
||||||
@@ -413,8 +413,8 @@ __tree_remove(_NodePtr __root, _NodePtr __z)
|
|||||||
}
|
}
|
||||||
// reset sibling, and it still can't be null
|
// reset sibling, and it still can't be null
|
||||||
__w = __tree_is_left_child(__x) ?
|
__w = __tree_is_left_child(__x) ?
|
||||||
__x->__parent_->__right_ :
|
__x->__parent_->__right_ :
|
||||||
__x->__parent_->__left_;
|
__x->__parent_->__left_;
|
||||||
// continue;
|
// continue;
|
||||||
}
|
}
|
||||||
else // __w has a red child
|
else // __w has a red child
|
||||||
@@ -465,8 +465,8 @@ __tree_remove(_NodePtr __root, _NodePtr __z)
|
|||||||
}
|
}
|
||||||
// reset sibling, and it still can't be null
|
// reset sibling, and it still can't be null
|
||||||
__w = __tree_is_left_child(__x) ?
|
__w = __tree_is_left_child(__x) ?
|
||||||
__x->__parent_->__right_ :
|
__x->__parent_->__right_ :
|
||||||
__x->__parent_->__left_;
|
__x->__parent_->__left_;
|
||||||
// continue;
|
// continue;
|
||||||
}
|
}
|
||||||
else // __w has a red child
|
else // __w has a red child
|
||||||
@@ -496,7 +496,6 @@ __tree_remove(_NodePtr __root, _NodePtr __z)
|
|||||||
|
|
||||||
template <class> class __map_node_destructor;
|
template <class> class __map_node_destructor;
|
||||||
|
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
class __tree_node_destructor
|
class __tree_node_destructor
|
||||||
{
|
{
|
||||||
@@ -594,10 +593,10 @@ public:
|
|||||||
template <class ..._Args>
|
template <class ..._Args>
|
||||||
explicit __tree_node(_Args&& ...__args)
|
explicit __tree_node(_Args&& ...__args)
|
||||||
: __value_(_STD::forward<_Args>(__args)...) {}
|
: __value_(_STD::forward<_Args>(__args)...) {}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
explicit __tree_node(const value_type& __v)
|
explicit __tree_node(const value_type& __v)
|
||||||
: __value_(__v) {}
|
: __value_(__v) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class> class __map_iterator;
|
template <class> class __map_iterator;
|
||||||
@@ -832,7 +831,7 @@ public:
|
|||||||
__tree(__tree&& __t);
|
__tree(__tree&& __t);
|
||||||
__tree(__tree&& __t, const allocator_type& __a);
|
__tree(__tree&& __t, const allocator_type& __a);
|
||||||
__tree& operator=(__tree&& __t);
|
__tree& operator=(__tree&& __t);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
~__tree();
|
~__tree();
|
||||||
|
|
||||||
@@ -870,13 +869,13 @@ public:
|
|||||||
iterator __insert_multi(_V&& __v);
|
iterator __insert_multi(_V&& __v);
|
||||||
template <class _V>
|
template <class _V>
|
||||||
iterator __insert_multi(const_iterator __p, _V&& __v);
|
iterator __insert_multi(const_iterator __p, _V&& __v);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
pair<iterator, bool> __insert_unique(const value_type& __v);
|
pair<iterator, bool> __insert_unique(const value_type& __v);
|
||||||
iterator __insert_unique(const_iterator __p, const value_type& __v);
|
iterator __insert_unique(const_iterator __p, const value_type& __v);
|
||||||
iterator __insert_multi(const value_type& __v);
|
iterator __insert_multi(const value_type& __v);
|
||||||
iterator __insert_multi(const_iterator __p, const value_type& __v);
|
iterator __insert_multi(const_iterator __p, const value_type& __v);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
pair<iterator, bool> __node_insert_unique(__node_pointer __nd);
|
pair<iterator, bool> __node_insert_unique(__node_pointer __nd);
|
||||||
iterator __node_insert_unique(const_iterator __p,
|
iterator __node_insert_unique(const_iterator __p,
|
||||||
@@ -971,7 +970,7 @@ private:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class ..._Args>
|
template <class ..._Args>
|
||||||
__node_holder __construct_node(_Args&& ...__args);
|
__node_holder __construct_node(_Args&& ...__args);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__node_holder __construct_node(const value_type& __v);
|
__node_holder __construct_node(const value_type& __v);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1105,7 +1104,7 @@ __tree<_Tp, _Compare, _Allocator>::__assign_unique(_InputIterator __first, _Inpu
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __cache != nullptr && __first != __last; ++__first)
|
for (; __cache != nullptr && __first != __last; ++__first)
|
||||||
{
|
{
|
||||||
__cache->__value_ = *__first;
|
__cache->__value_ = *__first;
|
||||||
@@ -1122,7 +1121,7 @@ __tree<_Tp, _Compare, _Allocator>::__assign_unique(_InputIterator __first, _Inpu
|
|||||||
destroy(__cache);
|
destroy(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__cache != nullptr)
|
if (__cache != nullptr)
|
||||||
{
|
{
|
||||||
while (__cache->__parent_ != nullptr)
|
while (__cache->__parent_ != nullptr)
|
||||||
@@ -1145,7 +1144,7 @@ __tree<_Tp, _Compare, _Allocator>::__assign_multi(_InputIterator __first, _Input
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __cache != nullptr && __first != __last; ++__first)
|
for (; __cache != nullptr && __first != __last; ++__first)
|
||||||
{
|
{
|
||||||
__cache->__value_ = *__first;
|
__cache->__value_ = *__first;
|
||||||
@@ -1162,7 +1161,7 @@ __tree<_Tp, _Compare, _Allocator>::__assign_multi(_InputIterator __first, _Input
|
|||||||
destroy(__cache);
|
destroy(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__cache != nullptr)
|
if (__cache != nullptr)
|
||||||
{
|
{
|
||||||
while (__cache->__parent_ != nullptr)
|
while (__cache->__parent_ != nullptr)
|
||||||
@@ -1264,7 +1263,7 @@ __tree<_Tp, _Compare, _Allocator>::__move_assign(__tree& __t, false_type)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
while (__cache != nullptr && __t.size() != 0)
|
while (__cache != nullptr && __t.size() != 0)
|
||||||
{
|
{
|
||||||
__cache->__value_ = _STD::move(__t.remove(__t.begin())->__value_);
|
__cache->__value_ = _STD::move(__t.remove(__t.begin())->__value_);
|
||||||
@@ -1281,7 +1280,7 @@ __tree<_Tp, _Compare, _Allocator>::__move_assign(__tree& __t, false_type)
|
|||||||
destroy(__cache);
|
destroy(__cache);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__cache != nullptr)
|
if (__cache != nullptr)
|
||||||
{
|
{
|
||||||
while (__cache->__parent_ != nullptr)
|
while (__cache->__parent_ != nullptr)
|
||||||
@@ -1303,7 +1302,7 @@ __tree<_Tp, _Compare, _Allocator>::operator=(__tree&& __t)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Compare, class _Allocator>
|
template <class _Tp, class _Compare, class _Allocator>
|
||||||
__tree<_Tp, _Compare, _Allocator>::~__tree()
|
__tree<_Tp, _Compare, _Allocator>::~__tree()
|
||||||
@@ -1727,7 +1726,7 @@ __tree<_Tp, _Compare, _Allocator>::__insert_multi(const_iterator __p, _V&& __v)
|
|||||||
return iterator(__h.release());
|
return iterator(__h.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Compare, class _Allocator>
|
template <class _Tp, class _Compare, class _Allocator>
|
||||||
typename __tree<_Tp, _Compare, _Allocator>::__node_holder
|
typename __tree<_Tp, _Compare, _Allocator>::__node_holder
|
||||||
@@ -1796,7 +1795,7 @@ __tree<_Tp, _Compare, _Allocator>::__insert_multi(const_iterator __p, const valu
|
|||||||
return iterator(__h.release());
|
return iterator(__h.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Compare, class _Allocator>
|
template <class _Tp, class _Compare, class _Allocator>
|
||||||
pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
|
pair<typename __tree<_Tp, _Compare, _Allocator>::iterator, bool>
|
||||||
|
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include <__tuple_03>
|
#include <__tuple_03>
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
@@ -41,7 +41,6 @@ template <class _T1, class _T2> struct __tuple_like<const pair<_T1, _T2> > : tru
|
|||||||
template <class _Tp, size_t _Size> struct __tuple_like<array<_Tp, _Size> > : true_type {};
|
template <class _Tp, size_t _Size> struct __tuple_like<array<_Tp, _Size> > : true_type {};
|
||||||
template <class _Tp, size_t _Size> struct __tuple_like<const array<_Tp, _Size> > : true_type {};
|
template <class _Tp, size_t _Size> struct __tuple_like<const array<_Tp, _Size> > : true_type {};
|
||||||
|
|
||||||
|
|
||||||
template <size_t _Ip, class ..._Tp>
|
template <size_t _Ip, class ..._Tp>
|
||||||
typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
typename tuple_element<_Ip, tuple<_Tp...>>::type&
|
||||||
get(tuple<_Tp...>&);
|
get(tuple<_Tp...>&);
|
||||||
|
@@ -22,4 +22,4 @@ template <size_t _Ip, class _Tp> class tuple_element;
|
|||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP___TUPLE_03
|
||||||
|
@@ -469,21 +469,21 @@ template <class RandomAccessIterator, class Compare>
|
|||||||
void
|
void
|
||||||
sort_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
|
sort_heap(RandomAccessIterator first, RandomAccessIterator last, Compare comp);
|
||||||
|
|
||||||
template <class RandomAccessIterator>
|
template <class RandomAccessIterator>
|
||||||
bool
|
bool
|
||||||
is_heap(RandomAccessIterator first, RandomAccessiterator last);
|
is_heap(RandomAccessIterator first, RandomAccessiterator last);
|
||||||
|
|
||||||
template <class RandomAccessIterator, class Compare>
|
template <class RandomAccessIterator, class Compare>
|
||||||
bool
|
bool
|
||||||
is_heap(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
|
is_heap(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
|
||||||
|
|
||||||
template <class RandomAccessIterator>
|
template <class RandomAccessIterator>
|
||||||
RandomAccessIterator
|
RandomAccessIterator
|
||||||
is_heap_until(RandomAccessIterator first, RandomAccessiterator last);
|
is_heap_until(RandomAccessIterator first, RandomAccessiterator last);
|
||||||
|
|
||||||
template <class RandomAccessIterator, class Compare>
|
template <class RandomAccessIterator, class Compare>
|
||||||
RandomAccessIterator
|
RandomAccessIterator
|
||||||
is_heap_until(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
|
is_heap_until(RandomAccessIterator first, RandomAccessiterator last, Compare comp);
|
||||||
|
|
||||||
template <class ForwardIterator>
|
template <class ForwardIterator>
|
||||||
ForwardIterator
|
ForwardIterator
|
||||||
@@ -567,7 +567,7 @@ template <class InputIterator1, class InputIterator2, class Compare>
|
|||||||
InputIterator2 first2, InputIterator2 last2, Compare comp);
|
InputIterator2 first2, InputIterator2 last2, Compare comp);
|
||||||
|
|
||||||
template <class BidirectionalIterator>
|
template <class BidirectionalIterator>
|
||||||
bool
|
bool
|
||||||
next_permutation(BidirectionalIterator first, BidirectionalIterator last);
|
next_permutation(BidirectionalIterator first, BidirectionalIterator last);
|
||||||
|
|
||||||
template <class BidirectionalIterator, class Compare>
|
template <class BidirectionalIterator, class Compare>
|
||||||
@@ -1200,7 +1200,7 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|||||||
break;
|
break;
|
||||||
++__first1;
|
++__first1;
|
||||||
}
|
}
|
||||||
#else // _LIBCPP_UNROLL_LOOPS
|
#else // !_LIBCPP_UNROLL_LOOPS
|
||||||
for (_D1 __loop_unroll = (__s - __first1) / 4; __loop_unroll > 0; --__loop_unroll)
|
for (_D1 __loop_unroll = (__s - __first1) / 4; __loop_unroll > 0; --__loop_unroll)
|
||||||
{
|
{
|
||||||
if (__pred(*__first1, *__first2))
|
if (__pred(*__first1, *__first2))
|
||||||
@@ -1230,7 +1230,7 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|||||||
return __last1;
|
return __last1;
|
||||||
}
|
}
|
||||||
__phase2:
|
__phase2:
|
||||||
#endif // _LIBCPP_UNROLL_LOOPS
|
#endif // !_LIBCPP_UNROLL_LOOPS
|
||||||
_RandomAccessIterator1 __m1 = __first1;
|
_RandomAccessIterator1 __m1 = __first1;
|
||||||
_RandomAccessIterator2 __m2 = __first2;
|
_RandomAccessIterator2 __m2 = __first2;
|
||||||
#if !_LIBCPP_UNROLL_LOOPS
|
#if !_LIBCPP_UNROLL_LOOPS
|
||||||
@@ -1245,7 +1245,7 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else // _LIBCPP_UNROLL_LOOPS
|
#else // !_LIBCPP_UNROLL_LOOPS
|
||||||
++__m2;
|
++__m2;
|
||||||
++__m1;
|
++__m1;
|
||||||
for (_D2 __loop_unroll = (__last2 - __m2) / 4; __loop_unroll > 0; --__loop_unroll)
|
for (_D2 __loop_unroll = (__last2 - __m2) / 4; __loop_unroll > 0; --__loop_unroll)
|
||||||
@@ -1281,7 +1281,7 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|||||||
}
|
}
|
||||||
__continue:
|
__continue:
|
||||||
++__first1;
|
++__first1;
|
||||||
#endif // _LIBCPP_UNROLL_LOOPS
|
#endif // !_LIBCPP_UNROLL_LOOPS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1995,7 +1995,6 @@ __unique_copy(_InputIterator __first, _InputIterator __last, _ForwardIterator __
|
|||||||
return __result;
|
return __result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <class _InputIterator, class _OutputIterator, class _BinaryPredicate>
|
template <class _InputIterator, class _OutputIterator, class _BinaryPredicate>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_OutputIterator
|
_OutputIterator
|
||||||
@@ -2123,7 +2122,7 @@ __rotate(_RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomA
|
|||||||
{
|
{
|
||||||
typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
|
typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
|
||||||
typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
|
typedef typename iterator_traits<_RandomAccessIterator>::value_type value_type;
|
||||||
|
|
||||||
if (__first == __middle)
|
if (__first == __middle)
|
||||||
return __last;
|
return __last;
|
||||||
if (__middle == __last)
|
if (__middle == __last)
|
||||||
@@ -3147,7 +3146,7 @@ is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __co
|
|||||||
return __last;
|
return __last;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _ForwardIterator>
|
template<class _ForwardIterator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_ForwardIterator
|
_ForwardIterator
|
||||||
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
|
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
|
||||||
@@ -3165,7 +3164,7 @@ is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|||||||
return _STD::is_sorted_until(__first, __last, __comp) == __last;
|
return _STD::is_sorted_until(__first, __last, __comp) == __last;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _ForwardIterator>
|
template<class _ForwardIterator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
is_sorted(_ForwardIterator __first, _ForwardIterator __last)
|
is_sorted(_ForwardIterator __first, _ForwardIterator __last)
|
||||||
@@ -3616,10 +3615,10 @@ sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __com
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__sort<_Comp_ref>(__first, __last, __c);
|
__sort<_Comp_ref>(__first, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__sort<_Comp_ref>(__first, __last, __comp);
|
__sort<_Comp_ref>(__first, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -3713,10 +3712,10 @@ lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __lower_bound<_Comp_ref>(__first, __last, __value, __c);
|
return __lower_bound<_Comp_ref>(__first, __last, __value, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __lower_bound<_Comp_ref>(__first, __last, __value, __comp);
|
return __lower_bound<_Comp_ref>(__first, __last, __value, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _ForwardIterator, class _Tp>
|
template <class _ForwardIterator, class _Tp>
|
||||||
@@ -3761,10 +3760,10 @@ upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __upper_bound<_Comp_ref>(__first, __last, __value, __c);
|
return __upper_bound<_Comp_ref>(__first, __last, __value, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __upper_bound<_Comp_ref>(__first, __last, __value, __comp);
|
return __upper_bound<_Comp_ref>(__first, __last, __value, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _ForwardIterator, class _Tp>
|
template <class _ForwardIterator, class _Tp>
|
||||||
@@ -3821,10 +3820,10 @@ equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __equal_range<_Comp_ref>(__first, __last, __value, __c);
|
return __equal_range<_Comp_ref>(__first, __last, __value, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __equal_range<_Comp_ref>(__first, __last, __value, __comp);
|
return __equal_range<_Comp_ref>(__first, __last, __value, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _ForwardIterator, class _Tp>
|
template <class _ForwardIterator, class _Tp>
|
||||||
@@ -3856,10 +3855,10 @@ binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __binary_search<_Comp_ref>(__first, __last, __value, __c);
|
return __binary_search<_Comp_ref>(__first, __last, __value, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __binary_search<_Comp_ref>(__first, __last, __value, __comp);
|
return __binary_search<_Comp_ref>(__first, __last, __value, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _ForwardIterator, class _Tp>
|
template <class _ForwardIterator, class _Tp>
|
||||||
@@ -3906,10 +3905,10 @@ merge(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return _STD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
return _STD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return _STD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
return _STD::__merge<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
||||||
@@ -4081,11 +4080,11 @@ inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator __middle, _
|
|||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return _STD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __c, __len1, __len2,
|
return _STD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __c, __len1, __len2,
|
||||||
__buf.first, __buf.second);
|
__buf.first, __buf.second);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return _STD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __comp, __len1, __len2,
|
return _STD::__inplace_merge<_Comp_ref>(__first, __middle, __last, __comp, __len1, __len2,
|
||||||
__buf.first, __buf.second);
|
__buf.first, __buf.second);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _BidirectionalIterator>
|
template <class _BidirectionalIterator>
|
||||||
@@ -4291,10 +4290,10 @@ stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compar
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__stable_sort<_Comp_ref>(__first, __last, __c, __len, __buf.first, __buf.second);
|
__stable_sort<_Comp_ref>(__first, __last, __c, __len, __buf.first, __buf.second);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__stable_sort<_Comp_ref>(__first, __last, __comp, __len, __buf.first, __buf.second);
|
__stable_sort<_Comp_ref>(__first, __last, __comp, __len, __buf.first, __buf.second);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4334,7 +4333,7 @@ is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp
|
|||||||
return __last;
|
return __last;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _RandomAccessIterator>
|
template<class _RandomAccessIterator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_RandomAccessIterator
|
_RandomAccessIterator
|
||||||
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
||||||
@@ -4352,7 +4351,7 @@ is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __
|
|||||||
return _STD::is_heap_until(__first, __last, __comp) == __last;
|
return _STD::is_heap_until(__first, __last, __comp) == __last;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _RandomAccessIterator>
|
template<class _RandomAccessIterator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
||||||
@@ -4440,10 +4439,10 @@ push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__push_heap_back<_Comp_ref>(__first, __last, __c, __last - __first);
|
__push_heap_back<_Comp_ref>(__first, __last, __c, __last - __first);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__push_heap_back<_Comp_ref>(__first, __last, __comp, __last - __first);
|
__push_heap_back<_Comp_ref>(__first, __last, __comp, __last - __first);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4478,10 +4477,10 @@ pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare _
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__pop_heap<_Comp_ref>(__first, __last, __c, __last - __first);
|
__pop_heap<_Comp_ref>(__first, __last, __c, __last - __first);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__pop_heap<_Comp_ref>(__first, __last, __comp, __last - __first);
|
__pop_heap<_Comp_ref>(__first, __last, __comp, __last - __first);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4518,10 +4517,10 @@ make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__make_heap<_Comp_ref>(__first, __last, __c);
|
__make_heap<_Comp_ref>(__first, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__make_heap<_Comp_ref>(__first, __last, __comp);
|
__make_heap<_Comp_ref>(__first, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4552,10 +4551,10 @@ sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__sort_heap<_Comp_ref>(__first, __last, __c);
|
__sort_heap<_Comp_ref>(__first, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__sort_heap<_Comp_ref>(__first, __last, __comp);
|
__sort_heap<_Comp_ref>(__first, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4596,10 +4595,10 @@ partial_sort(_RandomAccessIterator __first, _RandomAccessIterator __middle, _Ran
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__partial_sort<_Comp_ref>(__first, __middle, __last, __c);
|
__partial_sort<_Comp_ref>(__first, __middle, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__partial_sort<_Comp_ref>(__first, __middle, __last, __comp);
|
__partial_sort<_Comp_ref>(__first, __middle, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4646,10 +4645,10 @@ partial_sort_copy(_InputIterator __first, _InputIterator __last,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __c);
|
return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __comp);
|
return __partial_sort_copy<_Comp_ref>(__first, __last, __result_first, __result_last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator, class _RandomAccessIterator>
|
template <class _InputIterator, class _RandomAccessIterator>
|
||||||
@@ -4858,10 +4857,10 @@ nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomA
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
__nth_element<_Comp_ref>(__first, __nth, __last, __c);
|
__nth_element<_Comp_ref>(__first, __nth, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
__nth_element<_Comp_ref>(__first, __nth, __last, __comp);
|
__nth_element<_Comp_ref>(__first, __nth, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _RandomAccessIterator>
|
template <class _RandomAccessIterator>
|
||||||
@@ -4899,10 +4898,10 @@ includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __fi
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
|
return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
|
return __includes<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2>
|
template <class _InputIterator1, class _InputIterator2>
|
||||||
@@ -4952,10 +4951,10 @@ set_union(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
return __set_union<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
||||||
@@ -5004,10 +5003,10 @@ set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
return __set_intersection<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
||||||
@@ -5058,10 +5057,10 @@ set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
return __set_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
||||||
@@ -5117,10 +5116,10 @@ set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
return __set_symmetric_difference<_Comp_ref>(__first1, __last1, __first2, __last2, __result, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
template <class _InputIterator1, class _InputIterator2, class _OutputIterator>
|
||||||
@@ -5161,10 +5160,10 @@ lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
|
return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
|
return __lexicographical_compare<_Comp_ref>(__first1, __last1, __first2, __last2, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _InputIterator1, class _InputIterator2>
|
template <class _InputIterator1, class _InputIterator2>
|
||||||
@@ -5216,15 +5215,15 @@ next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __next_permutation<_Comp_ref>(__first, __last, __c);
|
return __next_permutation<_Comp_ref>(__first, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __next_permutation<_Comp_ref>(__first, __last, __comp);
|
return __next_permutation<_Comp_ref>(__first, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _BidirectionalIterator>
|
template <class _BidirectionalIterator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
|
next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
|
||||||
{
|
{
|
||||||
return _STD::next_permutation(__first, __last,
|
return _STD::next_permutation(__first, __last,
|
||||||
@@ -5269,10 +5268,10 @@ prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,
|
|||||||
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
|
||||||
__debug_less<_Compare> __c(__comp);
|
__debug_less<_Compare> __c(__comp);
|
||||||
return __prev_permutation<_Comp_ref>(__first, __last, __c);
|
return __prev_permutation<_Comp_ref>(__first, __last, __c);
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
|
||||||
return __prev_permutation<_Comp_ref>(__first, __last, __comp);
|
return __prev_permutation<_Comp_ref>(__first, __last, __comp);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _BidirectionalIterator>
|
template <class _BidirectionalIterator>
|
||||||
|
168
include/array
168
include/array
@@ -16,84 +16,84 @@
|
|||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
template <class T, size_t N >
|
template <class T, size_t N >
|
||||||
struct array
|
struct array
|
||||||
{
|
{
|
||||||
// types:
|
// types:
|
||||||
typedef T & reference;
|
typedef T & reference;
|
||||||
typedef const T & const_reference;
|
typedef const T & const_reference;
|
||||||
typedef implementation defined iterator;
|
typedef implementation defined iterator;
|
||||||
typedef implementation defined const_iterator;
|
typedef implementation defined const_iterator;
|
||||||
typedef size_t size_type;
|
typedef size_t size_type;
|
||||||
typedef ptrdiff_t difference_type;
|
typedef ptrdiff_t difference_type;
|
||||||
typedef T value_type;
|
typedef T value_type;
|
||||||
typedef T* pointer;
|
typedef T* pointer;
|
||||||
typedef const T* const_pointer;
|
typedef const T* const_pointer;
|
||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
|
|
||||||
// No explicit construct/copy/destroy for aggregate type
|
// No explicit construct/copy/destroy for aggregate type
|
||||||
void fill(const T& u);
|
void fill(const T& u);
|
||||||
void swap(array& a);
|
void swap(array& a);
|
||||||
|
|
||||||
// iterators:
|
// iterators:
|
||||||
iterator begin();
|
iterator begin();
|
||||||
const_iterator begin() const;
|
const_iterator begin() const;
|
||||||
iterator end();
|
iterator end();
|
||||||
const_iterator end() const;
|
const_iterator end() const;
|
||||||
|
|
||||||
reverse_iterator rbegin();
|
reverse_iterator rbegin();
|
||||||
const_reverse_iterator rbegin() const;
|
const_reverse_iterator rbegin() const;
|
||||||
reverse_iterator rend();
|
reverse_iterator rend();
|
||||||
const_reverse_iterator rend() const;
|
const_reverse_iterator rend() const;
|
||||||
|
|
||||||
const_iterator cbegin() const;
|
const_iterator cbegin() const;
|
||||||
const_iterator cend() const;
|
const_iterator cend() const;
|
||||||
const_reverse_iterator crbegin() const;
|
const_reverse_iterator crbegin() const;
|
||||||
const_reverse_iterator crend() const;
|
const_reverse_iterator crend() const;
|
||||||
|
|
||||||
// capacity:
|
// capacity:
|
||||||
constexpr size_type size() const;
|
constexpr size_type size() const;
|
||||||
constexpr size_type max_size() const;
|
constexpr size_type max_size() const;
|
||||||
bool empty() const;
|
bool empty() const;
|
||||||
|
|
||||||
// element access:
|
// element access:
|
||||||
reference operator[](size_type n);
|
reference operator[](size_type n);
|
||||||
const_reference operator[](size_type n) const;
|
const_reference operator[](size_type n) const;
|
||||||
const_reference at(size_type n) const;
|
const_reference at(size_type n) const;
|
||||||
reference at(size_type n);
|
reference at(size_type n);
|
||||||
|
|
||||||
reference front();
|
reference front();
|
||||||
const_reference front() const;
|
const_reference front() const;
|
||||||
reference back();
|
reference back();
|
||||||
const_reference back() const;
|
const_reference back() const;
|
||||||
|
|
||||||
T* data();
|
T* data();
|
||||||
const T* data() const;
|
const T* data() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator==(const array<T,N>& x, const array<T,N>& y);
|
bool operator==(const array<T,N>& x, const array<T,N>& y);
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator!=(const array<T,N>& x, const array<T,N>& y);
|
bool operator!=(const array<T,N>& x, const array<T,N>& y);
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator<(const array<T,N>& x, const array<T,N>& y);
|
bool operator<(const array<T,N>& x, const array<T,N>& y);
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator>(const array<T,N>& x, const array<T,N>& y);
|
bool operator>(const array<T,N>& x, const array<T,N>& y);
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator<=(const array<T,N>& x, const array<T,N>& y);
|
bool operator<=(const array<T,N>& x, const array<T,N>& y);
|
||||||
template <class T, size_t N>
|
template <class T, size_t N>
|
||||||
bool operator>=(const array<T,N>& x, const array<T,N>& y);
|
bool operator>=(const array<T,N>& x, const array<T,N>& y);
|
||||||
|
|
||||||
template <class T, size_t N >
|
template <class T, size_t N >
|
||||||
void swap(array<T,N>& x, array<T,N>& y);
|
void swap(array<T,N>& x, array<T,N>& y);
|
||||||
|
|
||||||
template <class T> class tuple_size;
|
template <class T> class tuple_size;
|
||||||
template <int I, class T> class tuple_element;
|
template <int I, class T> class tuple_element;
|
||||||
template <class T, size_t N> struct tuple_size<array<T, N>>;
|
template <class T, size_t N> struct tuple_size<array<T, N>>;
|
||||||
template <int I, class T, size_t N> struct tuple_element<I, array<T, N>>;
|
template <int I, class T, size_t N> struct tuple_element<I, array<T, N>>;
|
||||||
template <int I, class T, size_t N> T& get(array<T, N>&);
|
template <int I, class T, size_t N> T& get(array<T, N>&);
|
||||||
template <int I, class T, size_t N> const T& get(const array<T, N>&);
|
template <int I, class T, size_t N> const T& get(const array<T, N>&);
|
||||||
|
|
||||||
} // std
|
} // std
|
||||||
|
|
||||||
@@ -114,30 +114,30 @@ template <int I, class T, size_t N> const T& get(const array<T, N>&);
|
|||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
struct array
|
struct array
|
||||||
{
|
{
|
||||||
// types:
|
// types:
|
||||||
typedef array __self;
|
typedef array __self;
|
||||||
typedef _Tp value_type;
|
typedef _Tp value_type;
|
||||||
typedef value_type& reference;
|
typedef value_type& reference;
|
||||||
typedef const value_type& const_reference;
|
typedef const value_type& const_reference;
|
||||||
typedef value_type* iterator;
|
typedef value_type* iterator;
|
||||||
typedef const value_type* const_iterator;
|
typedef const value_type* const_iterator;
|
||||||
typedef value_type* pointer;
|
typedef value_type* pointer;
|
||||||
typedef const value_type* const_pointer;
|
typedef const value_type* const_pointer;
|
||||||
typedef size_t size_type;
|
typedef size_t size_type;
|
||||||
typedef ptrdiff_t difference_type;
|
typedef ptrdiff_t difference_type;
|
||||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
|
|
||||||
value_type __elems_[_Size > 0 ? _Size : 1];
|
value_type __elems_[_Size > 0 ? _Size : 1];
|
||||||
|
|
||||||
// No explicit construct/copy/destroy for aggregate type
|
// No explicit construct/copy/destroy for aggregate type
|
||||||
_LIBCPP_INLINE_VISIBILITY void fill(const value_type& __u) {_STD::fill_n(__elems_, _Size, __u);}
|
_LIBCPP_INLINE_VISIBILITY void fill(const value_type& __u) {_STD::fill_n(__elems_, _Size, __u);}
|
||||||
_LIBCPP_INLINE_VISIBILITY void swap(array& __a) {_STD::swap_ranges(__elems_, __elems_ + _Size, __a.__elems_);}
|
_LIBCPP_INLINE_VISIBILITY void swap(array& __a) {_STD::swap_ranges(__elems_, __elems_ + _Size, __a.__elems_);}
|
||||||
|
|
||||||
// iterators:
|
// iterators:
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator begin() {return iterator(__elems_);}
|
_LIBCPP_INLINE_VISIBILITY iterator begin() {return iterator(__elems_);}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return const_iterator(__elems_);}
|
_LIBCPP_INLINE_VISIBILITY const_iterator begin() const {return const_iterator(__elems_);}
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator end() {return iterator(__elems_ + _Size);}
|
_LIBCPP_INLINE_VISIBILITY iterator end() {return iterator(__elems_ + _Size);}
|
||||||
@@ -153,16 +153,16 @@ struct array
|
|||||||
_LIBCPP_INLINE_VISIBILITY const_reverse_iterator crbegin() const {return rbegin();}
|
_LIBCPP_INLINE_VISIBILITY const_reverse_iterator crbegin() const {return rbegin();}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_reverse_iterator crend() const {return rend();}
|
_LIBCPP_INLINE_VISIBILITY const_reverse_iterator crend() const {return rend();}
|
||||||
|
|
||||||
// capacity:
|
// capacity:
|
||||||
_LIBCPP_INLINE_VISIBILITY /*constexpr*/ size_type size() const {return _Size;}
|
_LIBCPP_INLINE_VISIBILITY /*constexpr*/ size_type size() const {return _Size;}
|
||||||
_LIBCPP_INLINE_VISIBILITY /*constexpr*/ size_type max_size() const {return _Size;}
|
_LIBCPP_INLINE_VISIBILITY /*constexpr*/ size_type max_size() const {return _Size;}
|
||||||
_LIBCPP_INLINE_VISIBILITY bool empty() const {return _Size == 0;}
|
_LIBCPP_INLINE_VISIBILITY bool empty() const {return _Size == 0;}
|
||||||
|
|
||||||
// element access:
|
// element access:
|
||||||
_LIBCPP_INLINE_VISIBILITY reference operator[](size_type __n) {return __elems_[__n];}
|
_LIBCPP_INLINE_VISIBILITY reference operator[](size_type __n) {return __elems_[__n];}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const {return __elems_[__n];}
|
_LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __n) const {return __elems_[__n];}
|
||||||
reference at(size_type __n);
|
reference at(size_type __n);
|
||||||
const_reference at(size_type __n) const;
|
const_reference at(size_type __n) const;
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY reference front() {return __elems_[0];}
|
_LIBCPP_INLINE_VISIBILITY reference front() {return __elems_[0];}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_reference front() const {return __elems_[0];}
|
_LIBCPP_INLINE_VISIBILITY const_reference front() const {return __elems_[0];}
|
||||||
@@ -170,10 +170,10 @@ struct array
|
|||||||
_LIBCPP_INLINE_VISIBILITY const_reference back() const {return __elems_[_Size > 0 ? _Size-1 : 0];}
|
_LIBCPP_INLINE_VISIBILITY const_reference back() const {return __elems_[_Size > 0 ? _Size-1 : 0];}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY value_type* data() {return __elems_;}
|
_LIBCPP_INLINE_VISIBILITY value_type* data() {return __elems_;}
|
||||||
_LIBCPP_INLINE_VISIBILITY const value_type* data() const {return __elems_;}
|
_LIBCPP_INLINE_VISIBILITY const value_type* data() const {return __elems_;}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
typename array<_Tp, _Size>::reference
|
typename array<_Tp, _Size>::reference
|
||||||
array<_Tp, _Size>::at(size_type __n)
|
array<_Tp, _Size>::at(size_type __n)
|
||||||
{
|
{
|
||||||
@@ -186,7 +186,7 @@ array<_Tp, _Size>::at(size_type __n)
|
|||||||
return __elems_[__n];
|
return __elems_[__n];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
typename array<_Tp, _Size>::const_reference
|
typename array<_Tp, _Size>::const_reference
|
||||||
array<_Tp, _Size>::at(size_type __n) const
|
array<_Tp, _Size>::at(size_type __n) const
|
||||||
{
|
{
|
||||||
@@ -199,7 +199,7 @@ array<_Tp, _Size>::at(size_type __n) const
|
|||||||
return __elems_[__n];
|
return __elems_[__n];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -207,7 +207,7 @@ operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return _STD::equal(__x.__elems_, __x.__elems_ + _Size, __y.__elems_);
|
return _STD::equal(__x.__elems_, __x.__elems_ + _Size, __y.__elems_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -215,7 +215,7 @@ operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return !(__x == __y);
|
return !(__x == __y);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -223,7 +223,7 @@ operator<(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return _STD::lexicographical_compare(__x.__elems_, __x.__elems_ + _Size, __y.__elems_, __y.__elems_ + _Size);
|
return _STD::lexicographical_compare(__x.__elems_, __x.__elems_ + _Size, __y.__elems_, __y.__elems_ + _Size);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -231,7 +231,7 @@ operator>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return __y < __x;
|
return __y < __x;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -239,7 +239,7 @@ operator<=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return !(__y < __x);
|
return !(__y < __x);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
@@ -247,7 +247,7 @@ operator>=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
|||||||
return !(__x < __y);
|
return !(__x < __y);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, size_t _Size>
|
template <class _Tp, size_t _Size>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
void
|
void
|
||||||
swap(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
swap(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y)
|
||||||
|
@@ -598,61 +598,61 @@ class bitset
|
|||||||
static const unsigned __n_words = _Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1;
|
static const unsigned __n_words = _Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1;
|
||||||
typedef __bitset<__n_words, _Size> base;
|
typedef __bitset<__n_words, _Size> base;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef typename base::reference reference;
|
typedef typename base::reference reference;
|
||||||
typedef typename base::const_reference const_reference;
|
typedef typename base::const_reference const_reference;
|
||||||
|
|
||||||
// 23.3.5.1 constructors:
|
// 23.3.5.1 constructors:
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY bitset() {}
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY bitset() {}
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY bitset(unsigned long long __v) : base(__v) {}
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY bitset(unsigned long long __v) : base(__v) {}
|
||||||
explicit bitset(const char* __str);
|
explicit bitset(const char* __str);
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
explicit bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
|
explicit bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
|
||||||
typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos = 0,
|
typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos = 0,
|
||||||
typename basic_string<_CharT,_Traits,_Allocator>::size_type __n =
|
typename basic_string<_CharT,_Traits,_Allocator>::size_type __n =
|
||||||
(basic_string<_CharT,_Traits,_Allocator>::npos),
|
(basic_string<_CharT,_Traits,_Allocator>::npos),
|
||||||
_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:
|
||||||
bitset& operator&=(const bitset& __rhs);
|
bitset& operator&=(const bitset& __rhs);
|
||||||
bitset& operator|=(const bitset& __rhs);
|
bitset& operator|=(const bitset& __rhs);
|
||||||
bitset& operator^=(const bitset& __rhs);
|
bitset& operator^=(const bitset& __rhs);
|
||||||
bitset& operator<<=(size_t __pos);
|
bitset& operator<<=(size_t __pos);
|
||||||
bitset& operator>>=(size_t __pos);
|
bitset& operator>>=(size_t __pos);
|
||||||
bitset& set();
|
bitset& set();
|
||||||
bitset& set(size_t __pos, bool __val = true);
|
bitset& set(size_t __pos, bool __val = true);
|
||||||
bitset& reset();
|
bitset& reset();
|
||||||
bitset& reset(size_t __pos);
|
bitset& reset(size_t __pos);
|
||||||
bitset operator~() const;
|
bitset operator~() const;
|
||||||
bitset& flip();
|
bitset& flip();
|
||||||
bitset& flip(size_t __pos);
|
bitset& flip(size_t __pos);
|
||||||
|
|
||||||
// element access:
|
// element access:
|
||||||
_LIBCPP_INLINE_VISIBILITY const_reference operator[](size_t __p) const {return base::__make_ref(__p);}
|
_LIBCPP_INLINE_VISIBILITY 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);}
|
||||||
unsigned long to_ulong() const;
|
unsigned long to_ulong() const;
|
||||||
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>
|
||||||
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>
|
||||||
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;
|
||||||
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;
|
||||||
size_t count() const;
|
size_t count() const;
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY size_t size() const {return _Size;}
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY size_t size() const {return _Size;}
|
||||||
bool operator==(const bitset& __rhs) const;
|
bool operator==(const bitset& __rhs) const;
|
||||||
bool operator!=(const bitset& __rhs) const;
|
bool operator!=(const bitset& __rhs) const;
|
||||||
bool test(size_t __pos) const;
|
bool test(size_t __pos) const;
|
||||||
bool all() const;
|
bool all() const;
|
||||||
bool any() const;
|
bool any() const;
|
||||||
_LIBCPP_INLINE_VISIBILITY bool none() const {return !any();}
|
_LIBCPP_INLINE_VISIBILITY bool none() const {return !any();}
|
||||||
bitset operator<<(size_t __pos) const;
|
bitset operator<<(size_t __pos) const;
|
||||||
bitset operator>>(size_t __pos) const;
|
bitset operator>>(size_t __pos) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -690,9 +690,9 @@ bitset<_Size>::bitset(const char* __str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <size_t _Size>
|
template <size_t _Size>
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
bitset<_Size>::bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
|
bitset<_Size>::bitset(const basic_string<_CharT,_Traits,_Allocator>& __str,
|
||||||
typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos,
|
typename basic_string<_CharT,_Traits,_Allocator>::size_type __pos,
|
||||||
typename basic_string<_CharT,_Traits,_Allocator>::size_type __n,
|
typename basic_string<_CharT,_Traits,_Allocator>::size_type __n,
|
||||||
_CharT __zero, _CharT __one)
|
_CharT __zero, _CharT __one)
|
||||||
{
|
{
|
||||||
@@ -867,7 +867,7 @@ bitset<_Size>::to_ullong() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <size_t _Size>
|
template <size_t _Size>
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
basic_string<_CharT, _Traits, _Allocator>
|
basic_string<_CharT, _Traits, _Allocator>
|
||||||
bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
|
bitset<_Size>::to_string(_CharT __zero, _CharT __one) const
|
||||||
{
|
{
|
||||||
@@ -881,7 +881,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 _LIBCPP_INLINE_VISIBILITY
|
||||||
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
|
||||||
@@ -890,7 +890,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 _LIBCPP_INLINE_VISIBILITY
|
||||||
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
|
||||||
|
@@ -44,14 +44,14 @@ const int __elast2 = ELAST+2;
|
|||||||
#define ENOTRECOVERABLE __elast1
|
#define ENOTRECOVERABLE __elast1
|
||||||
#define ELAST ENOTRECOVERABLE
|
#define ELAST ENOTRECOVERABLE
|
||||||
|
|
||||||
#else
|
#else // defined(EOWNERDEAD)
|
||||||
|
|
||||||
#define EOWNERDEAD __elast1
|
#define EOWNERDEAD __elast1
|
||||||
#define ENOTRECOVERABLE __elast2
|
#define ENOTRECOVERABLE __elast2
|
||||||
#define ELAST ENOTRECOVERABLE
|
#define ELAST ENOTRECOVERABLE
|
||||||
|
|
||||||
#endif
|
#endif // defined(EOWNERDEAD)
|
||||||
|
|
||||||
#endif
|
#endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
|
||||||
|
|
||||||
#endif // _LIBCPP_CERRNO
|
#endif // _LIBCPP_CERRNO
|
||||||
|
@@ -141,17 +141,17 @@ bool signbit(floating_point x);
|
|||||||
|
|
||||||
int fpclassify(floating_point x);
|
int fpclassify(floating_point x);
|
||||||
|
|
||||||
bool isfinite(floating_point x);
|
bool isfinite(floating_point x);
|
||||||
bool isinf(floating_point x);
|
bool isinf(floating_point x);
|
||||||
bool isnan(floating_point x);
|
bool isnan(floating_point x);
|
||||||
bool isnormal(floating_point x);
|
bool isnormal(floating_point x);
|
||||||
|
|
||||||
bool isgreater(floating_point x, floating_point y);
|
bool isgreater(floating_point x, floating_point y);
|
||||||
bool isgreaterequal(floating_point x, floating_point y);
|
bool isgreaterequal(floating_point x, floating_point y);
|
||||||
bool isless(floating_point x, floating_point y);
|
bool isless(floating_point x, floating_point y);
|
||||||
bool islessequal(floating_point x, floating_point y);
|
bool islessequal(floating_point x, floating_point y);
|
||||||
bool islessgreater(floating_point x, floating_point y);
|
bool islessgreater(floating_point x, floating_point y);
|
||||||
bool isunordered(floating_point x, floating_point y);
|
bool isunordered(floating_point x, floating_point y);
|
||||||
|
|
||||||
floating_point acosh (arithmetic x);
|
floating_point acosh (arithmetic x);
|
||||||
float acoshf(float x);
|
float acoshf(float x);
|
||||||
@@ -297,11 +297,11 @@ long double truncl(long double x);
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// FIXME: work around for Clang with -std=C++0x on OSX/iOS
|
// FIXME: work around for Clang with -std=C++0x on OSX/iOS
|
||||||
#if defined(__clang__) && defined(__APPLE__)
|
#if defined(__clang__) && defined(__APPLE__)
|
||||||
# pragma push_macro("__STRICT_ANSI__")
|
# pragma push_macro("__STRICT_ANSI__")
|
||||||
# undef __STRICT_ANSI__
|
# undef __STRICT_ANSI__
|
||||||
#endif
|
#endif // defined(__clang__) && defined(__APPLE__)
|
||||||
|
|
||||||
#include <__config>
|
#include <__config>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
136
include/complex
136
include/complex
@@ -49,89 +49,89 @@ public:
|
|||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<float>
|
class complex<float>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef float value_type;
|
typedef float value_type;
|
||||||
|
|
||||||
constexpr complex(float re = 0.0f, float im = 0.0f);
|
constexpr complex(float re = 0.0f, float im = 0.0f);
|
||||||
explicit constexpr complex(const complex<double>&);
|
explicit constexpr complex(const complex<double>&);
|
||||||
explicit constexpr complex(const complex<long double>&);
|
explicit constexpr complex(const complex<long double>&);
|
||||||
|
|
||||||
constexpr float real() const;
|
constexpr float real() const;
|
||||||
void real(float);
|
void real(float);
|
||||||
constexpr float imag() const;
|
constexpr float imag() const;
|
||||||
void imag(float);
|
void imag(float);
|
||||||
|
|
||||||
complex<float>& operator= (float);
|
complex<float>& operator= (float);
|
||||||
complex<float>& operator+=(float);
|
complex<float>& operator+=(float);
|
||||||
complex<float>& operator-=(float);
|
complex<float>& operator-=(float);
|
||||||
complex<float>& operator*=(float);
|
complex<float>& operator*=(float);
|
||||||
complex<float>& operator/=(float);
|
complex<float>& operator/=(float);
|
||||||
|
|
||||||
complex<float>& operator=(const complex<float>&);
|
complex<float>& operator=(const complex<float>&);
|
||||||
template<class X> complex<float>& operator= (const complex<X>&);
|
template<class X> complex<float>& operator= (const complex<X>&);
|
||||||
template<class X> complex<float>& operator+=(const complex<X>&);
|
template<class X> complex<float>& operator+=(const complex<X>&);
|
||||||
template<class X> complex<float>& operator-=(const complex<X>&);
|
template<class X> complex<float>& operator-=(const complex<X>&);
|
||||||
template<class X> complex<float>& operator*=(const complex<X>&);
|
template<class X> complex<float>& operator*=(const complex<X>&);
|
||||||
template<class X> complex<float>& operator/=(const complex<X>&);
|
template<class X> complex<float>& operator/=(const complex<X>&);
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<double>
|
class complex<double>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef double value_type;
|
typedef double value_type;
|
||||||
|
|
||||||
constexpr complex(double re = 0.0, double im = 0.0);
|
constexpr complex(double re = 0.0, double im = 0.0);
|
||||||
constexpr complex(const complex<float>&);
|
constexpr complex(const complex<float>&);
|
||||||
explicit constexpr complex(const complex<long double>&);
|
explicit constexpr complex(const complex<long double>&);
|
||||||
|
|
||||||
constexpr double real() const;
|
constexpr double real() const;
|
||||||
void real(double);
|
void real(double);
|
||||||
constexpr double imag() const;
|
constexpr double imag() const;
|
||||||
void imag(double);
|
void imag(double);
|
||||||
|
|
||||||
complex<double>& operator= (double);
|
complex<double>& operator= (double);
|
||||||
complex<double>& operator+=(double);
|
complex<double>& operator+=(double);
|
||||||
complex<double>& operator-=(double);
|
complex<double>& operator-=(double);
|
||||||
complex<double>& operator*=(double);
|
complex<double>& operator*=(double);
|
||||||
complex<double>& operator/=(double);
|
complex<double>& operator/=(double);
|
||||||
complex<double>& operator=(const complex<double>&);
|
complex<double>& operator=(const complex<double>&);
|
||||||
|
|
||||||
template<class X> complex<double>& operator= (const complex<X>&);
|
template<class X> complex<double>& operator= (const complex<X>&);
|
||||||
template<class X> complex<double>& operator+=(const complex<X>&);
|
template<class X> complex<double>& operator+=(const complex<X>&);
|
||||||
template<class X> complex<double>& operator-=(const complex<X>&);
|
template<class X> complex<double>& operator-=(const complex<X>&);
|
||||||
template<class X> complex<double>& operator*=(const complex<X>&);
|
template<class X> complex<double>& operator*=(const complex<X>&);
|
||||||
template<class X> complex<double>& operator/=(const complex<X>&);
|
template<class X> complex<double>& operator/=(const complex<X>&);
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<long double>
|
class complex<long double>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef long double value_type;
|
typedef long double value_type;
|
||||||
|
|
||||||
constexpr complex(long double re = 0.0L, long double im = 0.0L);
|
constexpr complex(long double re = 0.0L, long double im = 0.0L);
|
||||||
constexpr complex(const complex<float>&);
|
constexpr complex(const complex<float>&);
|
||||||
constexpr complex(const complex<double>&);
|
constexpr complex(const complex<double>&);
|
||||||
|
|
||||||
constexpr long double real() const;
|
constexpr long double real() const;
|
||||||
void real(long double);
|
void real(long double);
|
||||||
constexpr long double imag() const;
|
constexpr long double imag() const;
|
||||||
void imag(long double);
|
void imag(long double);
|
||||||
|
|
||||||
complex<long double>& operator=(const complex<long double>&);
|
complex<long double>& operator=(const complex<long double>&);
|
||||||
complex<long double>& operator= (long double);
|
complex<long double>& operator= (long double);
|
||||||
complex<long double>& operator+=(long double);
|
complex<long double>& operator+=(long double);
|
||||||
complex<long double>& operator-=(long double);
|
complex<long double>& operator-=(long double);
|
||||||
complex<long double>& operator*=(long double);
|
complex<long double>& operator*=(long double);
|
||||||
complex<long double>& operator/=(long double);
|
complex<long double>& operator/=(long double);
|
||||||
|
|
||||||
template<class X> complex<long double>& operator= (const complex<X>&);
|
template<class X> complex<long double>& operator= (const complex<X>&);
|
||||||
template<class X> complex<long double>& operator+=(const complex<X>&);
|
template<class X> complex<long double>& operator+=(const complex<X>&);
|
||||||
template<class X> complex<long double>& operator-=(const complex<X>&);
|
template<class X> complex<long double>& operator-=(const complex<X>&);
|
||||||
template<class X> complex<long double>& operator*=(const complex<X>&);
|
template<class X> complex<long double>& operator*=(const complex<X>&);
|
||||||
template<class X> complex<long double>& operator/=(const complex<X>&);
|
template<class X> complex<long double>& operator/=(const complex<X>&);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 26.3.6 operators:
|
// 26.3.6 operators:
|
||||||
@@ -321,11 +321,11 @@ template<> class complex<long double>;
|
|||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<float>
|
class complex<float>
|
||||||
{
|
{
|
||||||
float __re_;
|
float __re_;
|
||||||
float __im_;
|
float __im_;
|
||||||
public:
|
public:
|
||||||
typedef float value_type;
|
typedef float value_type;
|
||||||
|
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(float __re = 0.0f, float __im = 0.0f)
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(float __re = 0.0f, float __im = 0.0f)
|
||||||
: __re_(__re), __im_(__im) {}
|
: __re_(__re), __im_(__im) {}
|
||||||
@@ -376,11 +376,11 @@ public:
|
|||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<double>
|
class complex<double>
|
||||||
{
|
{
|
||||||
double __re_;
|
double __re_;
|
||||||
double __im_;
|
double __im_;
|
||||||
public:
|
public:
|
||||||
typedef double value_type;
|
typedef double value_type;
|
||||||
|
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(double __re = 0.0, double __im = 0.0)
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(double __re = 0.0, double __im = 0.0)
|
||||||
: __re_(__re), __im_(__im) {}
|
: __re_(__re), __im_(__im) {}
|
||||||
@@ -427,15 +427,15 @@ public:
|
|||||||
*this = *this / __c;
|
*this = *this / __c;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
class complex<long double>
|
class complex<long double>
|
||||||
{
|
{
|
||||||
long double __re_;
|
long double __re_;
|
||||||
long double __im_;
|
long double __im_;
|
||||||
public:
|
public:
|
||||||
typedef long double value_type;
|
typedef long double value_type;
|
||||||
|
|
||||||
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(long double __re = 0.0L, long double __im = 0.0L)
|
/*constexpr*/ _LIBCPP_INLINE_VISIBILITY complex(long double __re = 0.0L, long double __im = 0.0L)
|
||||||
: __re_(__re), __im_(__im) {}
|
: __re_(__re), __im_(__im) {}
|
||||||
|
@@ -22,11 +22,11 @@
|
|||||||
|
|
||||||
#include <ccomplex>
|
#include <ccomplex>
|
||||||
|
|
||||||
#else
|
#else // __cplusplus
|
||||||
|
|
||||||
#include_next <complex.h>
|
#include_next <complex.h>
|
||||||
|
|
||||||
#endif
|
#endif // __cplusplus
|
||||||
|
|
||||||
#pragma GCC system_header
|
#pragma GCC system_header
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ Macros:
|
|||||||
SIGINT
|
SIGINT
|
||||||
SIGSEGV
|
SIGSEGV
|
||||||
SIGTERM
|
SIGTERM
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ Macros:
|
|||||||
void va_copy(va_list dest, va_list src); // C99
|
void va_copy(va_list dest, va_list src); // C99
|
||||||
void va_end(va_list ap);
|
void va_end(va_list ap);
|
||||||
void va_start(va_list ap, parmN);
|
void va_start(va_list ap, parmN);
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ Macros:
|
|||||||
|
|
||||||
offsetof(type,member-designator)
|
offsetof(type,member-designator)
|
||||||
NULL
|
NULL
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ Types:
|
|||||||
#define __need_NULL
|
#define __need_NULL
|
||||||
#define __need_ptrdiff_t
|
#define __need_ptrdiff_t
|
||||||
#define __need_size_t
|
#define __need_size_t
|
||||||
#endif
|
#endif // __GLIBC__
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
@@ -65,11 +65,11 @@ struct nullptr_t
|
|||||||
_LIBCPP_ALWAYS_INLINE operator int __nat::*() const {return 0;}
|
_LIBCPP_ALWAYS_INLINE operator int __nat::*() const {return 0;}
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
operator _Tp* () const {return 0;}
|
operator _Tp* () const {return 0;}
|
||||||
|
|
||||||
template <class _Tp, class _Up>
|
template <class _Tp, class _Up>
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
operator _Tp _Up::* () const {return 0;}
|
operator _Tp _Up::* () const {return 0;}
|
||||||
|
|
||||||
friend _LIBCPP_ALWAYS_INLINE bool operator==(nullptr_t, nullptr_t) {return true;}
|
friend _LIBCPP_ALWAYS_INLINE bool operator==(nullptr_t, nullptr_t) {return true;}
|
||||||
@@ -120,11 +120,11 @@ inline _LIBCPP_ALWAYS_INLINE nullptr_t __get_nullptr_t() {return nullptr_t(0);}
|
|||||||
|
|
||||||
#define nullptr _STD::__get_nullptr_t()
|
#define nullptr _STD::__get_nullptr_t()
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_NULLPTR
|
||||||
|
|
||||||
typedef decltype(nullptr) nullptr_t;
|
typedef decltype(nullptr) nullptr_t;
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_NULLPTR
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ Macros:
|
|||||||
MB_CUR_MAX
|
MB_CUR_MAX
|
||||||
NULL
|
NULL
|
||||||
RAND_MAX
|
RAND_MAX
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ long labs( long j);
|
|||||||
long long llabs(long long j); // C99
|
long long llabs(long long j); // C99
|
||||||
div_t div( int numer, int denom);
|
div_t div( int numer, int denom);
|
||||||
ldiv_t div( long numer, long denom);
|
ldiv_t div( long numer, long denom);
|
||||||
lldiv_t div(long long numer, long long denom); // C++0X
|
lldiv_t div(long long numer, long long denom); // C++0X
|
||||||
ldiv_t ldiv( long numer, long denom);
|
ldiv_t ldiv( long numer, long denom);
|
||||||
lldiv_t lldiv(long long numer, long long denom); // C99
|
lldiv_t lldiv(long long numer, long long denom); // C99
|
||||||
int mblen(const char* s, size_t n);
|
int mblen(const char* s, size_t n);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
Macros:
|
Macros:
|
||||||
|
|
||||||
NULL
|
NULL
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ Macros:
|
|||||||
|
|
||||||
NULL
|
NULL
|
||||||
CLOCKS_PER_SEC
|
CLOCKS_PER_SEC
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ Macros:
|
|||||||
WCHAR_MAX
|
WCHAR_MAX
|
||||||
WCHAR_MIN
|
WCHAR_MIN
|
||||||
WEOF
|
WEOF
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ wint_t fputwc(wchar_t c, FILE* stream);
|
|||||||
int fputws(const wchar_t* restrict s, FILE* restrict stream);
|
int fputws(const wchar_t* restrict s, FILE* restrict stream);
|
||||||
int fwide(FILE* stream, int mode);
|
int fwide(FILE* stream, int mode);
|
||||||
wint_t getwc(FILE* stream);
|
wint_t getwc(FILE* stream);
|
||||||
wint_t getwchar();
|
wint_t getwchar();
|
||||||
wint_t putwc(wchar_t c, FILE* stream);
|
wint_t putwc(wchar_t c, FILE* stream);
|
||||||
wint_t putwchar(wchar_t c);
|
wint_t putwchar(wchar_t c);
|
||||||
wint_t ungetwc(wint_t c, FILE* stream);
|
wint_t ungetwc(wint_t c, FILE* stream);
|
||||||
@@ -92,10 +92,10 @@ wint_t btowc(int c);
|
|||||||
int wctob(wint_t c);
|
int wctob(wint_t c);
|
||||||
int mbsinit(const mbstate_t* ps);
|
int mbsinit(const mbstate_t* ps);
|
||||||
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
|
size_t mbrlen(const char* restrict s, size_t n, mbstate_t* restrict ps);
|
||||||
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps);
|
size_t mbrtowc(wchar_t* restrict pwc, const char* restrict s, size_t n, mbstate_t* restrict ps);
|
||||||
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
|
size_t wcrtomb(char* restrict s, wchar_t wc, mbstate_t* restrict ps);
|
||||||
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
|
size_t mbsrtowcs(wchar_t* restrict dst, const char** restrict src, size_t len,
|
||||||
mbstate_t* restrict ps);
|
mbstate_t* restrict ps);
|
||||||
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
|
size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
|
||||||
mbstate_t* restrict ps);
|
mbstate_t* restrict ps);
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
Macros:
|
Macros:
|
||||||
|
|
||||||
WEOF
|
WEOF
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ using ::wctype_t;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalnum(wint_t __wc) {return iswalnum(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalnum(wint_t __wc) {return iswalnum(__wc);}
|
||||||
#undef iswalnum
|
#undef iswalnum
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswalnum(wint_t __wc) {return __libcpp_iswalnum(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswalnum(wint_t __wc) {return __libcpp_iswalnum(__wc);}
|
||||||
#else
|
#else // iswalnum
|
||||||
using ::iswalnum;
|
using ::iswalnum;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@ using ::iswalnum;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalpha(wint_t __wc) {return iswalpha(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswalpha(wint_t __wc) {return iswalpha(__wc);}
|
||||||
#undef iswalpha
|
#undef iswalpha
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswalpha(wint_t __wc) {return __libcpp_iswalpha(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswalpha(wint_t __wc) {return __libcpp_iswalpha(__wc);}
|
||||||
#else
|
#else // iswalpha
|
||||||
using ::iswalpha;
|
using ::iswalpha;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ using ::iswalpha;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswblank(wint_t __wc) {return iswblank(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswblank(wint_t __wc) {return iswblank(__wc);}
|
||||||
#undef iswblank
|
#undef iswblank
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswblank(wint_t __wc) {return __libcpp_iswblank(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswblank(wint_t __wc) {return __libcpp_iswblank(__wc);}
|
||||||
#else
|
#else // iswblank
|
||||||
using ::iswblank;
|
using ::iswblank;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ using ::iswblank;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswcntrl(wint_t __wc) {return iswcntrl(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswcntrl(wint_t __wc) {return iswcntrl(__wc);}
|
||||||
#undef iswcntrl
|
#undef iswcntrl
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswcntrl(wint_t __wc) {return __libcpp_iswcntrl(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswcntrl(wint_t __wc) {return __libcpp_iswcntrl(__wc);}
|
||||||
#else
|
#else // iswcntrl
|
||||||
using ::iswcntrl;
|
using ::iswcntrl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ using ::iswcntrl;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswdigit(wint_t __wc) {return iswdigit(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswdigit(wint_t __wc) {return iswdigit(__wc);}
|
||||||
#undef iswdigit
|
#undef iswdigit
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswdigit(wint_t __wc) {return __libcpp_iswdigit(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswdigit(wint_t __wc) {return __libcpp_iswdigit(__wc);}
|
||||||
#else
|
#else // iswdigit
|
||||||
using ::iswdigit;
|
using ::iswdigit;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ using ::iswdigit;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswgraph(wint_t __wc) {return iswgraph(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswgraph(wint_t __wc) {return iswgraph(__wc);}
|
||||||
#undef iswgraph
|
#undef iswgraph
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswgraph(wint_t __wc) {return __libcpp_iswgraph(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswgraph(wint_t __wc) {return __libcpp_iswgraph(__wc);}
|
||||||
#else
|
#else // iswgraph
|
||||||
using ::iswgraph;
|
using ::iswgraph;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ using ::iswgraph;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswlower(wint_t __wc) {return iswlower(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswlower(wint_t __wc) {return iswlower(__wc);}
|
||||||
#undef iswlower
|
#undef iswlower
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswlower(wint_t __wc) {return __libcpp_iswlower(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswlower(wint_t __wc) {return __libcpp_iswlower(__wc);}
|
||||||
#else
|
#else // iswlower
|
||||||
using ::iswlower;
|
using ::iswlower;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ using ::iswlower;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswprint(wint_t __wc) {return iswprint(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswprint(wint_t __wc) {return iswprint(__wc);}
|
||||||
#undef iswprint
|
#undef iswprint
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswprint(wint_t __wc) {return __libcpp_iswprint(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswprint(wint_t __wc) {return __libcpp_iswprint(__wc);}
|
||||||
#else
|
#else // iswprint
|
||||||
using ::iswprint;
|
using ::iswprint;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ using ::iswprint;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswpunct(wint_t __wc) {return iswpunct(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswpunct(wint_t __wc) {return iswpunct(__wc);}
|
||||||
#undef iswpunct
|
#undef iswpunct
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswpunct(wint_t __wc) {return __libcpp_iswpunct(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswpunct(wint_t __wc) {return __libcpp_iswpunct(__wc);}
|
||||||
#else
|
#else // iswpunct
|
||||||
using ::iswpunct;
|
using ::iswpunct;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ using ::iswpunct;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswspace(wint_t __wc) {return iswspace(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswspace(wint_t __wc) {return iswspace(__wc);}
|
||||||
#undef iswspace
|
#undef iswspace
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswspace(wint_t __wc) {return __libcpp_iswspace(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswspace(wint_t __wc) {return __libcpp_iswspace(__wc);}
|
||||||
#else
|
#else // iswspace
|
||||||
using ::iswspace;
|
using ::iswspace;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ using ::iswspace;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswupper(wint_t __wc) {return iswupper(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswupper(wint_t __wc) {return iswupper(__wc);}
|
||||||
#undef iswupper
|
#undef iswupper
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswupper(wint_t __wc) {return __libcpp_iswupper(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswupper(wint_t __wc) {return __libcpp_iswupper(__wc);}
|
||||||
#else
|
#else // iswupper
|
||||||
using ::iswupper;
|
using ::iswupper;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ using ::iswupper;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswxdigit(wint_t __wc) {return iswxdigit(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswxdigit(wint_t __wc) {return iswxdigit(__wc);}
|
||||||
#undef iswxdigit
|
#undef iswxdigit
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswxdigit(wint_t __wc) {return __libcpp_iswxdigit(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswxdigit(wint_t __wc) {return __libcpp_iswxdigit(__wc);}
|
||||||
#else
|
#else // iswxdigit
|
||||||
using ::iswxdigit;
|
using ::iswxdigit;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -162,7 +162,7 @@ using ::iswxdigit;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswctype(wint_t __w, wctype_t __d) {return iswctype(__w, __d);}
|
inline _LIBCPP_INLINE_VISIBILITY int __libcpp_iswctype(wint_t __w, wctype_t __d) {return iswctype(__w, __d);}
|
||||||
#undef iswctype
|
#undef iswctype
|
||||||
inline _LIBCPP_INLINE_VISIBILITY int iswctype(wint_t __w, wctype_t __d) {return __libcpp_iswctype(__w, __d);}
|
inline _LIBCPP_INLINE_VISIBILITY int iswctype(wint_t __w, wctype_t __d) {return __libcpp_iswctype(__w, __d);}
|
||||||
#else
|
#else // iswctype
|
||||||
using ::iswctype;
|
using ::iswctype;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ using ::iswctype;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY wctype_t __libcpp_wctype(const char* __p) {return wctype(__p);}
|
inline _LIBCPP_INLINE_VISIBILITY wctype_t __libcpp_wctype(const char* __p) {return wctype(__p);}
|
||||||
#undef wctype
|
#undef wctype
|
||||||
inline _LIBCPP_INLINE_VISIBILITY wctype_t wctype(const char* __p) {return __libcpp_wctype(__p);}
|
inline _LIBCPP_INLINE_VISIBILITY wctype_t wctype(const char* __p) {return __libcpp_wctype(__p);}
|
||||||
#else
|
#else // wctype
|
||||||
using ::wctype;
|
using ::wctype;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ using ::wctype;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towlower(wint_t __wc) {return towlower(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towlower(wint_t __wc) {return towlower(__wc);}
|
||||||
#undef towlower
|
#undef towlower
|
||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t towlower(wint_t __wc) {return __libcpp_towlower(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t towlower(wint_t __wc) {return __libcpp_towlower(__wc);}
|
||||||
#else
|
#else // towlower
|
||||||
using ::towlower;
|
using ::towlower;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ using ::towlower;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towupper(wint_t __wc) {return towupper(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towupper(wint_t __wc) {return towupper(__wc);}
|
||||||
#undef towupper
|
#undef towupper
|
||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t towupper(wint_t __wc) {return __libcpp_towupper(__wc);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t towupper(wint_t __wc) {return __libcpp_towupper(__wc);}
|
||||||
#else
|
#else // towupper
|
||||||
using ::towupper;
|
using ::towupper;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ using ::towupper;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towctrans(wint_t __wc, wctype_t __d) {return towctrans(__wc, __d);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t __libcpp_towctrans(wint_t __wc, wctype_t __d) {return towctrans(__wc, __d);}
|
||||||
#undef towctrans
|
#undef towctrans
|
||||||
inline _LIBCPP_INLINE_VISIBILITY wint_t towctrans(wint_t __wc, wctype_t __d) {return __libcpp_towctrans(__wc, __d);}
|
inline _LIBCPP_INLINE_VISIBILITY wint_t towctrans(wint_t __wc, wctype_t __d) {return __libcpp_towctrans(__wc, __d);}
|
||||||
#else
|
#else // towctrans
|
||||||
using ::towctrans;
|
using ::towctrans;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ using ::towctrans;
|
|||||||
inline _LIBCPP_INLINE_VISIBILITY wctrans_t __libcpp_wctrans(const char* __p) {return wctrans(__p);}
|
inline _LIBCPP_INLINE_VISIBILITY wctrans_t __libcpp_wctrans(const char* __p) {return wctrans(__p);}
|
||||||
#undef wctrans
|
#undef wctrans
|
||||||
inline _LIBCPP_INLINE_VISIBILITY wctrans_t wctrans(const char* __p) {return __libcpp_wctrans(__p);}
|
inline _LIBCPP_INLINE_VISIBILITY wctrans_t wctrans(const char* __p) {return __libcpp_wctrans(__p);}
|
||||||
#else
|
#else // wctrans
|
||||||
using ::wctrans;
|
using ::wctrans;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -332,19 +332,19 @@ public:
|
|||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __deque_iterator& operator-=(difference_type __n)
|
_LIBCPP_INLINE_VISIBILITY __deque_iterator& operator-=(difference_type __n)
|
||||||
{
|
{
|
||||||
return *this += -__n;
|
return *this += -__n;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __deque_iterator operator+(difference_type __n) const
|
_LIBCPP_INLINE_VISIBILITY __deque_iterator operator+(difference_type __n) const
|
||||||
{
|
{
|
||||||
__deque_iterator __t(*this);
|
__deque_iterator __t(*this);
|
||||||
__t += __n;
|
__t += __n;
|
||||||
return __t;
|
return __t;
|
||||||
}
|
}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY __deque_iterator operator-(difference_type __n) const
|
_LIBCPP_INLINE_VISIBILITY __deque_iterator operator-(difference_type __n) const
|
||||||
{
|
{
|
||||||
__deque_iterator __t(*this);
|
__deque_iterator __t(*this);
|
||||||
@@ -398,7 +398,6 @@ private:
|
|||||||
_LIBCPP_INLINE_VISIBILITY __deque_iterator(__map_iterator __m, pointer __p)
|
_LIBCPP_INLINE_VISIBILITY __deque_iterator(__map_iterator __m, pointer __p)
|
||||||
: __m_iter_(__m), __ptr_(__p) {}
|
: __m_iter_(__m), __ptr_(__p) {}
|
||||||
|
|
||||||
|
|
||||||
template <class _Tp, class _A> friend class __deque_base;
|
template <class _Tp, class _A> friend class __deque_base;
|
||||||
template <class _Tp, class _A> friend class deque;
|
template <class _Tp, class _A> friend class deque;
|
||||||
template <class _V, class _P, class _R, class _MP, class _D, _D>
|
template <class _V, class _P, class _R, class _MP, class _D, _D>
|
||||||
@@ -936,7 +935,7 @@ protected:
|
|||||||
__deque_base(__deque_base&& __c);
|
__deque_base(__deque_base&& __c);
|
||||||
__deque_base(__deque_base&& __c, const allocator_type& __a);
|
__deque_base(__deque_base&& __c, const allocator_type& __a);
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void swap(__deque_base& __c);
|
void swap(__deque_base& __c);
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
@@ -1091,7 +1090,7 @@ __deque_base<_Tp, _Allocator>::__deque_base(__deque_base&& __c, const allocator_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
void
|
void
|
||||||
@@ -1133,7 +1132,7 @@ class deque
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// types:
|
// types:
|
||||||
|
|
||||||
typedef _Tp value_type;
|
typedef _Tp value_type;
|
||||||
typedef _Allocator allocator_type;
|
typedef _Allocator allocator_type;
|
||||||
|
|
||||||
@@ -1176,7 +1175,7 @@ public:
|
|||||||
deque(deque&& __c);
|
deque(deque&& __c);
|
||||||
deque(deque&& __c, const allocator_type& __a);
|
deque(deque&& __c, const allocator_type& __a);
|
||||||
deque& operator=(deque&& __c);
|
deque& operator=(deque&& __c);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _InputIter>
|
template <class _InputIter>
|
||||||
void assign(_InputIter __f, _InputIter __l,
|
void assign(_InputIter __f, _InputIter __l,
|
||||||
@@ -1235,7 +1234,7 @@ public:
|
|||||||
void push_front(value_type&& __v);
|
void push_front(value_type&& __v);
|
||||||
void push_back(value_type&& __v);
|
void push_back(value_type&& __v);
|
||||||
iterator insert(const_iterator __p, value_type&& __v);
|
iterator insert(const_iterator __p, value_type&& __v);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, const value_type& __v);
|
iterator insert(const_iterator __p, const value_type& __v);
|
||||||
iterator insert(const_iterator __p, size_type __n, const value_type& __v);
|
iterator insert(const_iterator __p, size_type __n, const value_type& __v);
|
||||||
template <class _InputIter>
|
template <class _InputIter>
|
||||||
@@ -1450,7 +1449,7 @@ deque<_Tp, _Allocator>::__move_assign(deque& __c, true_type)
|
|||||||
__base::__move_assign(__c);
|
__base::__move_assign(__c);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
template <class _InputIter>
|
template <class _InputIter>
|
||||||
@@ -1673,7 +1672,7 @@ deque<_Tp, _Allocator>::emplace_back(_Args&&... __args)
|
|||||||
++__base::size();
|
++__base::size();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
void
|
void
|
||||||
@@ -1717,7 +1716,7 @@ deque<_Tp, _Allocator>::emplace_front(_Args&&... __args)
|
|||||||
++__base::size();
|
++__base::size();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
typename deque<_Tp, _Allocator>::iterator
|
typename deque<_Tp, _Allocator>::iterator
|
||||||
@@ -1893,7 +1892,7 @@ deque<_Tp, _Allocator>::emplace(const_iterator __p, _Args&&... __args)
|
|||||||
return __base::begin() + __pos;
|
return __base::begin() + __pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
typename deque<_Tp, _Allocator>::iterator
|
typename deque<_Tp, _Allocator>::iterator
|
||||||
@@ -2134,7 +2133,7 @@ deque<_Tp, _Allocator>::__add_front_capacity()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
@@ -2143,7 +2142,7 @@ deque<_Tp, _Allocator>::__add_front_capacity()
|
|||||||
__alloc_traits::deallocate(__a, __buf.front(), __base::__block_size);
|
__alloc_traits::deallocate(__a, __buf.front(), __base::__block_size);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (typename __base::__map_pointer __i = __base::__map_.begin();
|
for (typename __base::__map_pointer __i = __base::__map_.begin();
|
||||||
__i != __base::__map_.end(); ++__i)
|
__i != __base::__map_.end(); ++__i)
|
||||||
__buf.push_back(*__i);
|
__buf.push_back(*__i);
|
||||||
@@ -2213,7 +2212,7 @@ deque<_Tp, _Allocator>::__add_front_capacity(size_type __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __nb > 0; --__nb)
|
for (; __nb > 0; --__nb)
|
||||||
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2225,7 +2224,7 @@ deque<_Tp, _Allocator>::__add_front_capacity(size_type __n)
|
|||||||
__alloc_traits::deallocate(__a, *__i, __base::__block_size);
|
__alloc_traits::deallocate(__a, *__i, __base::__block_size);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __back_capacity > 0; --__back_capacity)
|
for (; __back_capacity > 0; --__back_capacity)
|
||||||
{
|
{
|
||||||
__buf.push_back(__base::__map_.back());
|
__buf.push_back(__base::__map_.back());
|
||||||
@@ -2282,7 +2281,7 @@ deque<_Tp, _Allocator>::__add_back_capacity()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
@@ -2291,7 +2290,7 @@ deque<_Tp, _Allocator>::__add_back_capacity()
|
|||||||
__alloc_traits::deallocate(__a, __buf.back(), __base::__block_size);
|
__alloc_traits::deallocate(__a, __buf.back(), __base::__block_size);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (typename __base::__map_pointer __i = __base::__map_.end();
|
for (typename __base::__map_pointer __i = __base::__map_.end();
|
||||||
__i != __base::__map_.begin();)
|
__i != __base::__map_.begin();)
|
||||||
__buf.push_front(*--__i);
|
__buf.push_front(*--__i);
|
||||||
@@ -2360,7 +2359,7 @@ deque<_Tp, _Allocator>::__add_back_capacity(size_type __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __nb > 0; --__nb)
|
for (; __nb > 0; --__nb)
|
||||||
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
__buf.push_back(__alloc_traits::allocate(__a, __base::__block_size));
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2372,7 +2371,7 @@ deque<_Tp, _Allocator>::__add_back_capacity(size_type __n)
|
|||||||
__alloc_traits::deallocate(__a, *__i, __base::__block_size);
|
__alloc_traits::deallocate(__a, *__i, __base::__block_size);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __front_capacity > 0; --__front_capacity)
|
for (; __front_capacity > 0; --__front_capacity)
|
||||||
{
|
{
|
||||||
__buf.push_back(__base::__map_.front());
|
__buf.push_back(__base::__map_.front());
|
||||||
|
@@ -150,7 +150,7 @@ make_exception_ptr(_E __e)
|
|||||||
{
|
{
|
||||||
return current_exception();
|
return current_exception();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
// nested_exception
|
// nested_exception
|
||||||
@@ -178,17 +178,17 @@ struct __nested
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
void
|
void
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
throw_with_nested /*[[noreturn]]*/ (_Tp&& __t, typename enable_if<
|
throw_with_nested /*[[noreturn]]*/ (_Tp&& __t, typename enable_if<
|
||||||
is_class<typename remove_reference<_Tp>::type>::value &&
|
is_class<typename remove_reference<_Tp>::type>::value &&
|
||||||
!is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
|
!is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
|
||||||
>::type* = 0)
|
>::type* = 0)
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
throw_with_nested (_Tp& __t, typename enable_if<
|
throw_with_nested (_Tp& __t, typename enable_if<
|
||||||
is_class<_Tp>::value && !is_base_of<nested_exception, _Tp>::value
|
is_class<_Tp>::value && !is_base_of<nested_exception, _Tp>::value
|
||||||
>::type* = 0)
|
>::type* = 0)
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
{
|
{
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
throw __nested<typename remove_reference<_Tp>::type>(_STD::forward<_Tp>(__t));
|
throw __nested<typename remove_reference<_Tp>::type>(_STD::forward<_Tp>(__t));
|
||||||
@@ -196,17 +196,17 @@ throw_with_nested (_Tp& __t, typename enable_if<
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
void
|
void
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
throw_with_nested /*[[noreturn]]*/ (_Tp&& __t, typename enable_if<
|
throw_with_nested /*[[noreturn]]*/ (_Tp&& __t, typename enable_if<
|
||||||
!is_class<typename remove_reference<_Tp>::type>::value ||
|
!is_class<typename remove_reference<_Tp>::type>::value ||
|
||||||
is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
|
is_base_of<nested_exception, typename remove_reference<_Tp>::type>::value
|
||||||
>::type* = 0)
|
>::type* = 0)
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
throw_with_nested (_Tp& __t, typename enable_if<
|
throw_with_nested (_Tp& __t, typename enable_if<
|
||||||
!is_class<_Tp>::value || is_base_of<nested_exception, _Tp>::value
|
!is_class<_Tp>::value || is_base_of<nested_exception, _Tp>::value
|
||||||
>::type* = 0)
|
>::type* = 0)
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
{
|
{
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
throw _STD::forward<_Tp>(__t);
|
throw _STD::forward<_Tp>(__t);
|
||||||
|
@@ -254,7 +254,7 @@ public:
|
|||||||
{return static_cast<const _Pred&>(*this)(__x, __y.first);}
|
{return static_cast<const _Pred&>(*this)(__x, __y.first);}
|
||||||
bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
|
bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
|
||||||
{return static_cast<const _Pred&>(*this)(__x.first, __y);}
|
{return static_cast<const _Pred&>(*this)(__x.first, __y);}
|
||||||
bool operator()(const typename _Tp::first_type& __x,
|
bool operator()(const typename _Tp::first_type& __x,
|
||||||
const typename _Tp::first_type& __y) const
|
const typename _Tp::first_type& __y) const
|
||||||
{return static_cast<const _Pred&>(*this)(__x, __y);}
|
{return static_cast<const _Pred&>(*this)(__x, __y);}
|
||||||
};
|
};
|
||||||
@@ -312,7 +312,7 @@ public:
|
|||||||
{
|
{
|
||||||
__x.__value_constructed = false;
|
__x.__value_constructed = false;
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
|
__hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
|
||||||
: __na_(__x.__na_),
|
: __na_(__x.__na_),
|
||||||
__first_constructed(__x.__value_constructed),
|
__first_constructed(__x.__value_constructed),
|
||||||
@@ -320,7 +320,7 @@ public:
|
|||||||
{
|
{
|
||||||
const_cast<bool&>(__x.__value_constructed) = false;
|
const_cast<bool&>(__x.__value_constructed) = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void operator()(pointer __p)
|
void operator()(pointer __p)
|
||||||
{
|
{
|
||||||
|
@@ -214,7 +214,7 @@ public:
|
|||||||
typedef typename pointer_traits<__node_pointer>::element_type::value_type
|
typedef typename pointer_traits<__node_pointer>::element_type::value_type
|
||||||
value_type;
|
value_type;
|
||||||
typedef value_type& reference;
|
typedef value_type& reference;
|
||||||
typedef typename pointer_traits<__node_pointer>::difference_type
|
typedef typename pointer_traits<__node_pointer>::difference_type
|
||||||
difference_type;
|
difference_type;
|
||||||
typedef typename pointer_traits<__node_pointer>::template
|
typedef typename pointer_traits<__node_pointer>::template
|
||||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
@@ -277,7 +277,7 @@ public:
|
|||||||
typedef forward_iterator_tag iterator_category;
|
typedef forward_iterator_tag iterator_category;
|
||||||
typedef typename __node::value_type value_type;
|
typedef typename __node::value_type value_type;
|
||||||
typedef const value_type& reference;
|
typedef const value_type& reference;
|
||||||
typedef typename pointer_traits<__node_const_pointer>::difference_type
|
typedef typename pointer_traits<__node_const_pointer>::difference_type
|
||||||
difference_type;
|
difference_type;
|
||||||
typedef typename pointer_traits<__node_const_pointer>::template
|
typedef typename pointer_traits<__node_const_pointer>::template
|
||||||
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
@@ -358,7 +358,7 @@ protected:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__forward_list_base(__forward_list_base&& __x);
|
__forward_list_base(__forward_list_base&& __x);
|
||||||
__forward_list_base(__forward_list_base&& __x, const allocator_type& __a);
|
__forward_list_base(__forward_list_base&& __x, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
private:
|
private:
|
||||||
__forward_list_base(const __forward_list_base&);
|
__forward_list_base(const __forward_list_base&);
|
||||||
@@ -428,7 +428,7 @@ __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
__forward_list_base<_Tp, _Alloc>::~__forward_list_base()
|
__forward_list_base<_Tp, _Alloc>::~__forward_list_base()
|
||||||
@@ -501,7 +501,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
forward_list(forward_list&& __x) : base(_STD::move(__x)) {}
|
forward_list(forward_list&& __x) : base(_STD::move(__x)) {}
|
||||||
forward_list(forward_list&& __x, const allocator_type& __a);
|
forward_list(forward_list&& __x, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
forward_list(initializer_list<value_type> __il);
|
forward_list(initializer_list<value_type> __il);
|
||||||
forward_list(initializer_list<value_type> __il, const allocator_type& __a);
|
forward_list(initializer_list<value_type> __il, const allocator_type& __a);
|
||||||
|
|
||||||
@@ -546,7 +546,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class... _Args> void emplace_front(_Args&&... __args);
|
template <class... _Args> void emplace_front(_Args&&... __args);
|
||||||
void push_front(value_type&& __v);
|
void push_front(value_type&& __v);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void push_front(const value_type& __v);
|
void push_front(const value_type& __v);
|
||||||
|
|
||||||
void pop_front();
|
void pop_front();
|
||||||
@@ -555,7 +555,7 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace_after(const_iterator __p, _Args&&... __args);
|
iterator emplace_after(const_iterator __p, _Args&&... __args);
|
||||||
iterator insert_after(const_iterator __p, value_type&& __v);
|
iterator insert_after(const_iterator __p, value_type&& __v);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert_after(const_iterator __p, const value_type& __v);
|
iterator insert_after(const_iterator __p, const value_type& __v);
|
||||||
iterator insert_after(const_iterator __p, size_type __n, const value_type& __v);
|
iterator insert_after(const_iterator __p, size_type __n, const value_type& __v);
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
@@ -582,12 +582,12 @@ public:
|
|||||||
void splice_after(const_iterator __p, forward_list&& __x, const_iterator __i);
|
void splice_after(const_iterator __p, forward_list&& __x, const_iterator __i);
|
||||||
void splice_after(const_iterator __p, forward_list&& __x,
|
void splice_after(const_iterator __p, forward_list&& __x,
|
||||||
const_iterator __f, const_iterator __l);
|
const_iterator __f, const_iterator __l);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
void splice_after(const_iterator __p, forward_list& __x);
|
void splice_after(const_iterator __p, forward_list& __x);
|
||||||
void splice_after(const_iterator __p, forward_list& __x, const_iterator __i);
|
void splice_after(const_iterator __p, forward_list& __x, const_iterator __i);
|
||||||
void splice_after(const_iterator __p, forward_list& __x,
|
void splice_after(const_iterator __p, forward_list& __x,
|
||||||
const_iterator __f, const_iterator __l);
|
const_iterator __f, const_iterator __l);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void remove(const value_type& __v);
|
void remove(const value_type& __v);
|
||||||
template <class _Predicate> void remove_if(_Predicate __pred);
|
template <class _Predicate> void remove_if(_Predicate __pred);
|
||||||
void unique() {unique(__equal_to<value_type>());}
|
void unique() {unique(__equal_to<value_type>());}
|
||||||
@@ -595,10 +595,10 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
void merge(forward_list&& __x) {merge(_STD::move(__x), __less<value_type>());}
|
void merge(forward_list&& __x) {merge(_STD::move(__x), __less<value_type>());}
|
||||||
template <class _Compare> void merge(forward_list&& __x, _Compare __comp);
|
template <class _Compare> void merge(forward_list&& __x, _Compare __comp);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
void merge(forward_list& __x) {merge(__x, __less<value_type>());}
|
void merge(forward_list& __x) {merge(__x, __less<value_type>());}
|
||||||
template <class _Compare> void merge(forward_list& __x, _Compare __comp);
|
template <class _Compare> void merge(forward_list& __x, _Compare __comp);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void sort() {sort(__less<value_type>());}
|
void sort() {sort(__less<value_type>());}
|
||||||
template <class _Compare> void sort(_Compare __comp);
|
template <class _Compare> void sort(_Compare __comp);
|
||||||
void reverse();
|
void reverse();
|
||||||
@@ -612,7 +612,7 @@ private:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
void __move_assign(forward_list& __x, true_type);
|
void __move_assign(forward_list& __x, true_type);
|
||||||
void __move_assign(forward_list& __x, false_type);
|
void __move_assign(forward_list& __x, false_type);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Compare>
|
template <class _Compare>
|
||||||
static
|
static
|
||||||
@@ -719,7 +719,7 @@ forward_list<_Tp, _Alloc>::forward_list(forward_list&& __x,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
forward_list<_Tp, _Alloc>::forward_list(initializer_list<value_type> __il)
|
forward_list<_Tp, _Alloc>::forward_list(initializer_list<value_type> __il)
|
||||||
@@ -782,7 +782,7 @@ forward_list<_Tp, _Alloc>::operator=(forward_list&& __x)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
inline
|
inline
|
||||||
@@ -864,7 +864,7 @@ forward_list<_Tp, _Alloc>::push_front(value_type&& __v)
|
|||||||
base::__before_begin()->__next_ = __h.release();
|
base::__before_begin()->__next_ = __h.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
void
|
void
|
||||||
@@ -921,7 +921,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, value_type&& __v)
|
|||||||
return iterator(__r->__next_);
|
return iterator(__r->__next_);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
typename forward_list<_Tp, _Alloc>::iterator
|
typename forward_list<_Tp, _Alloc>::iterator
|
||||||
@@ -954,7 +954,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, size_type __n,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (--__n; __n != 0; --__n, __last = __last->__next_)
|
for (--__n; __n != 0; --__n, __last = __last->__next_)
|
||||||
{
|
{
|
||||||
__h.reset(__node_traits::allocate(__a, 1));
|
__h.reset(__node_traits::allocate(__a, 1));
|
||||||
@@ -974,7 +974,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, size_type __n,
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__last->__next_ = __r->__next_;
|
__last->__next_ = __r->__next_;
|
||||||
__r->__next_ = __first;
|
__r->__next_ = __first;
|
||||||
__r = __last;
|
__r = __last;
|
||||||
@@ -1004,7 +1004,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (++__f; __f != __l; ++__f, __last = __last->__next_)
|
for (++__f; __f != __l; ++__f, __last = __last->__next_)
|
||||||
{
|
{
|
||||||
__h.reset(__node_traits::allocate(__a, 1));
|
__h.reset(__node_traits::allocate(__a, 1));
|
||||||
@@ -1024,7 +1024,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p,
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__last->__next_ = __r->__next_;
|
__last->__next_ = __r->__next_;
|
||||||
__r->__next_ = __first;
|
__r->__next_ = __first;
|
||||||
__r = __last;
|
__r = __last;
|
||||||
|
@@ -122,7 +122,7 @@ public:
|
|||||||
void close();
|
void close();
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
void
|
void
|
||||||
swap(basic_ofstream<charT, traits>& x, basic_ofstream<charT, traits>& y);
|
swap(basic_ofstream<charT, traits>& x, basic_ofstream<charT, traits>& y);
|
||||||
|
|
||||||
@@ -333,7 +333,7 @@ basic_filebuf<_CharT, _Traits>::operator=(basic_filebuf&& __rhs)
|
|||||||
swap(__rhs);
|
swap(__rhs);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
basic_filebuf<_CharT, _Traits>::~basic_filebuf()
|
basic_filebuf<_CharT, _Traits>::~basic_filebuf()
|
||||||
@@ -341,14 +341,14 @@ basic_filebuf<_CharT, _Traits>::~basic_filebuf()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
close();
|
close();
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__owns_eb_)
|
if (__owns_eb_)
|
||||||
delete [] __extbuf_;
|
delete [] __extbuf_;
|
||||||
if (__owns_ib_)
|
if (__owns_ib_)
|
||||||
@@ -1035,7 +1035,7 @@ basic_ifstream<_CharT, _Traits>::operator=(basic_ifstream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -1180,7 +1180,7 @@ basic_ofstream<_CharT, _Traits>::operator=(basic_ofstream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -1325,7 +1325,7 @@ basic_fstream<_CharT, _Traits>::operator=(basic_fstream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
|
@@ -186,18 +186,18 @@ template <class Predicate> binary_negate<Predicate> not2(const Predicate& pred);
|
|||||||
template<class T> struct is_bind_expression;
|
template<class T> struct is_bind_expression;
|
||||||
template<class T> struct is_placeholder;
|
template<class T> struct is_placeholder;
|
||||||
|
|
||||||
template<class Fn, class... BoundArgs>
|
template<class Fn, class... BoundArgs>
|
||||||
unspecified bind(Fn&&, BoundArgs&&...);
|
unspecified bind(Fn&&, BoundArgs&&...);
|
||||||
template<class R, class Fn, class... BoundArgs>
|
template<class R, class Fn, class... BoundArgs>
|
||||||
unspecified bind(Fn&&, BoundArgs&&...);
|
unspecified bind(Fn&&, BoundArgs&&...);
|
||||||
|
|
||||||
namespace placeholders {
|
namespace placeholders {
|
||||||
// M is the implementation-defined number of placeholders
|
// M is the implementation-defined number of placeholders
|
||||||
extern unspecified _1;
|
extern unspecified _1;
|
||||||
extern unspecified _2;
|
extern unspecified _2;
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
.
|
.
|
||||||
extern unspecified _M;
|
extern unspecified _M;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -415,21 +415,21 @@ public:
|
|||||||
template <typename T> const T* target() const;
|
template <typename T> const T* target() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Null pointer comparisons:
|
// Null pointer comparisons:
|
||||||
template <class R, class ... ArgTypes>
|
template <class R, class ... ArgTypes>
|
||||||
bool operator==(const function<R(ArgTypes...)>&, nullptr_t);
|
bool operator==(const function<R(ArgTypes...)>&, nullptr_t);
|
||||||
|
|
||||||
template <class R, class ... ArgTypes>
|
template <class R, class ... ArgTypes>
|
||||||
bool operator==(nullptr_t, const function<R(ArgTypes...)>&);
|
bool operator==(nullptr_t, const function<R(ArgTypes...)>&);
|
||||||
|
|
||||||
template <class R, class ... ArgTypes>
|
template <class R, class ... ArgTypes>
|
||||||
bool operator!=(const function<R(ArgTypes...)>&, nullptr_t);
|
bool operator!=(const function<R(ArgTypes...)>&, nullptr_t);
|
||||||
|
|
||||||
template <class R, class ... ArgTypes>
|
template <class R, class ... ArgTypes>
|
||||||
bool operator!=(nullptr_t, const function<R(ArgTypes...)>&);
|
bool operator!=(nullptr_t, const function<R(ArgTypes...)>&);
|
||||||
|
|
||||||
// specialized algorithms:
|
// specialized algorithms:
|
||||||
template <class R, class ... ArgTypes>
|
template <class R, class ... ArgTypes>
|
||||||
void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&);
|
void swap(function<R(ArgTypes...)>&, function<R(ArgTypes...)>&);
|
||||||
|
|
||||||
template <class T> struct hash;
|
template <class T> struct hash;
|
||||||
@@ -861,7 +861,6 @@ const_mem_fun1_ref_t<_Sp,_Tp,_Ap>
|
|||||||
mem_fun_ref(_Sp (_Tp::*__f)(_Ap) const)
|
mem_fun_ref(_Sp (_Tp::*__f)(_Ap) const)
|
||||||
{return const_mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
|
{return const_mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);}
|
||||||
|
|
||||||
|
|
||||||
#ifdef _LIBCPP_HAS_NO_VARIADICS
|
#ifdef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#include <__functional_03>
|
#include <__functional_03>
|
||||||
@@ -982,7 +981,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const = 0;
|
virtual const void* target(const type_info&) const = 0;
|
||||||
virtual const std::type_info& target_type() const = 0;
|
virtual const std::type_info& target_type() const = 0;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _FD, class _Alloc, class _FB> class __func;
|
template<class _FD, class _Alloc, class _FB> class __func;
|
||||||
@@ -1003,7 +1002,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_RTTI
|
#ifndef _LIBCPP_NO_RTTI
|
||||||
virtual const void* target(const type_info&) const;
|
virtual const void* target(const type_info&) const;
|
||||||
virtual const std::type_info& target_type() const;
|
virtual const std::type_info& target_type() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class _Alloc, class _R, class ..._ArgTypes>
|
template<class _F, class _Alloc, class _R, class ..._ArgTypes>
|
||||||
@@ -1067,7 +1066,7 @@ __func<_F, _Alloc, _R(_ArgTypes...)>::target_type() const
|
|||||||
return typeid(_F);
|
return typeid(_F);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
} // __function
|
} // __function
|
||||||
|
|
||||||
@@ -1154,7 +1153,7 @@ public:
|
|||||||
const std::type_info& target_type() const;
|
const std::type_info& target_type() const;
|
||||||
template <typename _T> _T* target();
|
template <typename _T> _T* target();
|
||||||
template <typename _T> const _T* target() const;
|
template <typename _T> const _T* target() const;
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class ..._ArgTypes>
|
template<class _R, class ..._ArgTypes>
|
||||||
@@ -1390,7 +1389,7 @@ function<_R(_ArgTypes...)>::operator()(_ArgTypes... __arg) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__f_ == 0)
|
if (__f_ == 0)
|
||||||
throw bad_function_call();
|
throw bad_function_call();
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return (*__f_)(_STD::forward<_ArgTypes>(__arg)...);
|
return (*__f_)(_STD::forward<_ArgTypes>(__arg)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1425,29 +1424,29 @@ function<_R(_ArgTypes...)>::target() const
|
|||||||
return (const _T*)__f_->target(typeid(_T));
|
return (const _T*)__f_->target(typeid(_T));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template <class _R, class... _ArgTypes>
|
template <class _R, class... _ArgTypes>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator==(const function<_R(_ArgTypes...)>& __f, nullptr_t) {return !__f;}
|
operator==(const function<_R(_ArgTypes...)>& __f, nullptr_t) {return !__f;}
|
||||||
|
|
||||||
template <class _R, class... _ArgTypes>
|
template <class _R, class... _ArgTypes>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator==(nullptr_t, const function<_R(_ArgTypes...)>& __f) {return !__f;}
|
operator==(nullptr_t, const function<_R(_ArgTypes...)>& __f) {return !__f;}
|
||||||
|
|
||||||
template <class _R, class... _ArgTypes>
|
template <class _R, class... _ArgTypes>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator!=(const function<_R(_ArgTypes...)>& __f, nullptr_t) {return (bool)__f;}
|
operator!=(const function<_R(_ArgTypes...)>& __f, nullptr_t) {return (bool)__f;}
|
||||||
|
|
||||||
template <class _R, class... _ArgTypes>
|
template <class _R, class... _ArgTypes>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
bool
|
bool
|
||||||
operator!=(nullptr_t, const function<_R(_ArgTypes...)>& __f) {return (bool)__f;}
|
operator!=(nullptr_t, const function<_R(_ArgTypes...)>& __f) {return (bool)__f;}
|
||||||
|
|
||||||
template <class _R, class... _ArgTypes>
|
template <class _R, class... _ArgTypes>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
void
|
void
|
||||||
swap(function<_R(_ArgTypes...)>& __x, function<_R(_ArgTypes...)>& __y)
|
swap(function<_R(_ArgTypes...)>& __x, function<_R(_ArgTypes...)>& __y)
|
||||||
@@ -1500,7 +1499,6 @@ struct __mu_return1<true, _Ti, _Uj...>
|
|||||||
typedef typename result_of<_Ti(_Uj...)>::type type;
|
typedef typename result_of<_Ti(_Uj...)>::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class _Ti, class ..._Uj, size_t ..._Indx>
|
template <class _Ti, class ..._Uj, size_t ..._Indx>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
typename __mu_return1<true, _Ti, _Uj...>::type
|
typename __mu_return1<true, _Ti, _Uj...>::type
|
||||||
@@ -1638,7 +1636,7 @@ __apply_functor(_F& __f, _BoundArgs& __bound_args, __tuple_indices<_Indx...>,
|
|||||||
return __invoke(__f, __mu(get<_Indx>(__bound_args), __args)...);
|
return __invoke(__f, __mu(get<_Indx>(__bound_args), __args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
class __bind
|
class __bind
|
||||||
: public __weak_result_type<_F>
|
: public __weak_result_type<_F>
|
||||||
{
|
{
|
||||||
@@ -1661,7 +1659,7 @@ public:
|
|||||||
operator()(_Args&& ...__args)
|
operator()(_Args&& ...__args)
|
||||||
{
|
{
|
||||||
// compiler bug workaround
|
// compiler bug workaround
|
||||||
return __apply_functor(__f_, __bound_args_, __indices(),
|
return __apply_functor(__f_, __bound_args_, __indices(),
|
||||||
tuple<_Args&&...>(__args...));
|
tuple<_Args&&...>(__args...));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1669,15 +1667,15 @@ public:
|
|||||||
typename __bind_return<_F, tuple<_BoundArgs...>, tuple<_Args&&...> >::type
|
typename __bind_return<_F, tuple<_BoundArgs...>, tuple<_Args&&...> >::type
|
||||||
operator()(_Args&& ...__args) const
|
operator()(_Args&& ...__args) const
|
||||||
{
|
{
|
||||||
return __apply_functor(__f_, __bound_args_, __indices(),
|
return __apply_functor(__f_, __bound_args_, __indices(),
|
||||||
tuple<_Args&&...>(__args...));
|
tuple<_Args&&...>(__args...));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
struct __is_bind_expression<__bind<_F, _BoundArgs...> > : public true_type {};
|
struct __is_bind_expression<__bind<_F, _BoundArgs...> > : public true_type {};
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
class __bind_r
|
class __bind_r
|
||||||
: public __bind<_F, _BoundArgs...>
|
: public __bind<_F, _BoundArgs...>
|
||||||
{
|
{
|
||||||
@@ -1705,10 +1703,10 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
struct __is_bind_expression<__bind_r<_R, _F, _BoundArgs...> > : public true_type {};
|
struct __is_bind_expression<__bind_r<_R, _F, _BoundArgs...> > : public true_type {};
|
||||||
|
|
||||||
template<class _F, class ..._BoundArgs>
|
template<class _F, class ..._BoundArgs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
__bind<typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
__bind<typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
||||||
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
||||||
@@ -1717,7 +1715,7 @@ bind(_F&& __f, _BoundArgs&&... __bound_args)
|
|||||||
return type(_STD::forward<_F>(__f), _STD::forward<_BoundArgs>(__bound_args)...);
|
return type(_STD::forward<_F>(__f), _STD::forward<_BoundArgs>(__bound_args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _R, class _F, class ..._BoundArgs>
|
template<class _R, class _F, class ..._BoundArgs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
__bind_r<_R, typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
__bind_r<_R, typename decay<_F>::type, typename decay<_BoundArgs>::type...>
|
||||||
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
bind(_F&& __f, _BoundArgs&&... __bound_args)
|
||||||
@@ -1772,7 +1770,7 @@ struct hash<char32_t>
|
|||||||
size_t operator()(char32_t __v) const {return static_cast<size_t>(__v);}
|
size_t operator()(char32_t __v) const {return static_cast<size_t>(__v);}
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct hash<wchar_t>
|
struct hash<wchar_t>
|
||||||
|
@@ -270,7 +270,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -287,7 +287,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,7 +329,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -345,7 +345,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -387,7 +387,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -405,7 +405,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,7 +447,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -464,7 +464,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
18
include/ios
18
include/ios
@@ -310,13 +310,13 @@ public:
|
|||||||
iostate rdstate() const;
|
iostate rdstate() const;
|
||||||
void clear(iostate __state = goodbit);
|
void clear(iostate __state = goodbit);
|
||||||
void setstate(iostate __state);
|
void setstate(iostate __state);
|
||||||
|
|
||||||
bool good() const;
|
|
||||||
bool eof() const;
|
|
||||||
bool fail() const;
|
|
||||||
bool bad() const;
|
|
||||||
|
|
||||||
iostate exceptions() const;
|
bool good() const;
|
||||||
|
bool eof() const;
|
||||||
|
bool fail() const;
|
||||||
|
bool bad() const;
|
||||||
|
|
||||||
|
iostate exceptions() const;
|
||||||
void exceptions(iostate __except);
|
void exceptions(iostate __except);
|
||||||
|
|
||||||
void __set_badbit_and_consider_rethrow();
|
void __set_badbit_and_consider_rethrow();
|
||||||
@@ -402,10 +402,10 @@ make_error_condition(io_errc __e)
|
|||||||
|
|
||||||
class ios_base::failure
|
class ios_base::failure
|
||||||
: public system_error
|
: public system_error
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit failure(const string& __msg, const error_code& __ec = io_errc::stream);
|
explicit failure(const string& __msg, const error_code& __ec = io_errc::stream);
|
||||||
explicit failure(const char* __msg, const error_code& __ec = io_errc::stream);
|
explicit failure(const char* __msg, const error_code& __ec = io_errc::stream);
|
||||||
virtual ~failure() throw();
|
virtual ~failure() throw();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -158,7 +158,7 @@ typedef fpos<mbstate_t> wstreampos;
|
|||||||
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
|
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
typedef fpos<mbstate_t> u16streampos;
|
typedef fpos<mbstate_t> u16streampos;
|
||||||
typedef fpos<mbstate_t> u32streampos;
|
typedef fpos<mbstate_t> u32streampos;
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
typedef long long streamoff; // for char_traits in <string>
|
typedef long long streamoff; // for char_traits in <string>
|
||||||
|
|
||||||
|
160
include/istream
160
include/istream
@@ -307,7 +307,7 @@ basic_istream<_CharT, _Traits>::operator=(basic_istream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
basic_istream<_CharT, _Traits>::~basic_istream()
|
basic_istream<_CharT, _Traits>::~basic_istream()
|
||||||
@@ -330,7 +330,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned short& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -346,7 +346,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned short& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,7 +357,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned int& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -373,7 +373,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned int& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,7 +384,7 @@ basic_istream<_CharT, _Traits>::operator>>(long& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -400,7 +400,7 @@ basic_istream<_CharT, _Traits>::operator>>(long& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -411,7 +411,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned long& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -427,7 +427,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned long& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,7 +438,7 @@ basic_istream<_CharT, _Traits>::operator>>(long long& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -454,7 +454,7 @@ basic_istream<_CharT, _Traits>::operator>>(long long& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -465,7 +465,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned long long& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -481,7 +481,7 @@ basic_istream<_CharT, _Traits>::operator>>(unsigned long long& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,7 +492,7 @@ basic_istream<_CharT, _Traits>::operator>>(float& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -508,7 +508,7 @@ basic_istream<_CharT, _Traits>::operator>>(float& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -519,7 +519,7 @@ basic_istream<_CharT, _Traits>::operator>>(double& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -535,7 +535,7 @@ basic_istream<_CharT, _Traits>::operator>>(double& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,7 +546,7 @@ basic_istream<_CharT, _Traits>::operator>>(long double& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -562,7 +562,7 @@ basic_istream<_CharT, _Traits>::operator>>(long double& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -573,7 +573,7 @@ basic_istream<_CharT, _Traits>::operator>>(bool& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -589,7 +589,7 @@ basic_istream<_CharT, _Traits>::operator>>(bool& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -600,7 +600,7 @@ basic_istream<_CharT, _Traits>::operator>>(void*& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -616,7 +616,7 @@ basic_istream<_CharT, _Traits>::operator>>(void*& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,7 +627,7 @@ basic_istream<_CharT, _Traits>::operator>>(short& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -656,7 +656,7 @@ basic_istream<_CharT, _Traits>::operator>>(short& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -667,7 +667,7 @@ basic_istream<_CharT, _Traits>::operator>>(int& __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -696,7 +696,7 @@ basic_istream<_CharT, _Traits>::operator>>(int& __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -734,7 +734,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, _CharT* __s)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -768,7 +768,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, _CharT* __s)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -795,7 +795,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, _CharT& __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -817,7 +817,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, _CharT& __c)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -845,7 +845,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this, true);
|
sentry __s(*this, true);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -855,7 +855,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef istreambuf_iterator<char_type, traits_type> _I;
|
typedef istreambuf_iterator<char_type, traits_type> _I;
|
||||||
typedef ostreambuf_iterator<char_type, traits_type> _O;
|
typedef ostreambuf_iterator<char_type, traits_type> _O;
|
||||||
_I __i(*this);
|
_I __i(*this);
|
||||||
@@ -880,7 +880,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
|
|||||||
if (__c == 0)
|
if (__c == 0)
|
||||||
this->__set_failbit_and_consider_rethrow();
|
this->__set_failbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this->setstate(ios_base::failbit);
|
this->setstate(ios_base::failbit);
|
||||||
@@ -892,7 +892,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -905,7 +905,7 @@ basic_istream<_CharT, _Traits>::get()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this, true);
|
sentry __s(*this, true);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -932,7 +932,7 @@ basic_istream<_CharT, _Traits>::get()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -955,7 +955,7 @@ basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n, char_type __
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -990,7 +990,7 @@ basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n, char_type __
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1011,7 +1011,7 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1020,7 +1020,7 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef istreambuf_iterator<char_type, traits_type> _I;
|
typedef istreambuf_iterator<char_type, traits_type> _I;
|
||||||
typedef ostreambuf_iterator<char_type, traits_type> _O;
|
typedef ostreambuf_iterator<char_type, traits_type> _O;
|
||||||
_I __i(*this);
|
_I __i(*this);
|
||||||
@@ -1042,7 +1042,7 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
|
|||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__c == 0)
|
if (__c == 0)
|
||||||
__err |= ios_base::failbit;
|
__err |= ios_base::failbit;
|
||||||
this->setstate(__err);
|
this->setstate(__err);
|
||||||
@@ -1054,7 +1054,7 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1074,7 +1074,7 @@ basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_typ
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1112,7 +1112,7 @@ basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_typ
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1132,7 +1132,7 @@ basic_istream<_CharT, _Traits>::ignore(streamsize __n, int_type __dlm)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1172,7 +1172,7 @@ basic_istream<_CharT, _Traits>::ignore(streamsize __n, int_type __dlm)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1185,7 +1185,7 @@ basic_istream<_CharT, _Traits>::peek()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
__r = this->rdbuf()->sgetc();
|
__r = this->rdbuf()->sgetc();
|
||||||
@@ -1195,7 +1195,7 @@ basic_istream<_CharT, _Traits>::peek()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1207,7 +1207,7 @@ basic_istream<_CharT, _Traits>::read(char_type* __s, streamsize __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1234,7 +1234,7 @@ basic_istream<_CharT, _Traits>::read(char_type* __s, streamsize __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1247,7 +1247,7 @@ basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1279,7 +1279,7 @@ basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __c;
|
return __c;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1291,7 +1291,7 @@ basic_istream<_CharT, _Traits>::putback(char_type __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1306,7 +1306,7 @@ basic_istream<_CharT, _Traits>::putback(char_type __c)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1318,7 +1318,7 @@ basic_istream<_CharT, _Traits>::unget()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1333,7 +1333,7 @@ basic_istream<_CharT, _Traits>::unget()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1345,7 +1345,7 @@ basic_istream<_CharT, _Traits>::sync()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1363,7 +1363,7 @@ basic_istream<_CharT, _Traits>::sync()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1375,7 +1375,7 @@ basic_istream<_CharT, _Traits>::tellg()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
__r = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
|
__r = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
|
||||||
@@ -1385,7 +1385,7 @@ basic_istream<_CharT, _Traits>::tellg()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1396,7 +1396,7 @@ basic_istream<_CharT, _Traits>::seekg(pos_type __pos)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
if (this->rdbuf()->pubseekpos(__pos, ios_base::in) == pos_type(-1))
|
if (this->rdbuf()->pubseekpos(__pos, ios_base::in) == pos_type(-1))
|
||||||
@@ -1407,7 +1407,7 @@ basic_istream<_CharT, _Traits>::seekg(pos_type __pos)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1418,7 +1418,7 @@ basic_istream<_CharT, _Traits>::seekg(off_type __off, ios_base::seekdir __dir)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this, true);
|
sentry __sen(*this, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
this->rdbuf()->pubseekoff(__off, __dir, ios_base::in);
|
this->rdbuf()->pubseekoff(__off, __dir, ios_base::in);
|
||||||
@@ -1428,7 +1428,7 @@ basic_istream<_CharT, _Traits>::seekg(off_type __off, ios_base::seekdir __dir)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1439,7 +1439,7 @@ ws(basic_istream<_CharT, _Traits>& __is)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1459,7 +1459,7 @@ ws(basic_istream<_CharT, _Traits>& __is)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1474,7 +1474,7 @@ operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
|
|||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
class basic_iostream
|
class basic_iostream
|
||||||
@@ -1530,7 +1530,7 @@ basic_iostream<_CharT, _Traits>::operator=(basic_iostream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
basic_iostream<_CharT, _Traits>::~basic_iostream()
|
basic_iostream<_CharT, _Traits>::~basic_iostream()
|
||||||
@@ -1553,7 +1553,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1591,19 +1591,19 @@ operator>>(basic_istream<_CharT, _Traits>& __is,
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
getline(basic_istream<_CharT, _Traits>& __is,
|
getline(basic_istream<_CharT, _Traits>& __is,
|
||||||
basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
|
basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
|
||||||
{
|
{
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1642,13 +1642,13 @@ getline(basic_istream<_CharT, _Traits>& __is,
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
inline
|
inline
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
getline(basic_istream<_CharT, _Traits>& __is,
|
getline(basic_istream<_CharT, _Traits>& __is,
|
||||||
basic_string<_CharT, _Traits, _Allocator>& __str)
|
basic_string<_CharT, _Traits, _Allocator>& __str)
|
||||||
{
|
{
|
||||||
@@ -1659,7 +1659,7 @@ getline(basic_istream<_CharT, _Traits>& __is,
|
|||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
inline
|
inline
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
getline(basic_istream<_CharT, _Traits>&& __is,
|
getline(basic_istream<_CharT, _Traits>&& __is,
|
||||||
basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
|
basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
|
||||||
{
|
{
|
||||||
@@ -1668,14 +1668,14 @@ getline(basic_istream<_CharT, _Traits>&& __is,
|
|||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
inline
|
inline
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
getline(basic_istream<_CharT, _Traits>&& __is,
|
getline(basic_istream<_CharT, _Traits>&& __is,
|
||||||
basic_string<_CharT, _Traits, _Allocator>& __str)
|
basic_string<_CharT, _Traits, _Allocator>& __str)
|
||||||
{
|
{
|
||||||
return getline(__is, __str, __is.widen('\n'));
|
return getline(__is, __str, __is.widen('\n'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits, size_t _Size>
|
template <class _CharT, class _Traits, size_t _Size>
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -1684,7 +1684,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
|
||||||
if (__sen)
|
if (__sen)
|
||||||
{
|
{
|
||||||
@@ -1720,7 +1720,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
|
|||||||
{
|
{
|
||||||
__is.__set_badbit_and_consider_rethrow();
|
__is.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __is;
|
return __is;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -88,7 +88,7 @@ public:
|
|||||||
typedef typename iterator_traits<Iterator>::difference_type difference_type;
|
typedef typename iterator_traits<Iterator>::difference_type difference_type;
|
||||||
typedef typename iterator_traits<Iterator>::reference reference;
|
typedef typename iterator_traits<Iterator>::reference reference;
|
||||||
typedef typename iterator_traits<Iterator>::pointer pointer;
|
typedef typename iterator_traits<Iterator>::pointer pointer;
|
||||||
|
|
||||||
reverse_iterator();
|
reverse_iterator();
|
||||||
explicit reverse_iterator(Iterator x);
|
explicit reverse_iterator(Iterator x);
|
||||||
template <class U> reverse_iterator(const reverse_iterator<U>& u);
|
template <class U> reverse_iterator(const reverse_iterator<U>& u);
|
||||||
@@ -520,7 +520,7 @@ public:
|
|||||||
typedef typename iterator_traits<_Iter>::difference_type difference_type;
|
typedef typename iterator_traits<_Iter>::difference_type difference_type;
|
||||||
typedef typename iterator_traits<_Iter>::reference reference;
|
typedef typename iterator_traits<_Iter>::reference reference;
|
||||||
typedef typename iterator_traits<_Iter>::pointer pointer;
|
typedef typename iterator_traits<_Iter>::pointer pointer;
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY reverse_iterator() : current() {}
|
_LIBCPP_INLINE_VISIBILITY reverse_iterator() : current() {}
|
||||||
_LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
|
_LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : __t(__x), current(__x) {}
|
||||||
template <class _Up> _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u)
|
template <class _Up> _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u)
|
||||||
@@ -629,7 +629,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator=(typename _Container::value_type&& __value)
|
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator=(typename _Container::value_type&& __value)
|
||||||
{container->push_back(_STD::move(__value)); return *this;}
|
{container->push_back(_STD::move(__value)); return *this;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator*() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator*() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator++() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY back_insert_iterator& operator++() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY back_insert_iterator operator++(int) {return *this;}
|
_LIBCPP_INLINE_VISIBILITY back_insert_iterator operator++(int) {return *this;}
|
||||||
@@ -662,7 +662,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator=(typename _Container::value_type&& __value)
|
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator=(typename _Container::value_type&& __value)
|
||||||
{container->push_front(_STD::move(__value)); return *this;}
|
{container->push_front(_STD::move(__value)); return *this;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator*() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator*() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator++() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY front_insert_iterator& operator++() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY front_insert_iterator operator++(int) {return *this;}
|
_LIBCPP_INLINE_VISIBILITY front_insert_iterator operator++(int) {return *this;}
|
||||||
@@ -697,7 +697,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator=(typename _Container::value_type&& __value)
|
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator=(typename _Container::value_type&& __value)
|
||||||
{iter = container->insert(iter, _STD::move(__value)); ++iter; return *this;}
|
{iter = container->insert(iter, _STD::move(__value)); ++iter; return *this;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator*() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator*() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator++() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator++() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator++(int) {return *this;}
|
_LIBCPP_INLINE_VISIBILITY insert_iterator& operator++(int) {return *this;}
|
||||||
@@ -895,7 +895,7 @@ public:
|
|||||||
#else
|
#else
|
||||||
typedef typename iterator_traits<iterator_type>::reference reference;
|
typedef typename iterator_traits<iterator_type>::reference reference;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY move_iterator() : __i() {}
|
_LIBCPP_INLINE_VISIBILITY move_iterator() : __i() {}
|
||||||
_LIBCPP_INLINE_VISIBILITY explicit move_iterator(_Iter __x) : __i(__x) {}
|
_LIBCPP_INLINE_VISIBILITY explicit move_iterator(_Iter __x) : __i(__x) {}
|
||||||
template <class _Up> _LIBCPP_INLINE_VISIBILITY move_iterator(const move_iterator<_Up>& __u)
|
template <class _Up> _LIBCPP_INLINE_VISIBILITY move_iterator(const move_iterator<_Up>& __u)
|
||||||
@@ -1091,37 +1091,37 @@ private:
|
|||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1, class _Iter2>
|
template <class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
typename __wrap_iter<_Iter1>::difference_type
|
typename __wrap_iter<_Iter1>::difference_type
|
||||||
operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&);
|
||||||
|
|
||||||
template <class _Iter1>
|
template <class _Iter1>
|
||||||
friend
|
friend
|
||||||
__wrap_iter<_Iter1>
|
__wrap_iter<_Iter1>
|
||||||
@@ -1260,7 +1260,7 @@ private:
|
|||||||
iterator_type __i;
|
iterator_type __i;
|
||||||
__debug_iter* __next;
|
__debug_iter* __next;
|
||||||
__container_type* __cont;
|
__container_type* __cont;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
_LIBCPP_INLINE_VISIBILITY __debug_iter() : __next(0), __cont(0) {}
|
_LIBCPP_INLINE_VISIBILITY __debug_iter() : __next(0), __cont(0) {}
|
||||||
_LIBCPP_INLINE_VISIBILITY __debug_iter(const __debug_iter& __x)
|
_LIBCPP_INLINE_VISIBILITY __debug_iter(const __debug_iter& __x)
|
||||||
@@ -1297,7 +1297,7 @@ private:
|
|||||||
void __remove_owner();
|
void __remove_owner();
|
||||||
static void __remove_all(__container_type* __c);
|
static void __remove_all(__container_type* __c);
|
||||||
static void swap(__container_type* __x, __container_type* __y);
|
static void swap(__container_type* __x, __container_type* __y);
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY bool __is_deref() const
|
_LIBCPP_INLINE_VISIBILITY bool __is_deref() const
|
||||||
{return __is_deref(__is_random_access_iterator<iterator_type>());}
|
{return __is_deref(__is_random_access_iterator<iterator_type>());}
|
||||||
bool __is_deref(false_type) const;
|
bool __is_deref(false_type) const;
|
||||||
@@ -1327,37 +1327,37 @@ private:
|
|||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator==(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator==(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator<(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator<(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator!=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator>(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator>(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator>=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator>=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator<=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator<=(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1, class _Iter2>
|
template <class _Cp, class _Iter1, class _Iter2>
|
||||||
friend
|
friend
|
||||||
typename __debug_iter<_Cp, _Iter1>::difference_type
|
typename __debug_iter<_Cp, _Iter1>::difference_type
|
||||||
operator-(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
operator-(const __debug_iter<_Cp, _Iter1>&, const __debug_iter<_Cp, _Iter2>&);
|
||||||
|
|
||||||
template <class _Cp, class _Iter1>
|
template <class _Cp, class _Iter1>
|
||||||
friend
|
friend
|
||||||
__debug_iter<_Cp, _Iter1>
|
__debug_iter<_Cp, _Iter1>
|
||||||
@@ -1376,7 +1376,7 @@ __debug_iter<_Container, _Iter>::operator=(const __debug_iter& __x)
|
|||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Container, class _Iter>
|
template <class _Container, class _Iter>
|
||||||
void
|
void
|
||||||
__debug_iter<_Container, _Iter>::__set_owner(const __container_type* __c)
|
__debug_iter<_Container, _Iter>::__set_owner(const __container_type* __c)
|
||||||
@@ -1649,7 +1649,7 @@ end(const _C& __c) -> decltype(__c.end())
|
|||||||
return __c.end();
|
return __c.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // defined(_LIBCPP_MOVE) && !defined(_LIBCPP_HAS_NO_DECLTYPE)
|
||||||
|
|
||||||
template <class _C>
|
template <class _C>
|
||||||
inline
|
inline
|
||||||
@@ -1683,7 +1683,7 @@ end(const _C& __c)
|
|||||||
return __c.end();
|
return __c.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // defined(_LIBCPP_MOVE) && !defined(_LIBCPP_HAS_NO_DECLTYPE)
|
||||||
|
|
||||||
template <class _T, size_t _N>
|
template <class _T, size_t _N>
|
||||||
inline
|
inline
|
||||||
|
32
include/list
32
include/list
@@ -505,7 +505,7 @@ public:
|
|||||||
list(list&& __c);
|
list(list&& __c);
|
||||||
list(list&& __c, const allocator_type& __a);
|
list(list&& __c, const allocator_type& __a);
|
||||||
list& operator=(list&& __c);
|
list& operator=(list&& __c);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
list& operator=(initializer_list<value_type> __il)
|
list& operator=(initializer_list<value_type> __il)
|
||||||
{assign(__il.begin(), __il.end()); return *this;}
|
{assign(__il.begin(), __il.end()); return *this;}
|
||||||
|
|
||||||
@@ -551,7 +551,7 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace(const_iterator __p, _Args&&... __args);
|
iterator emplace(const_iterator __p, _Args&&... __args);
|
||||||
iterator insert(const_iterator __p, value_type&& __x);
|
iterator insert(const_iterator __p, value_type&& __x);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void push_front(const value_type& __x);
|
void push_front(const value_type& __x);
|
||||||
void push_back(const value_type& __x);
|
void push_back(const value_type& __x);
|
||||||
@@ -584,12 +584,12 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
void splice(const_iterator __p, list&& __c, const_iterator __i)
|
void splice(const_iterator __p, list&& __c, const_iterator __i)
|
||||||
{splice(__p, __c, __i);}
|
{splice(__p, __c, __i);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l);
|
void splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l);
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
void splice(const_iterator __p, list&& __c, const_iterator __f, const_iterator __l)
|
void splice(const_iterator __p, list&& __c, const_iterator __f, const_iterator __l)
|
||||||
{splice(__p, __c, __f, __l);}
|
{splice(__p, __c, __f, __l);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void remove(const value_type& __x);
|
void remove(const value_type& __x);
|
||||||
template <class _Pred> void remove_if(_Pred __pred);
|
template <class _Pred> void remove_if(_Pred __pred);
|
||||||
@@ -605,7 +605,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _Comp>
|
template <class _Comp>
|
||||||
void merge(list&& __c, _Comp __comp) {merge(__c, __comp);}
|
void merge(list&& __c, _Comp __comp) {merge(__c, __comp);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void sort();
|
void sort();
|
||||||
template <class _Comp>
|
template <class _Comp>
|
||||||
void sort(_Comp __comp);
|
void sort(_Comp __comp);
|
||||||
@@ -792,7 +792,7 @@ list<_Tp, _Alloc>::__move_assign(list& __c, true_type)
|
|||||||
splice(end(), __c);
|
splice(end(), __c);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
template <class _InpIter>
|
template <class _InpIter>
|
||||||
@@ -866,7 +866,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& _
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
||||||
{
|
{
|
||||||
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
||||||
@@ -890,7 +890,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& _
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__link_nodes(const_cast<__node&>(*__p.__ptr_), *__r.__ptr_, *__e.__ptr_);
|
__link_nodes(const_cast<__node&>(*__p.__ptr_), *__r.__ptr_, *__e.__ptr_);
|
||||||
base::__sz() += __ds;
|
base::__sz() += __ds;
|
||||||
}
|
}
|
||||||
@@ -919,7 +919,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, _InpIter __f, _InpIter __l,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (++__f; __f != __l; ++__f, ++__e, ++__ds)
|
for (++__f; __f != __l; ++__f, ++__e, ++__ds)
|
||||||
{
|
{
|
||||||
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
||||||
@@ -943,7 +943,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, _InpIter __f, _InpIter __l,
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__link_nodes(const_cast<__node&>(*__p.__ptr_), *__r.__ptr_, *__e.__ptr_);
|
__link_nodes(const_cast<__node&>(*__p.__ptr_), *__r.__ptr_, *__e.__ptr_);
|
||||||
base::__sz() += __ds;
|
base::__sz() += __ds;
|
||||||
}
|
}
|
||||||
@@ -1061,7 +1061,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, value_type&& __x)
|
|||||||
return iterator(__hold.release());
|
return iterator(__hold.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
void
|
void
|
||||||
@@ -1142,7 +1142,7 @@ list<_Tp, _Alloc>::resize(size_type __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
||||||
{
|
{
|
||||||
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
||||||
@@ -1166,7 +1166,7 @@ list<_Tp, _Alloc>::resize(size_type __n)
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__link_nodes(static_cast<__node&>(base::__end_), *__r.__ptr_, *__e.__ptr_);
|
__link_nodes(static_cast<__node&>(base::__end_), *__r.__ptr_, *__e.__ptr_);
|
||||||
base::__sz() += __ds;
|
base::__sz() += __ds;
|
||||||
}
|
}
|
||||||
@@ -1193,7 +1193,7 @@ list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
for (--__n; __n != 0; --__n, ++__e, ++__ds)
|
||||||
{
|
{
|
||||||
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
__hold.reset(__node_alloc_traits::allocate(__na, 1));
|
||||||
@@ -1217,10 +1217,10 @@ list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x)
|
|||||||
}
|
}
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__link_nodes(static_cast<__node&>(base::__end_), *__r.__ptr_, *__e.__ptr_);
|
__link_nodes(static_cast<__node&>(base::__end_), *__r.__ptr_, *__e.__ptr_);
|
||||||
base::__sz() += __ds;
|
base::__sz() += __ds;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Alloc>
|
template <class _Tp, class _Alloc>
|
||||||
|
@@ -264,7 +264,7 @@ __nolocale_isdigit(int __c)
|
|||||||
return isdigit_l(__c, 0);
|
return isdigit_l(__c, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* !__APPLE__ */
|
#else // __APPLE__
|
||||||
inline int
|
inline int
|
||||||
__nolocale_sprintf(char* __restrict __str,
|
__nolocale_sprintf(char* __restrict __str,
|
||||||
const char* __restrict __format, ...)
|
const char* __restrict __format, ...)
|
||||||
@@ -315,7 +315,7 @@ __nolocale_isdigit(int __c)
|
|||||||
{
|
{
|
||||||
return isdigit(__c);
|
return isdigit(__c);
|
||||||
}
|
}
|
||||||
#endif /* __APPLE__ */
|
#endif // __APPLE__
|
||||||
|
|
||||||
// __scan_keyword
|
// __scan_keyword
|
||||||
// Scans [__b, __e) until a match is found in the basic_strings range
|
// Scans [__b, __e) until a match is found in the basic_strings range
|
||||||
@@ -456,7 +456,6 @@ struct __num_get_base
|
|||||||
void __check_grouping(const string& __grouping, unsigned* __g, unsigned* __g_end,
|
void __check_grouping(const string& __grouping, unsigned* __g, unsigned* __g_end,
|
||||||
ios_base::iostate& __err);
|
ios_base::iostate& __err);
|
||||||
|
|
||||||
|
|
||||||
template <class _CharT>
|
template <class _CharT>
|
||||||
struct __num_get
|
struct __num_get
|
||||||
: protected __num_get_base
|
: protected __num_get_base
|
||||||
@@ -836,7 +835,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
@@ -871,8 +870,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
if (__grouping.size() != 0 && __g_end-__g < __num_get_base::__num_get_buf_sz)
|
||||||
@@ -906,7 +905,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
@@ -941,7 +940,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
@@ -976,7 +975,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
@@ -1011,7 +1010,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping, __g, __g_end,
|
__thousands_sep, __grouping, __g, __g_end,
|
||||||
__atoms))
|
__atoms))
|
||||||
break;
|
break;
|
||||||
@@ -1039,8 +1038,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
char_type __atoms[32];
|
char_type __atoms[32];
|
||||||
char_type __decimal_point;
|
char_type __decimal_point;
|
||||||
char_type __thousands_sep;
|
char_type __thousands_sep;
|
||||||
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
||||||
__decimal_point,
|
__decimal_point,
|
||||||
__thousands_sep);
|
__thousands_sep);
|
||||||
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
||||||
char* __a_end = __a;
|
char* __a_end = __a;
|
||||||
@@ -1050,8 +1049,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
bool __in_units = true;
|
bool __in_units = true;
|
||||||
char __exp = 'E';
|
char __exp = 'E';
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
||||||
__decimal_point, __thousands_sep,
|
__decimal_point, __thousands_sep,
|
||||||
__grouping, __g, __g_end,
|
__grouping, __g, __g_end,
|
||||||
__dc, __atoms))
|
__dc, __atoms))
|
||||||
break;
|
break;
|
||||||
@@ -1079,8 +1078,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
char_type __atoms[32];
|
char_type __atoms[32];
|
||||||
char_type __decimal_point;
|
char_type __decimal_point;
|
||||||
char_type __thousands_sep;
|
char_type __thousands_sep;
|
||||||
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
||||||
__decimal_point,
|
__decimal_point,
|
||||||
__thousands_sep);
|
__thousands_sep);
|
||||||
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
||||||
char* __a_end = __a;
|
char* __a_end = __a;
|
||||||
@@ -1090,8 +1089,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
bool __in_units = true;
|
bool __in_units = true;
|
||||||
char __exp = 'E';
|
char __exp = 'E';
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
||||||
__decimal_point, __thousands_sep,
|
__decimal_point, __thousands_sep,
|
||||||
__grouping, __g, __g_end,
|
__grouping, __g, __g_end,
|
||||||
__dc, __atoms))
|
__dc, __atoms))
|
||||||
break;
|
break;
|
||||||
@@ -1119,7 +1118,7 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
char_type __atoms[32];
|
char_type __atoms[32];
|
||||||
char_type __decimal_point;
|
char_type __decimal_point;
|
||||||
char_type __thousands_sep;
|
char_type __thousands_sep;
|
||||||
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
string __grouping = this->__stage2_float_prep(__iob, __atoms,
|
||||||
__decimal_point,
|
__decimal_point,
|
||||||
__thousands_sep);
|
__thousands_sep);
|
||||||
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
char __a[__num_get_base::__num_get_buf_sz] = {0};
|
||||||
@@ -1130,8 +1129,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
bool __in_units = true;
|
bool __in_units = true;
|
||||||
char __exp = 'E';
|
char __exp = 'E';
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
if (this->__stage2_float_loop(*__b, __in_units, __exp, __a, __a_end,
|
||||||
__decimal_point, __thousands_sep,
|
__decimal_point, __thousands_sep,
|
||||||
__grouping, __g, __g_end,
|
__grouping, __g, __g_end,
|
||||||
__dc, __atoms))
|
__dc, __atoms))
|
||||||
break;
|
break;
|
||||||
@@ -1168,8 +1167,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
|
|||||||
unsigned* __g_end = __g;
|
unsigned* __g_end = __g;
|
||||||
unsigned __dc = 0;
|
unsigned __dc = 0;
|
||||||
for (; __b != __e; ++__b)
|
for (; __b != __e; ++__b)
|
||||||
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
if (this->__stage2_int_loop(*__b, __base, __a, __a_end, __dc,
|
||||||
__thousands_sep, __grouping,
|
__thousands_sep, __grouping,
|
||||||
__g, __g_end, __atoms))
|
__g, __g_end, __atoms))
|
||||||
break;
|
break;
|
||||||
// Stage 3
|
// Stage 3
|
||||||
@@ -2779,7 +2778,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
~money_get() {}
|
~money_get() {}
|
||||||
|
|
||||||
virtual iter_type do_get(iter_type __b, iter_type __e, bool __intl,
|
virtual iter_type do_get(iter_type __b, iter_type __e, bool __intl,
|
||||||
ios_base& __iob, ios_base::iostate& __err,
|
ios_base& __iob, ios_base::iostate& __err,
|
||||||
long double& __v) const;
|
long double& __v) const;
|
||||||
@@ -2867,7 +2866,7 @@ money_get<_CharT, _InputIterator>::__do_get(iter_type& __b, iter_type __e,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// drop through
|
// drop through
|
||||||
case money_base::none:
|
case money_base::none:
|
||||||
if (__p != 3)
|
if (__p != 3)
|
||||||
{
|
{
|
||||||
@@ -3629,7 +3628,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
|
|||||||
__wc.__cvtptr_ = nullptr;
|
__wc.__cvtptr_ = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
|
template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc>
|
||||||
wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::~wstring_convert()
|
wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::~wstring_convert()
|
||||||
@@ -3693,7 +3692,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__wide_err_string_.empty())
|
if (__wide_err_string_.empty())
|
||||||
throw range_error("wstring_convert: from_bytes error");
|
throw range_error("wstring_convert: from_bytes error");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __wide_err_string_;
|
return __wide_err_string_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3781,7 +3780,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>::
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__byte_err_string_.empty())
|
if (__byte_err_string_.empty())
|
||||||
throw range_error("wstring_convert: to_bytes error");
|
throw range_error("wstring_convert: to_bytes error");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __byte_err_string_;
|
return __byte_err_string_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
34
include/map
34
include/map
@@ -375,8 +375,6 @@ public:
|
|||||||
bool operator()(const _Key& __x, const _Key& __y) const
|
bool operator()(const _Key& __x, const _Key& __y) const
|
||||||
{return static_cast<const _Compare&>(*this)(__x, __y);}
|
{return static_cast<const _Compare&>(*this)(__x, __y);}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// bool operator()(const _Tp& __x, const _Tp& __y) const
|
// bool operator()(const _Tp& __x, const _Tp& __y) const
|
||||||
// {return static_cast<const _Compare&>(*this)(__x.first, __y.first);}
|
// {return static_cast<const _Compare&>(*this)(__x.first, __y.first);}
|
||||||
// bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
|
// bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
|
||||||
@@ -420,8 +418,6 @@ public:
|
|||||||
bool operator()(const _Key& __x, const _Key& __y) const
|
bool operator()(const _Key& __x, const _Key& __y) const
|
||||||
{return comp(__x, __y);}
|
{return comp(__x, __y);}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// bool operator()(const _Tp& __x, const _Tp& __y) const
|
// bool operator()(const _Tp& __x, const _Tp& __y) const
|
||||||
// {return comp(__x.first, __y.first);}
|
// {return comp(__x.first, __y.first);}
|
||||||
// bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
|
// bool operator()(const typename _Tp::first_type& __x, const _Tp& __y) const
|
||||||
@@ -467,7 +463,7 @@ public:
|
|||||||
{
|
{
|
||||||
__x.__value_constructed = false;
|
__x.__value_constructed = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void operator()(pointer __p)
|
void operator()(pointer __p)
|
||||||
{
|
{
|
||||||
@@ -709,7 +705,7 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
explicit map(const allocator_type& __a)
|
explicit map(const allocator_type& __a)
|
||||||
: __tree_(__a)
|
: __tree_(__a)
|
||||||
@@ -794,7 +790,7 @@ public:
|
|||||||
iterator insert(const_iterator __pos, _P&& __p)
|
iterator insert(const_iterator __pos, _P&& __p)
|
||||||
{return __tree_.__insert_unique(__pos.__i_, _STD::forward<_P>(__p));}
|
{return __tree_.__insert_unique(__pos.__i_, _STD::forward<_P>(__p));}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
pair<iterator, bool>
|
pair<iterator, bool>
|
||||||
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
||||||
@@ -857,7 +853,7 @@ private:
|
|||||||
template <class _A0, class ..._Args,
|
template <class _A0, class ..._Args,
|
||||||
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
||||||
__node_holder __construct_node(_A0&& __a0, _Args&& ...__args);
|
__node_holder __construct_node(_A0&& __a0, _Args&& ...__args);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__node_holder __construct_node(const key_type& __k);
|
__node_holder __construct_node(const key_type& __k);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1077,7 +1073,7 @@ map<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0, _Args&& ...__
|
|||||||
return __h;
|
return __h;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
||||||
typename map<_Key, _Tp, _Compare, _Allocator>::__node_holder
|
typename map<_Key, _Tp, _Compare, _Allocator>::__node_holder
|
||||||
@@ -1092,7 +1088,7 @@ map<_Key, _Tp, _Compare, _Allocator>::__construct_node(const key_type& __k)
|
|||||||
return _STD::move(__h);
|
return _STD::move(__h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
||||||
_Tp&
|
_Tp&
|
||||||
@@ -1128,7 +1124,7 @@ map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k)
|
|||||||
return __r->__value_.second;
|
return __r->__value_.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
||||||
_Tp&
|
_Tp&
|
||||||
@@ -1139,7 +1135,7 @@ map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__child == nullptr)
|
if (__child == nullptr)
|
||||||
throw out_of_range("map::at: key not found");
|
throw out_of_range("map::at: key not found");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return static_cast<__node_pointer>(__child)->__value_.second;
|
return static_cast<__node_pointer>(__child)->__value_.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1152,7 +1148,7 @@ map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__child == nullptr)
|
if (__child == nullptr)
|
||||||
throw out_of_range("map::at: key not found");
|
throw out_of_range("map::at: key not found");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return static_cast<__node_const_pointer>(__child)->__value_.second;
|
return static_cast<__node_const_pointer>(__child)->__value_.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1189,7 +1185,7 @@ map<_Key, _Tp, _Compare, _Allocator>::emplace_hint(const_iterator __p,
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
||||||
inline
|
inline
|
||||||
@@ -1368,7 +1364,7 @@ public:
|
|||||||
__tree_.__assign_multi(__il.begin(), __il.end());
|
__tree_.__assign_multi(__il.begin(), __il.end());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
explicit multimap(const allocator_type& __a)
|
explicit multimap(const allocator_type& __a)
|
||||||
: __tree_(__a)
|
: __tree_(__a)
|
||||||
@@ -1443,7 +1439,7 @@ public:
|
|||||||
iterator insert(const_iterator __pos, _P&& __p)
|
iterator insert(const_iterator __pos, _P&& __p)
|
||||||
{return __tree_.__insert_multi(__pos.__i_, _STD::forward<_P>(__p));}
|
{return __tree_.__insert_multi(__pos.__i_, _STD::forward<_P>(__p));}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
iterator insert(const value_type& __v) {return __tree_.__insert_multi(__v);}
|
iterator insert(const value_type& __v) {return __tree_.__insert_multi(__v);}
|
||||||
|
|
||||||
@@ -1501,7 +1497,7 @@ private:
|
|||||||
template <class _A0, class ..._Args,
|
template <class _A0, class ..._Args,
|
||||||
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
||||||
__node_holder __construct_node(_A0&& __a0, _Args&& ...__args);
|
__node_holder __construct_node(_A0&& __a0, _Args&& ...__args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
@@ -1563,7 +1559,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::__construct_node(_A0&& __a0, _Args&&
|
|||||||
return __h;
|
return __h;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
|
|
||||||
@@ -1597,7 +1593,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::emplace_hint(const_iterator __p,
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
template <class _Key, class _Tp, class _Compare, class _Allocator>
|
||||||
inline
|
inline
|
||||||
|
252
include/memory
252
include/memory
@@ -28,9 +28,9 @@ struct pointer_traits
|
|||||||
typedef Ptr pointer;
|
typedef Ptr pointer;
|
||||||
typedef <details> element_type;
|
typedef <details> element_type;
|
||||||
typedef <details> difference_type;
|
typedef <details> difference_type;
|
||||||
|
|
||||||
template <class U> using rebind = <details>;
|
template <class U> using rebind = <details>;
|
||||||
|
|
||||||
static pointer pointer_to(<details>);
|
static pointer pointer_to(<details>);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -259,7 +259,7 @@ public:
|
|||||||
unique_ptr(nullptr_t) : unique_ptr() { }
|
unique_ptr(nullptr_t) : unique_ptr() { }
|
||||||
|
|
||||||
// destructor
|
// destructor
|
||||||
∼unique_ptr();
|
~unique_ptr();
|
||||||
|
|
||||||
// assignment
|
// assignment
|
||||||
unique_ptr& operator=(unique_ptr&& u);
|
unique_ptr& operator=(unique_ptr&& u);
|
||||||
@@ -531,7 +531,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|||||||
|
|
||||||
// allocator_arg_t
|
// allocator_arg_t
|
||||||
|
|
||||||
struct allocator_arg_t { };
|
struct allocator_arg_t { };
|
||||||
|
|
||||||
extern const allocator_arg_t allocator_arg;
|
extern const allocator_arg_t allocator_arg;
|
||||||
|
|
||||||
@@ -558,7 +558,6 @@ public:
|
|||||||
template <class _Up> struct rebind {typedef allocator<_Up> other;};
|
template <class _Up> struct rebind {typedef allocator<_Up> other;};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// pointer_traits
|
// pointer_traits
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
@@ -595,7 +594,7 @@ struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false>
|
|||||||
typedef _Tp type;
|
typedef _Tp type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <template <class> class _Sp, class _Tp>
|
template <template <class> class _Sp, class _Tp>
|
||||||
struct __pointer_traits_element_type<_Sp<_Tp>, true>
|
struct __pointer_traits_element_type<_Sp<_Tp>, true>
|
||||||
@@ -647,7 +646,7 @@ struct __pointer_traits_element_type<_Sp<_Tp, _A0, _A1, _A2>, false>
|
|||||||
typedef _Tp type;
|
typedef _Tp type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __has_difference_type
|
struct __has_difference_type
|
||||||
@@ -711,7 +710,7 @@ struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, false>
|
|||||||
typedef _Sp<_Up, _Args...> type;
|
typedef _Sp<_Up, _Args...> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <template <class> class _Sp, class _Tp, class _Up>
|
template <template <class> class _Sp, class _Tp, class _Up>
|
||||||
struct __pointer_traits_rebind<_Sp<_Tp>, _Up, true>
|
struct __pointer_traits_rebind<_Sp<_Tp>, _Up, true>
|
||||||
@@ -781,7 +780,7 @@ struct __pointer_traits_rebind<_Sp<_Tp, _A0, _A1, _A2>, _Up, false>
|
|||||||
typedef _Sp<_Up, _A0, _A1, _A2> type;
|
typedef _Sp<_Up, _A0, _A1, _A2> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Ptr>
|
template <class _Ptr>
|
||||||
struct pointer_traits
|
struct pointer_traits
|
||||||
@@ -795,7 +794,7 @@ struct pointer_traits
|
|||||||
#else
|
#else
|
||||||
template <class _Up> struct rebind
|
template <class _Up> struct rebind
|
||||||
{typedef typename __pointer_traits_rebind<pointer, _Up>::type other;};
|
{typedef typename __pointer_traits_rebind<pointer, _Up>::type other;};
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct __nat {};
|
struct __nat {};
|
||||||
@@ -1089,7 +1088,7 @@ struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false>
|
|||||||
typedef _Alloc<_Up, _Args...> type;
|
typedef _Alloc<_Up, _Args...> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <template <class> class _Alloc, class _Tp, class _Up>
|
template <template <class> class _Alloc, class _Tp, class _Up>
|
||||||
struct __allocator_traits_rebind<_Alloc<_Tp>, _Up, true>
|
struct __allocator_traits_rebind<_Alloc<_Tp>, _Up, true>
|
||||||
@@ -1103,7 +1102,6 @@ struct __allocator_traits_rebind<_Alloc<_Tp>, _Up, false>
|
|||||||
typedef _Alloc<_Up> type;
|
typedef _Alloc<_Up> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
|
template <template <class, class> class _Alloc, class _Tp, class _A0, class _Up>
|
||||||
struct __allocator_traits_rebind<_Alloc<_Tp, _A0>, _Up, true>
|
struct __allocator_traits_rebind<_Alloc<_Tp, _A0>, _Up, true>
|
||||||
{
|
{
|
||||||
@@ -1116,7 +1114,6 @@ struct __allocator_traits_rebind<_Alloc<_Tp, _A0>, _Up, false>
|
|||||||
typedef _Alloc<_Up, _A0> type;
|
typedef _Alloc<_Up, _A0> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <template <class, class, class> class _Alloc, class _Tp, class _A0,
|
template <template <class, class, class> class _Alloc, class _Tp, class _A0,
|
||||||
class _A1, class _Up>
|
class _A1, class _Up>
|
||||||
struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1>, _Up, true>
|
struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1>, _Up, true>
|
||||||
@@ -1131,7 +1128,6 @@ struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1>, _Up, false>
|
|||||||
typedef _Alloc<_Up, _A0, _A1> type;
|
typedef _Alloc<_Up, _A0, _A1> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
|
template <template <class, class, class, class> class _Alloc, class _Tp, class _A0,
|
||||||
class _A1, class _A2, class _Up>
|
class _A1, class _A2, class _Up>
|
||||||
struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1, _A2>, _Up, true>
|
struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1, _A2>, _Up, true>
|
||||||
@@ -1146,7 +1142,7 @@ struct __allocator_traits_rebind<_Alloc<_Tp, _A0, _A1, _A2>, _Up, false>
|
|||||||
typedef _Alloc<_Up, _A0, _A1, _A2> type;
|
typedef _Alloc<_Up, _A0, _A1, _A2> type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
@@ -1171,7 +1167,7 @@ struct __has_allocate_hint
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
template <class _Alloc, class _SizeType, class _ConstVoidPtr>
|
template <class _Alloc, class _SizeType, class _ConstVoidPtr>
|
||||||
struct __has_allocate_hint
|
struct __has_allocate_hint
|
||||||
@@ -1179,7 +1175,7 @@ struct __has_allocate_hint
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
@@ -1262,8 +1258,7 @@ struct __has_select_on_container_copy_construction
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
@@ -1273,7 +1268,7 @@ struct __has_construct
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Alloc, class _Pointer>
|
template <class _Alloc, class _Pointer>
|
||||||
struct __has_destroy
|
struct __has_destroy
|
||||||
@@ -1293,7 +1288,7 @@ struct __has_select_on_container_copy_construction
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
struct allocator_traits
|
struct allocator_traits
|
||||||
@@ -1320,12 +1315,12 @@ struct allocator_traits
|
|||||||
template <class _Tp> using rebind_alloc =
|
template <class _Tp> using rebind_alloc =
|
||||||
__allocator_traits_rebind<allocator_type, _Tp>::type;
|
__allocator_traits_rebind<allocator_type, _Tp>::type;
|
||||||
template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
|
template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
template <class _Tp> struct rebind_alloc
|
template <class _Tp> struct rebind_alloc
|
||||||
{typedef typename __allocator_traits_rebind<allocator_type, _Tp>::type other;};
|
{typedef typename __allocator_traits_rebind<allocator_type, _Tp>::type other;};
|
||||||
template <class _Tp> struct rebind_traits
|
template <class _Tp> struct rebind_traits
|
||||||
{typedef allocator_traits<typename rebind_alloc<_Tp>::other> other;};
|
{typedef allocator_traits<typename rebind_alloc<_Tp>::other> other;};
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES
|
||||||
|
|
||||||
static pointer allocate(allocator_type& __a, size_type __n)
|
static pointer allocate(allocator_type& __a, size_type __n)
|
||||||
{return __a.allocate(__n);}
|
{return __a.allocate(__n);}
|
||||||
@@ -1341,7 +1336,7 @@ struct allocator_traits
|
|||||||
static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args)
|
static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args)
|
||||||
{__construct(__has_construct<allocator_type, pointer, _Args...>(),
|
{__construct(__has_construct<allocator_type, pointer, _Args...>(),
|
||||||
__a, __p, _STD::forward<_Args>(__args)...);}
|
__a, __p, _STD::forward<_Args>(__args)...);}
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
static void construct(allocator_type& __a, _Tp* __p)
|
static void construct(allocator_type& __a, _Tp* __p)
|
||||||
{
|
{
|
||||||
@@ -1364,7 +1359,7 @@ struct allocator_traits
|
|||||||
{
|
{
|
||||||
::new ((void*)__p) _Tp(__a0, __a1, __a2);
|
::new ((void*)__p) _Tp(__a0, __a1, __a2);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
static void destroy(allocator_type& __a, _Tp* __p)
|
static void destroy(allocator_type& __a, _Tp* __p)
|
||||||
@@ -1397,7 +1392,7 @@ private:
|
|||||||
{
|
{
|
||||||
::new ((void*)__p) _Tp(_STD::forward<_Args>(__args)...);
|
::new ((void*)__p) _Tp(_STD::forward<_Args>(__args)...);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
static void __destroy(true_type, allocator_type& __a, _Tp* __p)
|
static void __destroy(true_type, allocator_type& __a, _Tp* __p)
|
||||||
@@ -1471,7 +1466,7 @@ struct __uses_alloc_ctor
|
|||||||
: integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value>
|
: integral_constant<int, __uses_alloc_ctor_imp<_Tp, _Alloc, _Args...>::value>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
#endif
|
#endif // defined(_LIBCPP_MOVE) && !defined(_LIBCPP_HAS_NO_ADVANCED_SFINAE)
|
||||||
|
|
||||||
// allocator
|
// allocator
|
||||||
|
|
||||||
@@ -1505,7 +1500,7 @@ public:
|
|||||||
{
|
{
|
||||||
::new((void*)__p) _Up(_STD::forward<_Args>(__args)...);
|
::new((void*)__p) _Up(_STD::forward<_Args>(__args)...);
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
void
|
void
|
||||||
construct(pointer __p)
|
construct(pointer __p)
|
||||||
@@ -1573,7 +1568,7 @@ public:
|
|||||||
{
|
{
|
||||||
::new((void*)__p) _Tp(__a0, __a1);
|
::new((void*)__p) _Tp(__a0, __a1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
|
_LIBCPP_INLINE_VISIBILITY void destroy(pointer __p) {__p->~_Tp();}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1689,7 +1684,6 @@ public:
|
|||||||
typedef void element_type;
|
typedef void element_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
|
template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
|
||||||
typename remove_cv<_T2>::type>::value,
|
typename remove_cv<_T2>::type>::value,
|
||||||
bool = is_empty<_T1>::value,
|
bool = is_empty<_T1>::value,
|
||||||
@@ -1741,7 +1735,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
||||||
: __first_(_STD::forward<_T1>(__p.first())), __second_(_STD::forward<_T2>(__p.second())) {}
|
: __first_(_STD::forward<_T1>(__p.first())), __second_(_STD::forward<_T2>(__p.second())) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return __first_;}
|
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return __first_;}
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return __first_;}
|
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return __first_;}
|
||||||
@@ -1784,7 +1778,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
||||||
: _T1(_STD::move(__p.first())), __second_(_STD::forward<_T2>(__p.second())) {}
|
: _T1(_STD::move(__p.first())), __second_(_STD::forward<_T2>(__p.second())) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return *this;}
|
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return *this;}
|
||||||
@@ -1826,7 +1820,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
__libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
||||||
: _T2(_STD::forward<_T2>(__p.second())), __first_(_STD::move(__p.first())) {}
|
: _T2(_STD::forward<_T2>(__p.second())), __first_(_STD::move(__p.first())) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return __first_;}
|
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return __first_;}
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return __first_;}
|
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return __first_;}
|
||||||
@@ -1867,7 +1861,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
_LIBCPP_INLINE_VISIBILITY __libcpp_compressed_pair_imp(__libcpp_compressed_pair_imp&& __p)
|
||||||
: _T1(_STD::move(__p.first())), _T2(_STD::move(__p.second())) {}
|
: _T1(_STD::move(__p.first())), _T2(_STD::move(__p.second())) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return *this;}
|
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return *this;}
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return *this;}
|
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return *this;}
|
||||||
@@ -1906,7 +1900,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__compressed_pair(__compressed_pair&& __p)
|
__compressed_pair(__compressed_pair&& __p)
|
||||||
: base(_STD::move(__p)) {}
|
: base(_STD::move(__p)) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return base::first();}
|
_LIBCPP_INLINE_VISIBILITY _T1_reference first() {return base::first();}
|
||||||
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return base::first();}
|
_LIBCPP_INLINE_VISIBILITY _T1_const_reference first() const {return base::first();}
|
||||||
@@ -1966,14 +1960,14 @@ private:
|
|||||||
unique_ptr(const unique_ptr<_Up, _Ep>&);
|
unique_ptr(const unique_ptr<_Up, _Ep>&);
|
||||||
template <class _Up, class _Ep>
|
template <class _Up, class _Ep>
|
||||||
unique_ptr& operator=(const unique_ptr<_Up, _Ep>&);
|
unique_ptr& operator=(const unique_ptr<_Up, _Ep>&);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
unique_ptr(unique_ptr&);
|
unique_ptr(unique_ptr&);
|
||||||
template <class _Up, class _Ep>
|
template <class _Up, class _Ep>
|
||||||
unique_ptr(unique_ptr<_Up, _Ep>&);
|
unique_ptr(unique_ptr<_Up, _Ep>&);
|
||||||
unique_ptr& operator=(unique_ptr&);
|
unique_ptr& operator=(unique_ptr&);
|
||||||
template <class _Up, class _Ep>
|
template <class _Up, class _Ep>
|
||||||
unique_ptr& operator=(unique_ptr<_Up, _Ep>&);
|
unique_ptr& operator=(unique_ptr<_Up, _Ep>&);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
struct __nat {int __for_bool_;};
|
struct __nat {int __for_bool_;};
|
||||||
|
|
||||||
@@ -2060,7 +2054,7 @@ public:
|
|||||||
__ptr_.second() = _STD::forward<_Ep>(__u.get_deleter());
|
__ptr_.second() = _STD::forward<_Ep>(__u.get_deleter());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY operator __rv<unique_ptr>()
|
_LIBCPP_INLINE_VISIBILITY operator __rv<unique_ptr>()
|
||||||
{
|
{
|
||||||
@@ -2091,7 +2085,7 @@ public:
|
|||||||
operator=(auto_ptr<_Up> __p)
|
operator=(auto_ptr<_Up> __p)
|
||||||
{reset(__p.release()); return *this;}
|
{reset(__p.release()); return *this;}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY ~unique_ptr() {reset();}
|
_LIBCPP_INLINE_VISIBILITY ~unique_ptr() {reset();}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY unique_ptr& operator=(nullptr_t)
|
_LIBCPP_INLINE_VISIBILITY unique_ptr& operator=(nullptr_t)
|
||||||
@@ -2139,14 +2133,14 @@ private:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
unique_ptr(const unique_ptr&);
|
unique_ptr(const unique_ptr&);
|
||||||
unique_ptr& operator=(const unique_ptr&);
|
unique_ptr& operator=(const unique_ptr&);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
unique_ptr(unique_ptr&);
|
unique_ptr(unique_ptr&);
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
unique_ptr(unique_ptr<_Up>&);
|
unique_ptr(unique_ptr<_Up>&);
|
||||||
unique_ptr& operator=(unique_ptr&);
|
unique_ptr& operator=(unique_ptr&);
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
unique_ptr& operator=(unique_ptr<_Up>&);
|
unique_ptr& operator=(unique_ptr<_Up>&);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
struct __nat {int __for_bool_;};
|
struct __nat {int __for_bool_;};
|
||||||
|
|
||||||
@@ -2216,7 +2210,7 @@ public:
|
|||||||
__ptr_.second() = _STD::forward<deleter_type>(__u.get_deleter());
|
__ptr_.second() = _STD::forward<deleter_type>(__u.get_deleter());
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY explicit unique_ptr(pointer __p)
|
_LIBCPP_INLINE_VISIBILITY explicit unique_ptr(pointer __p)
|
||||||
: __ptr_(__p)
|
: __ptr_(__p)
|
||||||
@@ -2246,7 +2240,7 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY ~unique_ptr() {reset();}
|
_LIBCPP_INLINE_VISIBILITY ~unique_ptr() {reset();}
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY unique_ptr& operator=(nullptr_t)
|
_LIBCPP_INLINE_VISIBILITY unique_ptr& operator=(nullptr_t)
|
||||||
@@ -2294,7 +2288,7 @@ public:
|
|||||||
if (__tmp)
|
if (__tmp)
|
||||||
__ptr_.second()(__tmp);
|
__ptr_.second()(__tmp);
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
_LIBCPP_INLINE_VISIBILITY void reset(pointer __p = pointer())
|
_LIBCPP_INLINE_VISIBILITY void reset(pointer __p = pointer())
|
||||||
{
|
{
|
||||||
pointer __tmp = __ptr_.first();
|
pointer __tmp = __ptr_.first();
|
||||||
@@ -2302,11 +2296,11 @@ public:
|
|||||||
if (__tmp)
|
if (__tmp)
|
||||||
__ptr_.second()(__tmp);
|
__ptr_.second()(__tmp);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY void swap(unique_ptr& __u) {__ptr_.swap(__u.__ptr_);}
|
_LIBCPP_INLINE_VISIBILITY void swap(unique_ptr& __u) {__ptr_.swap(__u.__ptr_);}
|
||||||
private:
|
private:
|
||||||
|
|
||||||
#ifndef _LIBCPP_MOVE
|
#ifndef _LIBCPP_MOVE
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
explicit unique_ptr(_Up);
|
explicit unique_ptr(_Up);
|
||||||
@@ -2321,7 +2315,7 @@ private:
|
|||||||
is_convertible<_Up, pointer>::value,
|
is_convertible<_Up, pointer>::value,
|
||||||
__nat
|
__nat
|
||||||
>::type = __nat());
|
>::type = __nat());
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp, class _Dp>
|
template <class _Tp, class _Dp>
|
||||||
@@ -2572,7 +2566,7 @@ __shared_ptr_pointer<_Tp, _Dp, _Alloc>::__get_deleter(const type_info& __t) cons
|
|||||||
return __t == typeid(_Dp) ? &__data_.first().second() : 0;
|
return __t == typeid(_Dp) ? &__data_.first().second() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template <class _Tp, class _Dp, class _Alloc>
|
template <class _Tp, class _Dp, class _Alloc>
|
||||||
void
|
void
|
||||||
@@ -2653,8 +2647,8 @@ template<class _Tp> class enable_shared_from_this;
|
|||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
class shared_ptr
|
class shared_ptr
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef _Tp element_type;
|
typedef _Tp element_type;
|
||||||
private:
|
private:
|
||||||
element_type* __ptr_;
|
element_type* __ptr_;
|
||||||
__shared_weak_count* __cntrl_;
|
__shared_weak_count* __cntrl_;
|
||||||
@@ -2664,58 +2658,60 @@ public:
|
|||||||
shared_ptr();
|
shared_ptr();
|
||||||
shared_ptr(nullptr_t);
|
shared_ptr(nullptr_t);
|
||||||
template<class _Yp> explicit shared_ptr(_Yp* __p);
|
template<class _Yp> explicit shared_ptr(_Yp* __p);
|
||||||
template<class _Yp, class _Dp> shared_ptr(_Yp* __p, _Dp __d);
|
template<class _Yp, class _Dp> shared_ptr(_Yp* __p, _Dp __d);
|
||||||
template<class _Yp, class _Dp, class _Alloc> shared_ptr(_Yp* __p, _Dp __d, _Alloc __a);
|
template<class _Yp, class _Dp, class _Alloc> shared_ptr(_Yp* __p, _Dp __d, _Alloc __a);
|
||||||
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);
|
template<class _Yp> shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p);
|
||||||
shared_ptr(const shared_ptr& __r);
|
shared_ptr(const shared_ptr& __r);
|
||||||
template<class _Yp>
|
template<class _Yp>
|
||||||
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());
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
shared_ptr(shared_ptr&& __r);
|
shared_ptr(shared_ptr&& __r);
|
||||||
template<class _Yp> shared_ptr(shared_ptr<_Yp>&& __r,
|
template<class _Yp> 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());
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
|
template<class _Yp> explicit shared_ptr(const weak_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());
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template<class _Yp> shared_ptr(auto_ptr<_Yp>&& __r);
|
template<class _Yp> shared_ptr(auto_ptr<_Yp>&& __r);
|
||||||
|
#else
|
||||||
|
template<class _Yp> shared_ptr(auto_ptr<_Yp> __r);
|
||||||
#endif
|
#endif
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
private:
|
private:
|
||||||
template <class _Yp, class _Dp> shared_ptr(const unique_ptr<_Yp, _Dp>& __r);// = delete;
|
template <class _Yp, class _Dp> shared_ptr(const unique_ptr<_Yp, _Dp>& __r);// = delete;
|
||||||
public:
|
public:
|
||||||
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>&&,
|
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>&&,
|
||||||
typename enable_if<!is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
typename enable_if<!is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
||||||
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>&&,
|
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>&&,
|
||||||
typename enable_if<is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
typename enable_if<is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>,
|
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>,
|
||||||
typename enable_if<!is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
typename enable_if<!is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
||||||
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>,
|
template <class _Yp, class _Dp> shared_ptr(unique_ptr<_Yp, _Dp>,
|
||||||
typename enable_if<is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
typename enable_if<is_lvalue_reference<_Dp>::value, __nat>::type = __nat());
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
~shared_ptr();
|
~shared_ptr();
|
||||||
|
|
||||||
shared_ptr& operator=(const shared_ptr& __r);
|
shared_ptr& operator=(const shared_ptr& __r);
|
||||||
template<class _Yp> shared_ptr& operator=(const shared_ptr<_Yp>& __r);
|
template<class _Yp> shared_ptr& operator=(const shared_ptr<_Yp>& __r);
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
shared_ptr& operator=(shared_ptr&& __r);
|
shared_ptr& operator=(shared_ptr&& __r);
|
||||||
template<class _Yp> shared_ptr& operator=(shared_ptr<_Yp>&& __r);
|
template<class _Yp> shared_ptr& operator=(shared_ptr<_Yp>&& __r);
|
||||||
template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp>&& __r);
|
template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp>&& __r);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp> __r);
|
template<class _Yp> shared_ptr& operator=(auto_ptr<_Yp> __r);
|
||||||
#endif
|
#endif
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
private:
|
private:
|
||||||
template <class _Yp, class _Dp> shared_ptr& operator=(const unique_ptr<_Yp, _Dp>& __r);// = delete;
|
template <class _Yp, class _Dp> shared_ptr& operator=(const unique_ptr<_Yp, _Dp>& __r);// = delete;
|
||||||
public:
|
public:
|
||||||
template <class _Yp, class _Dp> shared_ptr& operator=(unique_ptr<_Yp, _Dp>&& __r);
|
template <class _Yp, class _Dp> shared_ptr& operator=(unique_ptr<_Yp, _Dp>&& __r);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
template <class _Yp, class _Dp> shared_ptr& operator=(unique_ptr<_Yp, _Dp> __r);
|
template <class _Yp, class _Dp> shared_ptr& operator=(unique_ptr<_Yp, _Dp> __r);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void swap(shared_ptr& __r);
|
void swap(shared_ptr& __r);
|
||||||
@@ -2740,7 +2736,7 @@ public:
|
|||||||
template <class _Dp>
|
template <class _Dp>
|
||||||
_Dp* __get_deleter() const
|
_Dp* __get_deleter() const
|
||||||
{return (_Dp*)(__cntrl_ ? __cntrl_->__get_deleter(typeid(_Dp)) : 0);}
|
{return (_Dp*)(__cntrl_ ? __cntrl_->__get_deleter(typeid(_Dp)) : 0);}
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
@@ -2837,7 +2833,7 @@ shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef __shared_ptr_pointer<_Yp*, _Dp, allocator<_Yp> > _CntrlBlk;
|
typedef __shared_ptr_pointer<_Yp*, _Dp, allocator<_Yp> > _CntrlBlk;
|
||||||
__cntrl_ = new _CntrlBlk(__p, __d, allocator<_Yp>());
|
__cntrl_ = new _CntrlBlk(__p, __d, allocator<_Yp>());
|
||||||
__enable_weak_this(__p);
|
__enable_weak_this(__p);
|
||||||
@@ -2848,7 +2844,7 @@ shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d)
|
|||||||
__d(__p);
|
__d(__p);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
@@ -2859,7 +2855,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef __shared_ptr_pointer<nullptr_t, _Dp, allocator<_Tp> > _CntrlBlk;
|
typedef __shared_ptr_pointer<nullptr_t, _Dp, allocator<_Tp> > _CntrlBlk;
|
||||||
__cntrl_ = new _CntrlBlk(__p, __d, allocator<_Tp>());
|
__cntrl_ = new _CntrlBlk(__p, __d, allocator<_Tp>());
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2869,7 +2865,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d)
|
|||||||
__d(__p);
|
__d(__p);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
@@ -2880,7 +2876,7 @@ shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d, _Alloc __a)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef __shared_ptr_pointer<_Yp*, _Dp, _Alloc> _CntrlBlk;
|
typedef __shared_ptr_pointer<_Yp*, _Dp, _Alloc> _CntrlBlk;
|
||||||
typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
|
typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
|
||||||
typedef __allocator_destructor<_A2> _D2;
|
typedef __allocator_destructor<_A2> _D2;
|
||||||
@@ -2896,7 +2892,7 @@ shared_ptr<_Tp>::shared_ptr(_Yp* __p, _Dp __d, _Alloc __a)
|
|||||||
__d(__p);
|
__d(__p);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
@@ -2907,7 +2903,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef __shared_ptr_pointer<nullptr_t, _Dp, _Alloc> _CntrlBlk;
|
typedef __shared_ptr_pointer<nullptr_t, _Dp, _Alloc> _CntrlBlk;
|
||||||
typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
|
typedef typename _Alloc::template rebind<_CntrlBlk>::other _A2;
|
||||||
typedef __allocator_destructor<_A2> _D2;
|
typedef __allocator_destructor<_A2> _D2;
|
||||||
@@ -2922,7 +2918,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a)
|
|||||||
__d(__p);
|
__d(__p);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
@@ -2982,11 +2978,11 @@ shared_ptr<_Tp>::shared_ptr(shared_ptr<_Yp>&& __r,
|
|||||||
__r.__cntrl_ = 0;
|
__r.__cntrl_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template<class _Yp>
|
template<class _Yp>
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp>&& __r)
|
shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp>&& __r)
|
||||||
#else
|
#else
|
||||||
shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp> __r)
|
shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp> __r)
|
||||||
@@ -3001,7 +2997,7 @@ shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp> __r)
|
|||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template <class _Yp, class _Dp>
|
template <class _Yp, class _Dp>
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
|
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
|
||||||
#else
|
#else
|
||||||
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
|
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
|
||||||
@@ -3017,7 +3013,7 @@ shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
|
|||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template <class _Yp, class _Dp>
|
template <class _Yp, class _Dp>
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
|
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp>&& __r,
|
||||||
#else
|
#else
|
||||||
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
|
shared_ptr<_Tp>::shared_ptr(unique_ptr<_Yp, _Dp> __r,
|
||||||
@@ -3244,7 +3240,7 @@ shared_ptr<_Tp>::operator=(const shared_ptr<_Yp>& __r)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -3285,13 +3281,13 @@ shared_ptr<_Tp>::operator=(unique_ptr<_Yp, _Dp>&& __r)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template<class _Yp>
|
template<class _Yp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
shared_ptr<_Tp>&
|
shared_ptr<_Tp>&
|
||||||
shared_ptr<_Tp>::operator=(auto_ptr<_Yp>& __r)
|
shared_ptr<_Tp>::operator=(auto_ptr<_Yp> __r)
|
||||||
{
|
{
|
||||||
shared_ptr(__r).swap(*this);
|
shared_ptr(__r).swap(*this);
|
||||||
return *this;
|
return *this;
|
||||||
@@ -3307,7 +3303,7 @@ shared_ptr<_Tp>::operator=(unique_ptr<_Yp, _Dp> __r)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -3355,7 +3351,7 @@ shared_ptr<_Tp>::reset(_Yp* __p, _Dp __d, _Alloc __a)
|
|||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template<class _Tp, class ..._Args>
|
template<class _Tp, class ..._Args>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
shared_ptr<_Tp>
|
shared_ptr<_Tp>
|
||||||
make_shared(_Args&& ...__args)
|
make_shared(_Args&& ...__args)
|
||||||
@@ -3363,7 +3359,7 @@ make_shared(_Args&& ...__args)
|
|||||||
return shared_ptr<_Tp>::make_shared(_STD::forward<_Args>(__args)...);
|
return shared_ptr<_Tp>::make_shared(_STD::forward<_Args>(__args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp, class _Alloc, class ..._Args>
|
template<class _Tp, class _Alloc, class ..._Args>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
shared_ptr<_Tp>
|
shared_ptr<_Tp>
|
||||||
allocate_shared(const _Alloc& __a, _Args&& ...__args)
|
allocate_shared(const _Alloc& __a, _Args&& ...__args)
|
||||||
@@ -3397,7 +3393,7 @@ make_shared(_A0& __a0, _A1& __a1)
|
|||||||
return shared_ptr<_Tp>::make_shared(__a0, __a1);
|
return shared_ptr<_Tp>::make_shared(__a0, __a1);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp, class _A0, class _A1, class _A2>
|
template<class _Tp, class _A0, class _A1, class _A2>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
shared_ptr<_Tp>
|
shared_ptr<_Tp>
|
||||||
make_shared(_A0& __a0, _A1& __a1, _A2& __a2)
|
make_shared(_A0& __a0, _A1& __a1, _A2& __a2)
|
||||||
@@ -3505,38 +3501,38 @@ get_deleter(const shared_ptr<_Tp>& __p)
|
|||||||
return __p.template __get_deleter<_Dp>();
|
return __p.template __get_deleter<_Dp>();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_NO_RTTI
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
class weak_ptr
|
class weak_ptr
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef _Tp element_type;
|
typedef _Tp element_type;
|
||||||
private:
|
private:
|
||||||
element_type* __ptr_;
|
element_type* __ptr_;
|
||||||
__shared_weak_count* __cntrl_;
|
__shared_weak_count* __cntrl_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
weak_ptr();
|
weak_ptr();
|
||||||
template<class _Yp> weak_ptr(shared_ptr<_Yp> const& __r,
|
template<class _Yp> weak_ptr(shared_ptr<_Yp> const& __r,
|
||||||
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat());
|
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat());
|
||||||
weak_ptr(weak_ptr const& __r);
|
weak_ptr(weak_ptr const& __r);
|
||||||
template<class _Yp> weak_ptr(weak_ptr<_Yp> const& __r,
|
template<class _Yp> weak_ptr(weak_ptr<_Yp> const& __r,
|
||||||
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat());
|
typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat());
|
||||||
|
|
||||||
~weak_ptr();
|
~weak_ptr();
|
||||||
|
|
||||||
weak_ptr& operator=(weak_ptr const& __r);
|
weak_ptr& operator=(weak_ptr const& __r);
|
||||||
template<class _Yp> weak_ptr& operator=(weak_ptr<_Yp> const& __r);
|
template<class _Yp> weak_ptr& operator=(weak_ptr<_Yp> const& __r);
|
||||||
template<class _Yp> weak_ptr& operator=(shared_ptr<_Yp> const& __r);
|
template<class _Yp> weak_ptr& operator=(shared_ptr<_Yp> const& __r);
|
||||||
|
|
||||||
void swap(weak_ptr& __r);
|
void swap(weak_ptr& __r);
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
long use_count() const {return __cntrl_ ? __cntrl_->use_count() : 0;}
|
long use_count() const {return __cntrl_ ? __cntrl_->use_count() : 0;}
|
||||||
bool expired() const {return __cntrl_ == 0 || __cntrl_->use_count() == 0;}
|
bool expired() const {return __cntrl_ == 0 || __cntrl_->use_count() == 0;}
|
||||||
shared_ptr<_Tp> lock() const;
|
shared_ptr<_Tp> lock() const;
|
||||||
template<class _Up> bool owner_before(const shared_ptr<_Up>& __r) const
|
template<class _Up> bool owner_before(const shared_ptr<_Up>& __r) const
|
||||||
{return __cntrl_ < __r.__cntrl_;}
|
{return __cntrl_ < __r.__cntrl_;}
|
||||||
template<class _Up> bool owner_before(const weak_ptr<_Up>& __r) const
|
template<class _Up> bool owner_before(const weak_ptr<_Up>& __r) const
|
||||||
{return __cntrl_ < __r.__cntrl_;}
|
{return __cntrl_ < __r.__cntrl_;}
|
||||||
@@ -3604,7 +3600,7 @@ weak_ptr<_Tp>::operator=(weak_ptr const& __r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template<class _Yp>
|
template<class _Yp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
weak_ptr<_Tp>&
|
weak_ptr<_Tp>&
|
||||||
weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r)
|
weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r)
|
||||||
@@ -3614,7 +3610,7 @@ weak_ptr<_Tp>::operator=(weak_ptr<_Yp> const& __r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
template<class _Yp>
|
template<class _Yp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
weak_ptr<_Tp>&
|
weak_ptr<_Tp>&
|
||||||
weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r)
|
weak_ptr<_Tp>::operator=(shared_ptr<_Yp> const& __r)
|
||||||
@@ -3674,26 +3670,26 @@ weak_ptr<_Tp>::lock() const
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp> struct owner_less;
|
template <class _Tp> struct owner_less;
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct owner_less<shared_ptr<_Tp> >
|
struct owner_less<shared_ptr<_Tp> >
|
||||||
: binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool>
|
: binary_function<shared_ptr<_Tp>, shared_ptr<_Tp>, bool>
|
||||||
{
|
{
|
||||||
typedef bool result_type;
|
typedef bool result_type;
|
||||||
bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const
|
bool operator()(shared_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const
|
||||||
{return __x.owner_before(__y);}
|
{return __x.owner_before(__y);}
|
||||||
bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
||||||
{return __x.owner_before(__y);}
|
{return __x.owner_before(__y);}
|
||||||
bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const
|
bool operator()( weak_ptr<_Tp> const& __x, shared_ptr<_Tp> const& __y) const
|
||||||
{return __x.owner_before(__y);}
|
{return __x.owner_before(__y);}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct owner_less<weak_ptr<_Tp> >
|
struct owner_less<weak_ptr<_Tp> >
|
||||||
: binary_function<weak_ptr<_Tp>, weak_ptr<_Tp>, bool>
|
: binary_function<weak_ptr<_Tp>, weak_ptr<_Tp>, bool>
|
||||||
{
|
{
|
||||||
typedef bool result_type;
|
typedef bool result_type;
|
||||||
bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
bool operator()( weak_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
||||||
{return __x.owner_before(__y);}
|
{return __x.owner_before(__y);}
|
||||||
bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
bool operator()(shared_ptr<_Tp> const& __x, weak_ptr<_Tp> const& __y) const
|
||||||
@@ -3706,12 +3702,12 @@ template<class _Tp>
|
|||||||
class enable_shared_from_this
|
class enable_shared_from_this
|
||||||
{
|
{
|
||||||
mutable weak_ptr<_Tp> __weak_this_;
|
mutable weak_ptr<_Tp> __weak_this_;
|
||||||
protected:
|
protected:
|
||||||
enable_shared_from_this() {}
|
enable_shared_from_this() {}
|
||||||
enable_shared_from_this(enable_shared_from_this const&) {}
|
enable_shared_from_this(enable_shared_from_this const&) {}
|
||||||
enable_shared_from_this& operator=(enable_shared_from_this const&) {return *this;}
|
enable_shared_from_this& operator=(enable_shared_from_this const&) {return *this;}
|
||||||
~enable_shared_from_this() {}
|
~enable_shared_from_this() {}
|
||||||
public:
|
public:
|
||||||
shared_ptr<_Tp> shared_from_this() {return shared_ptr<_Tp>(__weak_this_);}
|
shared_ptr<_Tp> shared_from_this() {return shared_ptr<_Tp>(__weak_this_);}
|
||||||
shared_ptr<_Tp const> shared_from_this() const {return shared_ptr<const _Tp>(__weak_this_);}
|
shared_ptr<_Tp const> shared_from_this() const {return shared_ptr<const _Tp>(__weak_this_);}
|
||||||
|
|
||||||
@@ -3729,7 +3725,7 @@ struct hash<shared_ptr<_Tp> >
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//enum class
|
//enum class
|
||||||
struct pointer_safety
|
struct pointer_safety
|
||||||
{
|
{
|
||||||
enum _
|
enum _
|
||||||
@@ -3753,7 +3749,7 @@ void* __undeclare_reachable(void*);
|
|||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
_Tp*
|
_Tp*
|
||||||
undeclare_reachable(_Tp* __p)
|
undeclare_reachable(_Tp* __p)
|
||||||
{
|
{
|
||||||
return static_cast<_Tp*>(__undeclare_reachable(__p));
|
return static_cast<_Tp*>(__undeclare_reachable(__p));
|
||||||
|
@@ -330,7 +330,7 @@ try_lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3)
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _L0, class _L1>
|
template <class _L0, class _L1>
|
||||||
void
|
void
|
||||||
@@ -413,7 +413,7 @@ lock(_L0& __l0, _L1& __l1, _L2& ...__l2)
|
|||||||
__lock_first(0, __l0, __l1, __l2...);
|
__lock_first(0, __l0, __l1, __l2...);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
struct once_flag;
|
struct once_flag;
|
||||||
|
|
||||||
@@ -422,12 +422,12 @@ struct once_flag;
|
|||||||
template<class _Callable, class... _Args>
|
template<class _Callable, class... _Args>
|
||||||
void call_once(once_flag&, _Callable&&, _Args&&...);
|
void call_once(once_flag&, _Callable&&, _Args&&...);
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template<class _Callable>
|
template<class _Callable>
|
||||||
void call_once(once_flag&, _Callable);
|
void call_once(once_flag&, _Callable);
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
struct once_flag
|
struct once_flag
|
||||||
{
|
{
|
||||||
@@ -444,11 +444,11 @@ private:
|
|||||||
template<class _Callable, class... _Args>
|
template<class _Callable, class... _Args>
|
||||||
friend
|
friend
|
||||||
void call_once(once_flag&, _Callable&&, _Args&&...);
|
void call_once(once_flag&, _Callable&&, _Args&&...);
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
template<class _Callable>
|
template<class _Callable>
|
||||||
friend
|
friend
|
||||||
void call_once(once_flag&, _Callable);
|
void call_once(once_flag&, _Callable);
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
@@ -495,7 +495,7 @@ call_once(once_flag& __flag, _Callable&& __func, _Args&&... __args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template<class _Callable>
|
template<class _Callable>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -509,7 +509,7 @@ call_once(once_flag& __flag, _Callable __func)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
124
include/ostream
124
include/ostream
@@ -242,7 +242,7 @@ basic_ostream<_CharT, _Traits>::sentry::~sentry()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__os_.rdbuf()->pubsync() == -1)
|
if (__os_.rdbuf()->pubsync() == -1)
|
||||||
__os_.setstate(ios_base::badbit);
|
__os_.setstate(ios_base::badbit);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -250,7 +250,7 @@ basic_ostream<_CharT, _Traits>::sentry::~sentry()
|
|||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,7 +279,7 @@ basic_ostream<_CharT, _Traits>::operator=(basic_ostream&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
basic_ostream<_CharT, _Traits>::~basic_ostream()
|
basic_ostream<_CharT, _Traits>::~basic_ostream()
|
||||||
@@ -328,7 +328,7 @@ basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf<char_type, traits_typ
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -337,7 +337,7 @@ basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf<char_type, traits_typ
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef istreambuf_iterator<_CharT, _Traits> _I;
|
typedef istreambuf_iterator<_CharT, _Traits> _I;
|
||||||
typedef ostreambuf_iterator<_CharT, _Traits> _O;
|
typedef ostreambuf_iterator<_CharT, _Traits> _O;
|
||||||
_I __i(__sb);
|
_I __i(__sb);
|
||||||
@@ -358,7 +358,7 @@ basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf<char_type, traits_typ
|
|||||||
{
|
{
|
||||||
this->__set_failbit_and_consider_rethrow();
|
this->__set_failbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this->setstate(ios_base::badbit);
|
this->setstate(ios_base::badbit);
|
||||||
@@ -369,7 +369,7 @@ basic_ostream<_CharT, _Traits>::operator<<(basic_streambuf<char_type, traits_typ
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,7 +380,7 @@ basic_ostream<_CharT, _Traits>::operator<<(bool __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -395,7 +395,7 @@ basic_ostream<_CharT, _Traits>::operator<<(bool __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -406,7 +406,7 @@ basic_ostream<_CharT, _Traits>::operator<<(short __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -425,7 +425,7 @@ basic_ostream<_CharT, _Traits>::operator<<(short __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -436,7 +436,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned short __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -451,7 +451,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned short __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +462,7 @@ basic_ostream<_CharT, _Traits>::operator<<(int __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -481,7 +481,7 @@ basic_ostream<_CharT, _Traits>::operator<<(int __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,7 +492,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned int __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -507,7 +507,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned int __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,7 +518,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -533,7 +533,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -544,7 +544,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned long __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -559,7 +559,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned long __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -570,7 +570,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long long __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -585,7 +585,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long long __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -596,7 +596,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned long long __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -611,7 +611,7 @@ basic_ostream<_CharT, _Traits>::operator<<(unsigned long long __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -622,7 +622,7 @@ basic_ostream<_CharT, _Traits>::operator<<(float __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -637,7 +637,7 @@ basic_ostream<_CharT, _Traits>::operator<<(float __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -648,7 +648,7 @@ basic_ostream<_CharT, _Traits>::operator<<(double __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -663,7 +663,7 @@ basic_ostream<_CharT, _Traits>::operator<<(double __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -674,7 +674,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long double __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -689,7 +689,7 @@ basic_ostream<_CharT, _Traits>::operator<<(long double __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -700,7 +700,7 @@ basic_ostream<_CharT, _Traits>::operator<<(const void* __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -715,7 +715,7 @@ basic_ostream<_CharT, _Traits>::operator<<(const void* __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -726,7 +726,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -747,7 +747,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, _CharT __c)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -758,7 +758,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, char __cn)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -780,7 +780,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, char __cn)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -791,7 +791,7 @@ operator<<(basic_ostream<char, _Traits>& __os, char __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -812,7 +812,7 @@ operator<<(basic_ostream<char, _Traits>& __os, char __c)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -823,7 +823,7 @@ operator<<(basic_ostream<char, _Traits>& __os, signed char __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -844,7 +844,7 @@ operator<<(basic_ostream<char, _Traits>& __os, signed char __c)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -855,7 +855,7 @@ operator<<(basic_ostream<char, _Traits>& __os, unsigned char __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -876,7 +876,7 @@ operator<<(basic_ostream<char, _Traits>& __os, unsigned char __c)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -887,7 +887,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __str)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -909,7 +909,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const _CharT* __str)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -920,7 +920,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __strn)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -955,7 +955,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const char* __strn)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -966,7 +966,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const char* __str)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -988,7 +988,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const char* __str)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -999,7 +999,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const signed char* __str)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -1021,7 +1021,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const signed char* __str)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1032,7 +1032,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const unsigned char* __str)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
typename basic_ostream<char, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -1054,7 +1054,7 @@ operator<<(basic_ostream<char, _Traits>& __os, const unsigned char* __str)
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1065,7 +1065,7 @@ basic_ostream<_CharT, _Traits>::put(char_type __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -1081,7 +1081,7 @@ basic_ostream<_CharT, _Traits>::put(char_type __c)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1092,7 +1092,7 @@ basic_ostream<_CharT, _Traits>::write(const char_type* __s, streamsize __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
sentry __sen(*this);
|
sentry __sen(*this);
|
||||||
if (__sen && __n)
|
if (__sen && __n)
|
||||||
{
|
{
|
||||||
@@ -1114,7 +1114,7 @@ basic_ostream<_CharT, _Traits>::write(const char_type* __s, streamsize __n)
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1125,7 +1125,7 @@ basic_ostream<_CharT, _Traits>::flush()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (this->rdbuf())
|
if (this->rdbuf())
|
||||||
{
|
{
|
||||||
sentry __s(*this);
|
sentry __s(*this);
|
||||||
@@ -1141,7 +1141,7 @@ basic_ostream<_CharT, _Traits>::flush()
|
|||||||
{
|
{
|
||||||
this->__set_badbit_and_consider_rethrow();
|
this->__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1222,7 +1222,7 @@ operator<<(_Stream&& __os, const _Tp& __x)
|
|||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
@@ -1232,7 +1232,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
|
||||||
if (__s)
|
if (__s)
|
||||||
{
|
{
|
||||||
@@ -1254,7 +1254,7 @@ operator<<(basic_ostream<_CharT, _Traits>& __os,
|
|||||||
{
|
{
|
||||||
__os.__set_badbit_and_consider_rethrow();
|
__os.__set_badbit_and_consider_rethrow();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __os;
|
return __os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -185,7 +185,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
explicit queue(container_type&& __c) : c(_STD::move(__c)) {}
|
explicit queue(container_type&& __c) : c(_STD::move(__c)) {}
|
||||||
queue(queue&& __q) : c(_STD::move(__q.c)) {}
|
queue(queue&& __q) : c(_STD::move(__q.c)) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
explicit queue(const _Alloc& __a,
|
explicit queue(const _Alloc& __a,
|
||||||
typename enable_if<uses_allocator<container_type,
|
typename enable_if<uses_allocator<container_type,
|
||||||
@@ -218,7 +218,7 @@ public:
|
|||||||
c = _STD::move(__q.c);
|
c = _STD::move(__q.c);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
bool empty() const {return c.empty();}
|
bool empty() const {return c.empty();}
|
||||||
size_type size() const {return c.size();}
|
size_type size() const {return c.size();}
|
||||||
@@ -234,7 +234,7 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
void emplace(_Args&&... __args)
|
void emplace(_Args&&... __args)
|
||||||
{c.emplace_back(_STD::forward<_Args>(__args)...);}
|
{c.emplace_back(_STD::forward<_Args>(__args)...);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void pop() {c.pop_front();}
|
void pop() {c.pop_front();}
|
||||||
|
|
||||||
void swap(queue& __q)
|
void swap(queue& __q)
|
||||||
@@ -247,7 +247,7 @@ public:
|
|||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator==(const queue<_T1, _C1>& __x,const queue<_T1, _C1>& __y);
|
operator==(const queue<_T1, _C1>& __x,const queue<_T1, _C1>& __y);
|
||||||
|
|
||||||
template <class _T1, class _C1>
|
template <class _T1, class _C1>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
@@ -351,7 +351,7 @@ public:
|
|||||||
const value_compare& __comp, container_type&& __c);
|
const value_compare& __comp, container_type&& __c);
|
||||||
priority_queue(priority_queue&& __q);
|
priority_queue(priority_queue&& __q);
|
||||||
priority_queue& operator=(priority_queue&& __q);
|
priority_queue& operator=(priority_queue&& __q);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
explicit priority_queue(const _Alloc& __a,
|
explicit priority_queue(const _Alloc& __a,
|
||||||
typename enable_if<uses_allocator<container_type,
|
typename enable_if<uses_allocator<container_type,
|
||||||
@@ -379,7 +379,7 @@ public:
|
|||||||
priority_queue(priority_queue&& __q, const _Alloc& __a,
|
priority_queue(priority_queue&& __q, const _Alloc& __a,
|
||||||
typename enable_if<uses_allocator<container_type,
|
typename enable_if<uses_allocator<container_type,
|
||||||
_Alloc>::value>::type* = 0);
|
_Alloc>::value>::type* = 0);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
bool empty() const {return c.empty();}
|
bool empty() const {return c.empty();}
|
||||||
size_type size() const {return c.size();}
|
size_type size() const {return c.size();}
|
||||||
@@ -389,7 +389,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
void push(value_type&& __v);
|
void push(value_type&& __v);
|
||||||
template <class... _Args> void emplace(_Args&&... __args);
|
template <class... _Args> void emplace(_Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void pop();
|
void pop();
|
||||||
|
|
||||||
void swap(priority_queue& __q);
|
void swap(priority_queue& __q);
|
||||||
@@ -417,7 +417,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
|
|||||||
_STD::make_heap(c.begin(), c.end(), comp);
|
_STD::make_heap(c.begin(), c.end(), comp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Container, class _Compare>
|
template <class _Tp, class _Container, class _Compare>
|
||||||
template <class _InputIter>
|
template <class _InputIter>
|
||||||
@@ -475,7 +475,7 @@ priority_queue<_Tp, _Container, _Compare>::operator=(priority_queue&& __q)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Container, class _Compare>
|
template <class _Tp, class _Container, class _Compare>
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
@@ -542,7 +542,6 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& _
|
|||||||
_STD::make_heap(c.begin(), c.end(), comp);
|
_STD::make_heap(c.begin(), c.end(), comp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <class _Tp, class _Container, class _Compare>
|
template <class _Tp, class _Container, class _Compare>
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
inline
|
inline
|
||||||
@@ -556,7 +555,7 @@ priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q,
|
|||||||
_STD::make_heap(c.begin(), c.end(), comp);
|
_STD::make_heap(c.begin(), c.end(), comp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Container, class _Compare>
|
template <class _Tp, class _Container, class _Compare>
|
||||||
inline
|
inline
|
||||||
@@ -588,7 +587,7 @@ priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args)
|
|||||||
_STD::push_heap(c.begin(), c.end(), comp);
|
_STD::push_heap(c.begin(), c.end(), comp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Container, class _Compare>
|
template <class _Tp, class _Container, class _Compare>
|
||||||
inline
|
inline
|
||||||
|
114
include/random
114
include/random
@@ -485,7 +485,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const uniform_int_distribution& x);
|
const uniform_int_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -544,7 +544,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const uniform_real_distribution& x);
|
const uniform_real_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -599,7 +599,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const bernoulli_distribution& x);
|
const bernoulli_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -657,7 +657,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const binomial_distribution& x);
|
const binomial_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -713,7 +713,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const geometric_distribution& x);
|
const geometric_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -771,7 +771,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const negative_binomial_distribution& x);
|
const negative_binomial_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -827,7 +827,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const poisson_distribution& x);
|
const poisson_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -883,7 +883,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const exponential_distribution& x);
|
const exponential_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -941,7 +941,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const gamma_distribution& x);
|
const gamma_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -999,7 +999,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const weibull_distribution& x);
|
const weibull_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1057,7 +1057,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const extreme_value_distribution& x);
|
const extreme_value_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1115,7 +1115,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const normal_distribution& x);
|
const normal_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1173,7 +1173,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const lognormal_distribution& x);
|
const lognormal_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1229,7 +1229,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const chi_squared_distribution& x);
|
const chi_squared_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1287,7 +1287,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const cauchy_distribution& x);
|
const cauchy_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1345,7 +1345,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const fisher_f_distribution& x);
|
const fisher_f_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1401,7 +1401,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const student_t_distribution& x);
|
const student_t_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1468,7 +1468,7 @@ public:
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const discrete_distribution& x);
|
const discrete_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1543,7 +1543,7 @@ class piecewise_constant_distribution
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const piecewise_constant_distribution& x);
|
const piecewise_constant_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1585,7 +1585,7 @@ class piecewise_linear_distribution
|
|||||||
piecewise_linear_distribution(InputIteratorB firstB,
|
piecewise_linear_distribution(InputIteratorB firstB,
|
||||||
InputIteratorB lastB,
|
InputIteratorB lastB,
|
||||||
InputIteratorW firstW);
|
InputIteratorW firstW);
|
||||||
|
|
||||||
template<class UnaryOperation>
|
template<class UnaryOperation>
|
||||||
piecewise_linear_distribution(initializer_list<result_type> bl,
|
piecewise_linear_distribution(initializer_list<result_type> bl,
|
||||||
UnaryOperation fw);
|
UnaryOperation fw);
|
||||||
@@ -1621,7 +1621,7 @@ class piecewise_linear_distribution
|
|||||||
basic_ostream<charT, traits>&
|
basic_ostream<charT, traits>&
|
||||||
operator<<(basic_ostream<charT, traits>& os,
|
operator<<(basic_ostream<charT, traits>& os,
|
||||||
const piecewise_linear_distribution& x);
|
const piecewise_linear_distribution& x);
|
||||||
|
|
||||||
template <class charT, class traits>
|
template <class charT, class traits>
|
||||||
friend
|
friend
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
@@ -1882,7 +1882,7 @@ private:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const linear_congruential_engine<_U, _A, _C, _N>&);
|
const linear_congruential_engine<_U, _A, _C, _N>&);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _U, _U _A, _U _C, _U _N>
|
class _U, _U _A, _U _C, _U _N>
|
||||||
friend
|
friend
|
||||||
@@ -2100,7 +2100,7 @@ public:
|
|||||||
_B, _T, _C, _L, _F>& __x,
|
_B, _T, _C, _L, _F>& __x,
|
||||||
const mersenne_twister_engine<_UI, _W, _N, _M, _R, _A, _U, _D, _S,
|
const mersenne_twister_engine<_UI, _W, _N, _M, _R, _A, _U, _D, _S,
|
||||||
_B, _T, _C, _L, _F>& __y);
|
_B, _T, _C, _L, _F>& __y);
|
||||||
|
|
||||||
template <class _UI, size_t _W, size_t _N, size_t _M, size_t _R,
|
template <class _UI, size_t _W, size_t _N, size_t _M, size_t _R,
|
||||||
_UI _A, size_t _U, _UI _D, size_t _S,
|
_UI _A, size_t _U, _UI _D, size_t _S,
|
||||||
_UI _B, size_t _T, _UI _C, size_t _L, _UI _F>
|
_UI _B, size_t _T, _UI _C, size_t _L, _UI _F>
|
||||||
@@ -2457,21 +2457,21 @@ public:
|
|||||||
operator==(
|
operator==(
|
||||||
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x,
|
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x,
|
||||||
const subtract_with_carry_engine<_UI, _W, _S, _R>& __y);
|
const subtract_with_carry_engine<_UI, _W, _S, _R>& __y);
|
||||||
|
|
||||||
template<class _UI, size_t _W, size_t _S, size_t _R>
|
template<class _UI, size_t _W, size_t _S, size_t _R>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(
|
operator!=(
|
||||||
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x,
|
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x,
|
||||||
const subtract_with_carry_engine<_UI, _W, _S, _R>& __y);
|
const subtract_with_carry_engine<_UI, _W, _S, _R>& __y);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _UI, size_t _W, size_t _S, size_t _R>
|
class _UI, size_t _W, size_t _S, size_t _R>
|
||||||
friend
|
friend
|
||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x);
|
const subtract_with_carry_engine<_UI, _W, _S, _R>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _UI, size_t _W, size_t _S, size_t _R>
|
class _UI, size_t _W, size_t _S, size_t _R>
|
||||||
friend
|
friend
|
||||||
@@ -2688,7 +2688,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
explicit discard_block_engine(_Engine&& __e)
|
explicit discard_block_engine(_Engine&& __e)
|
||||||
: __e_(_STD::move(__e)), __n_(0) {}
|
: __e_(_STD::move(__e)), __n_(0) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
explicit discard_block_engine(result_type __sd) : __e_(__sd), __n_(0) {}
|
explicit discard_block_engine(result_type __sd) : __e_(__sd), __n_(0) {}
|
||||||
template<class _Sseq> explicit discard_block_engine(_Sseq& __q,
|
template<class _Sseq> explicit discard_block_engine(_Sseq& __q,
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
||||||
@@ -2717,21 +2717,21 @@ public:
|
|||||||
operator==(
|
operator==(
|
||||||
const discard_block_engine<_Eng, _P, _R>& __x,
|
const discard_block_engine<_Eng, _P, _R>& __x,
|
||||||
const discard_block_engine<_Eng, _P, _R>& __y);
|
const discard_block_engine<_Eng, _P, _R>& __y);
|
||||||
|
|
||||||
template<class _Eng, size_t _P, size_t _R>
|
template<class _Eng, size_t _P, size_t _R>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(
|
operator!=(
|
||||||
const discard_block_engine<_Eng, _P, _R>& __x,
|
const discard_block_engine<_Eng, _P, _R>& __x,
|
||||||
const discard_block_engine<_Eng, _P, _R>& __y);
|
const discard_block_engine<_Eng, _P, _R>& __y);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _P, size_t _R>
|
class _Eng, size_t _P, size_t _R>
|
||||||
friend
|
friend
|
||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const discard_block_engine<_Eng, _P, _R>& __x);
|
const discard_block_engine<_Eng, _P, _R>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _P, size_t _R>
|
class _Eng, size_t _P, size_t _R>
|
||||||
friend
|
friend
|
||||||
@@ -2875,7 +2875,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
explicit independent_bits_engine(_Engine&& __e)
|
explicit independent_bits_engine(_Engine&& __e)
|
||||||
: __e_(_STD::move(__e)) {}
|
: __e_(_STD::move(__e)) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
explicit independent_bits_engine(result_type __sd) : __e_(__sd) {}
|
explicit independent_bits_engine(result_type __sd) : __e_(__sd) {}
|
||||||
template<class _Sseq> explicit independent_bits_engine(_Sseq& __q,
|
template<class _Sseq> explicit independent_bits_engine(_Sseq& __q,
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
||||||
@@ -2904,21 +2904,21 @@ public:
|
|||||||
operator==(
|
operator==(
|
||||||
const independent_bits_engine<_Eng, _W, _UI>& __x,
|
const independent_bits_engine<_Eng, _W, _UI>& __x,
|
||||||
const independent_bits_engine<_Eng, _W, _UI>& __y);
|
const independent_bits_engine<_Eng, _W, _UI>& __y);
|
||||||
|
|
||||||
template<class _Eng, size_t _W, class _UI>
|
template<class _Eng, size_t _W, class _UI>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(
|
operator!=(
|
||||||
const independent_bits_engine<_Eng, _W, _UI>& __x,
|
const independent_bits_engine<_Eng, _W, _UI>& __x,
|
||||||
const independent_bits_engine<_Eng, _W, _UI>& __y);
|
const independent_bits_engine<_Eng, _W, _UI>& __y);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _W, class _UI>
|
class _Eng, size_t _W, class _UI>
|
||||||
friend
|
friend
|
||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const independent_bits_engine<_Eng, _W, _UI>& __x);
|
const independent_bits_engine<_Eng, _W, _UI>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _W, class _UI>
|
class _Eng, size_t _W, class _UI>
|
||||||
friend
|
friend
|
||||||
@@ -3067,7 +3067,7 @@ private:
|
|||||||
public:
|
public:
|
||||||
// engine characteristics
|
// engine characteristics
|
||||||
static const/*expr*/ size_t table_size = __k;
|
static const/*expr*/ size_t table_size = __k;
|
||||||
|
|
||||||
static const result_type _Min = _Engine::_Min;
|
static const result_type _Min = _Engine::_Min;
|
||||||
static const result_type _Max = _Engine::_Max;
|
static const result_type _Max = _Engine::_Max;
|
||||||
static_assert(_Min < _Max, "shuffle_order_engine invalid parameters");
|
static_assert(_Min < _Max, "shuffle_order_engine invalid parameters");
|
||||||
@@ -3083,7 +3083,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
explicit shuffle_order_engine(_Engine&& __e)
|
explicit shuffle_order_engine(_Engine&& __e)
|
||||||
: __e_(_STD::move(__e)) {__init();}
|
: __e_(_STD::move(__e)) {__init();}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
explicit shuffle_order_engine(result_type __sd) : __e_(__sd) {__init();}
|
explicit shuffle_order_engine(result_type __sd) : __e_(__sd) {__init();}
|
||||||
template<class _Sseq> explicit shuffle_order_engine(_Sseq& __q,
|
template<class _Sseq> explicit shuffle_order_engine(_Sseq& __q,
|
||||||
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
typename enable_if<!is_convertible<_Sseq, result_type>::value &&
|
||||||
@@ -3113,21 +3113,21 @@ private:
|
|||||||
operator==(
|
operator==(
|
||||||
const shuffle_order_engine<_Eng, _K>& __x,
|
const shuffle_order_engine<_Eng, _K>& __x,
|
||||||
const shuffle_order_engine<_Eng, _K>& __y);
|
const shuffle_order_engine<_Eng, _K>& __y);
|
||||||
|
|
||||||
template<class _Eng, size_t _K>
|
template<class _Eng, size_t _K>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator!=(
|
operator!=(
|
||||||
const shuffle_order_engine<_Eng, _K>& __x,
|
const shuffle_order_engine<_Eng, _K>& __x,
|
||||||
const shuffle_order_engine<_Eng, _K>& __y);
|
const shuffle_order_engine<_Eng, _K>& __y);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _K>
|
class _Eng, size_t _K>
|
||||||
friend
|
friend
|
||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const shuffle_order_engine<_Eng, _K>& __x);
|
const shuffle_order_engine<_Eng, _K>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits,
|
template <class _CharT, class _Traits,
|
||||||
class _Eng, size_t _K>
|
class _Eng, size_t _K>
|
||||||
friend
|
friend
|
||||||
@@ -3297,7 +3297,7 @@ public:
|
|||||||
seed_seq() {}
|
seed_seq() {}
|
||||||
template<class _Tp>
|
template<class _Tp>
|
||||||
seed_seq(initializer_list<_Tp> __il) {init(__il.begin(), __il.end());}
|
seed_seq(initializer_list<_Tp> __il) {init(__il.begin(), __il.end());}
|
||||||
|
|
||||||
template<class _InputIterator>
|
template<class _InputIterator>
|
||||||
seed_seq(_InputIterator __first, _InputIterator __last)
|
seed_seq(_InputIterator __first, _InputIterator __last)
|
||||||
{init(__first, __last);}
|
{init(__first, __last);}
|
||||||
@@ -3955,7 +3955,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -4068,7 +4068,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const lognormal_distribution<_RT>& __x);
|
const lognormal_distribution<_RT>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -4115,7 +4115,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
basic_ostream<_CharT, _Traits>&
|
||||||
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
operator<<(basic_ostream<_CharT, _Traits>& __os,
|
||||||
const lognormal_distribution<_RT>& __x);
|
const lognormal_distribution<_RT>& __x);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -4413,7 +4413,6 @@ public:
|
|||||||
result_type min() const {return 0;}
|
result_type min() const {return 0;}
|
||||||
result_type max() const {return numeric_limits<result_type>::infinity();}
|
result_type max() const {return numeric_limits<result_type>::infinity();}
|
||||||
|
|
||||||
|
|
||||||
friend bool operator==(const weibull_distribution& __x,
|
friend bool operator==(const weibull_distribution& __x,
|
||||||
const weibull_distribution& __y)
|
const weibull_distribution& __y)
|
||||||
{return __x.__p_ == __y.__p_;}
|
{return __x.__p_ == __y.__p_;}
|
||||||
@@ -4607,7 +4606,7 @@ public:
|
|||||||
void param(const param_type& __p) {__p_ = __p;}
|
void param(const param_type& __p) {__p_ = __p;}
|
||||||
|
|
||||||
result_type min() const {return 0;}
|
result_type min() const {return 0;}
|
||||||
result_type max() const {return numeric_limits<result_type>::infinity();}
|
result_type max() const {return numeric_limits<result_type>::infinity();}
|
||||||
|
|
||||||
friend bool operator==(const gamma_distribution& __x,
|
friend bool operator==(const gamma_distribution& __x,
|
||||||
const gamma_distribution& __y)
|
const gamma_distribution& __y)
|
||||||
@@ -4959,8 +4958,7 @@ public:
|
|||||||
void param(const param_type& __p) {__p_ = __p;}
|
void param(const param_type& __p) {__p_ = __p;}
|
||||||
|
|
||||||
result_type min() const {return 0;}
|
result_type min() const {return 0;}
|
||||||
result_type max() const {return numeric_limits<result_type>::infinity();}
|
result_type max() const {return numeric_limits<result_type>::infinity();}
|
||||||
|
|
||||||
|
|
||||||
friend bool operator==(const chi_squared_distribution& __x,
|
friend bool operator==(const chi_squared_distribution& __x,
|
||||||
const chi_squared_distribution& __y)
|
const chi_squared_distribution& __y)
|
||||||
@@ -5051,7 +5049,7 @@ public:
|
|||||||
void param(const param_type& __p) {__p_ = __p;}
|
void param(const param_type& __p) {__p_ = __p;}
|
||||||
|
|
||||||
result_type min() const {return -numeric_limits<result_type>::infinity();}
|
result_type min() const {return -numeric_limits<result_type>::infinity();}
|
||||||
result_type max() const {return numeric_limits<result_type>::infinity();}
|
result_type max() const {return numeric_limits<result_type>::infinity();}
|
||||||
|
|
||||||
friend bool operator==(const cauchy_distribution& __x,
|
friend bool operator==(const cauchy_distribution& __x,
|
||||||
const cauchy_distribution& __y)
|
const cauchy_distribution& __y)
|
||||||
@@ -5156,7 +5154,7 @@ public:
|
|||||||
void param(const param_type& __p) {__p_ = __p;}
|
void param(const param_type& __p) {__p_ = __p;}
|
||||||
|
|
||||||
result_type min() const {return 0;}
|
result_type min() const {return 0;}
|
||||||
result_type max() const {return numeric_limits<result_type>::infinity();}
|
result_type max() const {return numeric_limits<result_type>::infinity();}
|
||||||
|
|
||||||
friend bool operator==(const fisher_f_distribution& __x,
|
friend bool operator==(const fisher_f_distribution& __x,
|
||||||
const fisher_f_distribution& __y)
|
const fisher_f_distribution& __y)
|
||||||
@@ -5347,7 +5345,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _IT>
|
template <class _CharT, class _Traits, class _IT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -5400,7 +5398,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _IT>
|
template <class _CharT, class _Traits, class _IT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -5558,7 +5556,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -5620,7 +5618,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -5635,7 +5633,7 @@ piecewise_constant_distribution<_RealType>::param_type::__init()
|
|||||||
// __densities_ contains non-normalized areas
|
// __densities_ contains non-normalized areas
|
||||||
__area_type __total_area = _STD::accumulate(__densities_.begin(),
|
__area_type __total_area = _STD::accumulate(__densities_.begin(),
|
||||||
__densities_.end(),
|
__densities_.end(),
|
||||||
__area_type());
|
__area_type());
|
||||||
for (size_t __i = 0; __i < __densities_.size(); ++__i)
|
for (size_t __i = 0; __i < __densities_.size(); ++__i)
|
||||||
__densities_[__i] /= __total_area;
|
__densities_[__i] /= __total_area;
|
||||||
// __densities_ contains normalized areas
|
// __densities_ contains normalized areas
|
||||||
@@ -5839,7 +5837,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -5858,7 +5856,7 @@ public:
|
|||||||
_InputIteratorB __lB,
|
_InputIteratorB __lB,
|
||||||
_InputIteratorW __fW)
|
_InputIteratorW __fW)
|
||||||
: __p_(__fB, __lB, __fW) {}
|
: __p_(__fB, __lB, __fW) {}
|
||||||
|
|
||||||
template<class _UnaryOperation>
|
template<class _UnaryOperation>
|
||||||
piecewise_linear_distribution(initializer_list<result_type> __bl,
|
piecewise_linear_distribution(initializer_list<result_type> __bl,
|
||||||
_UnaryOperation __fw)
|
_UnaryOperation __fw)
|
||||||
@@ -5901,7 +5899,7 @@ public:
|
|||||||
basic_ostream<_CharT, _Traits>&
|
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);
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _RT>
|
template <class _CharT, class _Traits, class _RT>
|
||||||
friend
|
friend
|
||||||
basic_istream<_CharT, _Traits>&
|
basic_istream<_CharT, _Traits>&
|
||||||
@@ -6025,7 +6023,7 @@ piecewise_linear_distribution<_RealType>::operator()(_URNG& __g, const param_typ
|
|||||||
return static_cast<result_type>(__u / __dk + __bk);
|
return static_cast<result_type>(__u / __dk + __bk);
|
||||||
const result_type __bk1 = __p.__b_[__k+1];
|
const result_type __bk1 = __p.__b_[__k+1];
|
||||||
const result_type __deltab = __bk1 - __bk;
|
const result_type __deltab = __bk1 - __bk;
|
||||||
return static_cast<result_type>((__bk * __dk1 - __bk1 * __dk +
|
return static_cast<result_type>((__bk * __dk1 - __bk1 * __dk +
|
||||||
_STD::sqrt(__deltab * (__deltab * __dk * __dk + 2 * __deltad * __u))) /
|
_STD::sqrt(__deltab * (__deltab * __dk * __dk + 2 * __deltad * __u))) /
|
||||||
__deltad);
|
__deltad);
|
||||||
}
|
}
|
||||||
|
@@ -335,11 +335,11 @@ public:
|
|||||||
|
|
||||||
template <class _R1, class _R2>
|
template <class _R1, class _R2>
|
||||||
struct ratio_equal
|
struct ratio_equal
|
||||||
: public integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den> {};
|
: public integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den> {};
|
||||||
|
|
||||||
template <class _R1, class _R2>
|
template <class _R1, class _R2>
|
||||||
struct ratio_not_equal
|
struct ratio_not_equal
|
||||||
: public integral_constant<bool, !ratio_equal<_R1, _R2>::value> {};
|
: public integral_constant<bool, !ratio_equal<_R1, _R2>::value> {};
|
||||||
|
|
||||||
// ratio_less
|
// ratio_less
|
||||||
|
|
||||||
|
103
include/regex
103
include/regex
@@ -1273,7 +1273,6 @@ else
|
|||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// __node
|
// __node
|
||||||
|
|
||||||
template <class _CharT>
|
template <class _CharT>
|
||||||
@@ -2267,7 +2266,7 @@ public:
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__b.size() != 1 || __e.size() != 1)
|
if (__b.size() != 1 || __e.size() != 1)
|
||||||
throw regex_error(regex_constants::error_collate);
|
throw regex_error(regex_constants::error_collate);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__icase_)
|
if (__icase_)
|
||||||
{
|
{
|
||||||
__b[0] = __traits_.translate_nocase(__b[0]);
|
__b[0] = __traits_.translate_nocase(__b[0]);
|
||||||
@@ -2850,7 +2849,7 @@ private:
|
|||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
regex_search(const basic_string<_C, _ST, _SA>& __s,
|
regex_search(const basic_string<_C, _ST, _SA>& __s,
|
||||||
match_results<typename basic_string<_C, _ST, _SA>::const_iterator, _A>&,
|
match_results<typename basic_string<_C, _ST, _SA>::const_iterator, _A>&,
|
||||||
const basic_regex<_C, _T>& __e,
|
const basic_regex<_C, _T>& __e,
|
||||||
regex_constants::match_flag_type __flags);
|
regex_constants::match_flag_type __flags);
|
||||||
|
|
||||||
@@ -2965,7 +2964,7 @@ basic_regex<_CharT, _Traits>::__parse(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
default:
|
default:
|
||||||
throw regex_error(regex_constants::__re_err_grammar);
|
throw regex_error(regex_constants::__re_err_grammar);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
return __first;
|
return __first;
|
||||||
}
|
}
|
||||||
@@ -2999,7 +2998,7 @@ basic_regex<_CharT, _Traits>::__parse_basic_reg_exp(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first != __last)
|
if (__first != __last)
|
||||||
throw regex_error(regex_constants::__re_err_empty);
|
throw regex_error(regex_constants::__re_err_empty);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
return __first;
|
return __first;
|
||||||
}
|
}
|
||||||
@@ -3015,7 +3014,7 @@ basic_regex<_CharT, _Traits>::__parse_extended_reg_exp(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::__re_err_empty);
|
throw regex_error(regex_constants::__re_err_empty);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
while (__first != __last && *__first == '|')
|
while (__first != __last && *__first == '|')
|
||||||
{
|
{
|
||||||
@@ -3024,7 +3023,7 @@ basic_regex<_CharT, _Traits>::__parse_extended_reg_exp(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::__re_err_empty);
|
throw regex_error(regex_constants::__re_err_empty);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_alternation(__sa, __sb);
|
__push_alternation(__sa, __sb);
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
}
|
}
|
||||||
@@ -3041,7 +3040,7 @@ basic_regex<_CharT, _Traits>::__parse_ERE_branch(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::__re_err_empty);
|
throw regex_error(regex_constants::__re_err_empty);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
@@ -3079,7 +3078,7 @@ basic_regex<_CharT, _Traits>::__parse_ERE_expression(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last || *__temp != ')')
|
if (__temp == __last || *__temp != ')')
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_end_marked_subexpression(__temp_count);
|
__push_end_marked_subexpression(__temp_count);
|
||||||
--__open_count_;
|
--__open_count_;
|
||||||
++__temp;
|
++__temp;
|
||||||
@@ -3147,7 +3146,7 @@ basic_regex<_CharT, _Traits>::__parse_nondupl_RE(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_end_marked_subexpression(__temp_count);
|
__push_end_marked_subexpression(__temp_count);
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
}
|
}
|
||||||
@@ -3459,19 +3458,19 @@ basic_regex<_CharT, _Traits>::__parse_RE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (*__first != ',')
|
if (*__first != ',')
|
||||||
{
|
{
|
||||||
__temp = __parse_Back_close_brace(__first, __last);
|
__temp = __parse_Back_close_brace(__first, __last);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_loop(__min, __min, __s, __mexp_begin, __mexp_end,
|
__push_loop(__min, __min, __s, __mexp_begin, __mexp_end,
|
||||||
true);
|
true);
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
@@ -3485,7 +3484,7 @@ basic_regex<_CharT, _Traits>::__parse_RE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__max == -1)
|
if (__max == -1)
|
||||||
__push_greedy_inf_repeat(__min, __s, __mexp_begin, __mexp_end);
|
__push_greedy_inf_repeat(__min, __s, __mexp_begin, __mexp_end);
|
||||||
else
|
else
|
||||||
@@ -3493,7 +3492,7 @@ basic_regex<_CharT, _Traits>::__parse_RE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__max < __min)
|
if (__max < __min)
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_loop(__min, __max, __s, __mexp_begin, __mexp_end,
|
__push_loop(__min, __max, __s, __mexp_begin, __mexp_end,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
@@ -3556,12 +3555,12 @@ basic_regex<_CharT, _Traits>::__parse_ERE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
switch (*__first)
|
switch (*__first)
|
||||||
{
|
{
|
||||||
case '}':
|
case '}':
|
||||||
@@ -3579,7 +3578,7 @@ basic_regex<_CharT, _Traits>::__parse_ERE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (*__first == '}')
|
if (*__first == '}')
|
||||||
{
|
{
|
||||||
++__first;
|
++__first;
|
||||||
@@ -3598,17 +3597,17 @@ basic_regex<_CharT, _Traits>::__parse_ERE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __first)
|
if (__temp == __first)
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = __temp;
|
__first = __temp;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last || *__first != '}')
|
if (__first == __last || *__first != '}')
|
||||||
throw regex_error(regex_constants::error_brace);
|
throw regex_error(regex_constants::error_brace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
++__first;
|
++__first;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__max < __min)
|
if (__max < __min)
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__grammar == ECMAScript && __first != __last && *__first == '?')
|
if (__grammar == ECMAScript && __first != __last && *__first == '?')
|
||||||
{
|
{
|
||||||
++__first;
|
++__first;
|
||||||
@@ -3621,7 +3620,7 @@ basic_regex<_CharT, _Traits>::__parse_ERE_dupl_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
default:
|
default:
|
||||||
throw regex_error(regex_constants::error_badbrace);
|
throw regex_error(regex_constants::error_badbrace);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -3642,7 +3641,7 @@ basic_regex<_CharT, _Traits>::__parse_bracket_expression(_ForwardIterator __firs
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
bool __negate = false;
|
bool __negate = false;
|
||||||
if (*__first == '^')
|
if (*__first == '^')
|
||||||
{
|
{
|
||||||
@@ -3654,7 +3653,7 @@ basic_regex<_CharT, _Traits>::__parse_bracket_expression(_ForwardIterator __firs
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if ((__flags_ & 0x1F0) != ECMAScript && *__first == ']')
|
if ((__flags_ & 0x1F0) != ECMAScript && *__first == ']')
|
||||||
{
|
{
|
||||||
__ml->__add_char(']');
|
__ml->__add_char(']');
|
||||||
@@ -3664,7 +3663,7 @@ basic_regex<_CharT, _Traits>::__parse_bracket_expression(_ForwardIterator __firs
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (*__first == '-')
|
if (*__first == '-')
|
||||||
{
|
{
|
||||||
__ml->__add_char('-');
|
__ml->__add_char('-');
|
||||||
@@ -3673,7 +3672,7 @@ basic_regex<_CharT, _Traits>::__parse_bracket_expression(_ForwardIterator __firs
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last || *__first != ']')
|
if (__first == __last || *__first != ']')
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
++__first;
|
++__first;
|
||||||
}
|
}
|
||||||
return __first;
|
return __first;
|
||||||
@@ -3796,7 +3795,7 @@ basic_regex<_CharT, _Traits>::__parse_class_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
switch (*__first)
|
switch (*__first)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@@ -3840,7 +3839,7 @@ basic_regex<_CharT, _Traits>::__parse_awk_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
switch (*__first)
|
switch (*__first)
|
||||||
{
|
{
|
||||||
case '\\':
|
case '\\':
|
||||||
@@ -3911,7 +3910,7 @@ basic_regex<_CharT, _Traits>::__parse_awk_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
else
|
else
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __first;
|
return __first;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3930,7 +3929,7 @@ basic_regex<_CharT, _Traits>::__parse_equivalence_class(_ForwardIterator __first
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last)
|
if (__temp == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
// [__first, __temp) contains all text in [= ... =]
|
// [__first, __temp) contains all text in [= ... =]
|
||||||
typedef typename _Traits::string_type string_type;
|
typedef typename _Traits::string_type string_type;
|
||||||
string_type __collate_name =
|
string_type __collate_name =
|
||||||
@@ -3938,7 +3937,7 @@ basic_regex<_CharT, _Traits>::__parse_equivalence_class(_ForwardIterator __first
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__collate_name.empty())
|
if (__collate_name.empty())
|
||||||
throw regex_error(regex_constants::error_collate);
|
throw regex_error(regex_constants::error_collate);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
string_type __equiv_name =
|
string_type __equiv_name =
|
||||||
__traits_.transform_primary(__collate_name.begin(),
|
__traits_.transform_primary(__collate_name.begin(),
|
||||||
__collate_name.end());
|
__collate_name.end());
|
||||||
@@ -3957,7 +3956,7 @@ basic_regex<_CharT, _Traits>::__parse_equivalence_class(_ForwardIterator __first
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
default:
|
default:
|
||||||
throw regex_error(regex_constants::error_collate);
|
throw regex_error(regex_constants::error_collate);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
__first = next(__temp, 2);
|
__first = next(__temp, 2);
|
||||||
@@ -3979,7 +3978,7 @@ basic_regex<_CharT, _Traits>::__parse_character_class(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last)
|
if (__temp == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
// [__first, __temp) contains all text in [: ... :]
|
// [__first, __temp) contains all text in [: ... :]
|
||||||
typedef typename _Traits::char_class_type char_class_type;
|
typedef typename _Traits::char_class_type char_class_type;
|
||||||
char_class_type __class_type =
|
char_class_type __class_type =
|
||||||
@@ -3987,7 +3986,7 @@ basic_regex<_CharT, _Traits>::__parse_character_class(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__class_type == 0)
|
if (__class_type == 0)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__ml->__add_class(__class_type);
|
__ml->__add_class(__class_type);
|
||||||
__first = next(__temp, 2);
|
__first = next(__temp, 2);
|
||||||
return __first;
|
return __first;
|
||||||
@@ -4008,7 +4007,7 @@ basic_regex<_CharT, _Traits>::__parse_collating_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last)
|
if (__temp == __last)
|
||||||
throw regex_error(regex_constants::error_brack);
|
throw regex_error(regex_constants::error_brack);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
// [__first, __temp) contains all text in [. ... .]
|
// [__first, __temp) contains all text in [. ... .]
|
||||||
typedef typename _Traits::string_type string_type;
|
typedef typename _Traits::string_type string_type;
|
||||||
__col_sym = __traits_.lookup_collatename(__first, __temp);
|
__col_sym = __traits_.lookup_collatename(__first, __temp);
|
||||||
@@ -4020,7 +4019,7 @@ basic_regex<_CharT, _Traits>::__parse_collating_symbol(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
default:
|
default:
|
||||||
throw regex_error(regex_constants::error_collate);
|
throw regex_error(regex_constants::error_collate);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
__first = next(__temp, 2);
|
__first = next(__temp, 2);
|
||||||
return __first;
|
return __first;
|
||||||
@@ -4161,7 +4160,7 @@ basic_regex<_CharT, _Traits>::__parse_assertion(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last || *__temp != ')')
|
if (__temp == __last || *__temp != ')')
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = ++__temp;
|
__first = ++__temp;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -4175,7 +4174,7 @@ basic_regex<_CharT, _Traits>::__parse_assertion(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__temp == __last || *__temp != ')')
|
if (__temp == __last || *__temp != ')')
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__first = ++__temp;
|
__first = ++__temp;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -4215,7 +4214,7 @@ basic_regex<_CharT, _Traits>::__parse_atom(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
_ForwardIterator __temp = _STD::next(__first);
|
_ForwardIterator __temp = _STD::next(__first);
|
||||||
if (__temp != __last && *__first == '?' && *__temp == ':')
|
if (__temp != __last && *__first == '?' && *__temp == ':')
|
||||||
{
|
{
|
||||||
@@ -4224,7 +4223,7 @@ basic_regex<_CharT, _Traits>::__parse_atom(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last || *__first != ')')
|
if (__first == __last || *__first != ')')
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
--__open_count_;
|
--__open_count_;
|
||||||
++__first;
|
++__first;
|
||||||
}
|
}
|
||||||
@@ -4237,7 +4236,7 @@ basic_regex<_CharT, _Traits>::__parse_atom(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last || *__first != ')')
|
if (__first == __last || *__first != ')')
|
||||||
throw regex_error(regex_constants::error_paren);
|
throw regex_error(regex_constants::error_paren);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_end_marked_subexpression(__temp_count);
|
__push_end_marked_subexpression(__temp_count);
|
||||||
--__open_count_;
|
--__open_count_;
|
||||||
++__first;
|
++__first;
|
||||||
@@ -4301,7 +4300,7 @@ basic_regex<_CharT, _Traits>::__parse_decimal_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__v > mark_count())
|
if (__v > mark_count())
|
||||||
throw regex_error(regex_constants::error_backref);
|
throw regex_error(regex_constants::error_backref);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__push_back_ref(__v);
|
__push_back_ref(__v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4423,23 +4422,23 @@ basic_regex<_CharT, _Traits>::__parse_character_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__hd = __traits_.value(*__first, 16);
|
__hd = __traits_.value(*__first, 16);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__hd == -1)
|
if (__hd == -1)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__sum = 16 * __sum + __hd;
|
__sum = 16 * __sum + __hd;
|
||||||
++__first;
|
++__first;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__hd = __traits_.value(*__first, 16);
|
__hd = __traits_.value(*__first, 16);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__hd == -1)
|
if (__hd == -1)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__sum = 16 * __sum + __hd;
|
__sum = 16 * __sum + __hd;
|
||||||
// drop through
|
// drop through
|
||||||
case 'x':
|
case 'x':
|
||||||
@@ -4447,23 +4446,23 @@ basic_regex<_CharT, _Traits>::__parse_character_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__hd = __traits_.value(*__first, 16);
|
__hd = __traits_.value(*__first, 16);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__hd == -1)
|
if (__hd == -1)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__sum = 16 * __sum + __hd;
|
__sum = 16 * __sum + __hd;
|
||||||
++__first;
|
++__first;
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__first == __last)
|
if (__first == __last)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__hd = __traits_.value(*__first, 16);
|
__hd = __traits_.value(*__first, 16);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__hd == -1)
|
if (__hd == -1)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__sum = 16 * __sum + __hd;
|
__sum = 16 * __sum + __hd;
|
||||||
if (__str)
|
if (__str)
|
||||||
*__str = _CharT(__sum);
|
*__str = _CharT(__sum);
|
||||||
@@ -4483,7 +4482,7 @@ basic_regex<_CharT, _Traits>::__parse_character_escape(_ForwardIterator __first,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
else if (__str)
|
else if (__str)
|
||||||
throw regex_error(regex_constants::error_escape);
|
throw regex_error(regex_constants::error_escape);
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5189,7 +5188,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
// match_results(match_results&& __m) = default;
|
// match_results(match_results&& __m) = default;
|
||||||
// match_results& operator=(match_results&& __m) = default;
|
// match_results& operator=(match_results&& __m) = default;
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
// ~match_results() = default;
|
// ~match_results() = default;
|
||||||
|
|
||||||
// size:
|
// size:
|
||||||
|
@@ -21,7 +21,7 @@ template <class OuterAlloc, class... InnerAllocs>
|
|||||||
class scoped_allocator_adaptor : public OuterAlloc
|
class scoped_allocator_adaptor : public OuterAlloc
|
||||||
{
|
{
|
||||||
typedef allocator_traits<OuterAlloc> OuterTraits; // exposition only
|
typedef allocator_traits<OuterAlloc> OuterTraits; // exposition only
|
||||||
scoped_allocator_adaptor<InnerAllocs...> inner; // exposition only
|
scoped_allocator_adaptor<InnerAllocs...> inner; // exposition only
|
||||||
public:
|
public:
|
||||||
|
|
||||||
typedef OuterAlloc outer_allocator_type;
|
typedef OuterAlloc outer_allocator_type;
|
||||||
@@ -180,7 +180,7 @@ private:
|
|||||||
inner_allocator_type __inner_;
|
inner_allocator_type __inner_;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
__scoped_allocator_storage() {}
|
__scoped_allocator_storage() {}
|
||||||
|
|
||||||
template <class _OuterA2,
|
template <class _OuterA2,
|
||||||
@@ -526,7 +526,7 @@ operator!=(const scoped_allocator_adaptor<_OuterA1, _InnerAllocs...>& __a,
|
|||||||
return !(__a == __b);
|
return !(__a == __b);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // defined(_LIBCPP_MOVE) && !defined(_LIBCPP_HAS_NO_ADVANCED_SFINAE)
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
27
include/set
27
include/set
@@ -157,7 +157,6 @@ template <class Key, class Compare, class Allocator>
|
|||||||
void
|
void
|
||||||
swap(set<Key, Compare, Allocator>& x, set<Key, Compare, Allocator>& y);
|
swap(set<Key, Compare, Allocator>& x, set<Key, Compare, Allocator>& y);
|
||||||
|
|
||||||
|
|
||||||
template <class Key, class Compare = less<Key>,
|
template <class Key, class Compare = less<Key>,
|
||||||
class Allocator = allocator<Key>>
|
class Allocator = allocator<Key>>
|
||||||
class multiset
|
class multiset
|
||||||
@@ -369,7 +368,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
set(set&& __s)
|
set(set&& __s)
|
||||||
: __tree_(_STD::move(__s.__tree_)) {}
|
: __tree_(_STD::move(__s.__tree_)) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
explicit set(const allocator_type& __a)
|
explicit set(const allocator_type& __a)
|
||||||
: __tree_(__a) {}
|
: __tree_(__a) {}
|
||||||
@@ -409,7 +408,7 @@ public:
|
|||||||
__tree_ = _STD::move(__s.__tree_);
|
__tree_ = _STD::move(__s.__tree_);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
iterator begin() {return __tree_.begin();}
|
iterator begin() {return __tree_.begin();}
|
||||||
const_iterator begin() const {return __tree_.begin();}
|
const_iterator begin() const {return __tree_.begin();}
|
||||||
@@ -438,19 +437,19 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
||||||
{return __tree_.__emplace_hint_unique(__p, _STD::forward<_Args>(__args)...);}
|
{return __tree_.__emplace_hint_unique(__p, _STD::forward<_Args>(__args)...);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
pair<iterator,bool> insert(const value_type& __v)
|
pair<iterator,bool> insert(const value_type& __v)
|
||||||
{return __tree_.__insert_unique(__v);}
|
{return __tree_.__insert_unique(__v);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
pair<iterator,bool> insert(value_type&& __v)
|
pair<iterator,bool> insert(value_type&& __v)
|
||||||
{return __tree_.__insert_unique(_STD::move(__v));}
|
{return __tree_.__insert_unique(_STD::move(__v));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, const value_type& __v)
|
iterator insert(const_iterator __p, const value_type& __v)
|
||||||
{return __tree_.__insert_unique(__p, __v);}
|
{return __tree_.__insert_unique(__p, __v);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, value_type&& __v)
|
iterator insert(const_iterator __p, value_type&& __v)
|
||||||
{return __tree_.__insert_unique(__p, _STD::move(__v));}
|
{return __tree_.__insert_unique(__p, _STD::move(__v));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __f, _InputIterator __l)
|
void insert(_InputIterator __f, _InputIterator __l)
|
||||||
{
|
{
|
||||||
@@ -507,7 +506,7 @@ set<_Key, _Compare, _Allocator>::set(set&& __s, const allocator_type& __a)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Compare, class _Allocator>
|
template <class _Key, class _Compare, class _Allocator>
|
||||||
inline
|
inline
|
||||||
@@ -573,7 +572,6 @@ swap(set<_Key, _Compare, _Allocator>& __x,
|
|||||||
__x.swap(__y);
|
__x.swap(__y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <class _Key, class _Compare = less<_Key>,
|
template <class _Key, class _Compare = less<_Key>,
|
||||||
class _Allocator = allocator<_Key> >
|
class _Allocator = allocator<_Key> >
|
||||||
class multiset
|
class multiset
|
||||||
@@ -636,7 +634,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
multiset(multiset&& __s)
|
multiset(multiset&& __s)
|
||||||
: __tree_(_STD::move(__s.__tree_)) {}
|
: __tree_(_STD::move(__s.__tree_)) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
explicit multiset(const allocator_type& __a)
|
explicit multiset(const allocator_type& __a)
|
||||||
: __tree_(__a) {}
|
: __tree_(__a) {}
|
||||||
multiset(const multiset& __s, const allocator_type& __a)
|
multiset(const multiset& __s, const allocator_type& __a)
|
||||||
@@ -673,7 +671,7 @@ public:
|
|||||||
__tree_ = _STD::move(__s.__tree_);
|
__tree_ = _STD::move(__s.__tree_);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
iterator begin() {return __tree_.begin();}
|
iterator begin() {return __tree_.begin();}
|
||||||
const_iterator begin() const {return __tree_.begin();}
|
const_iterator begin() const {return __tree_.begin();}
|
||||||
@@ -702,19 +700,19 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
||||||
{return __tree_.__emplace_hint_multi(__p, _STD::forward<_Args>(__args)...);}
|
{return __tree_.__emplace_hint_multi(__p, _STD::forward<_Args>(__args)...);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const value_type& __v)
|
iterator insert(const value_type& __v)
|
||||||
{return __tree_.__insert_multi(__v);}
|
{return __tree_.__insert_multi(__v);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(value_type&& __v)
|
iterator insert(value_type&& __v)
|
||||||
{return __tree_.__insert_multi(_STD::move(__v));}
|
{return __tree_.__insert_multi(_STD::move(__v));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, const value_type& __v)
|
iterator insert(const_iterator __p, const value_type& __v)
|
||||||
{return __tree_.__insert_multi(__p, __v);}
|
{return __tree_.__insert_multi(__p, __v);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, value_type&& __v)
|
iterator insert(const_iterator __p, value_type&& __v)
|
||||||
{return __tree_.__insert_multi(_STD::move(__v));}
|
{return __tree_.__insert_multi(_STD::move(__v));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __f, _InputIterator __l)
|
void insert(_InputIterator __f, _InputIterator __l)
|
||||||
{
|
{
|
||||||
@@ -770,7 +768,7 @@ multiset<_Key, _Compare, _Allocator>::multiset(multiset&& __s, const allocator_t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Compare, class _Allocator>
|
template <class _Key, class _Compare, class _Allocator>
|
||||||
inline
|
inline
|
||||||
@@ -835,7 +833,6 @@ swap(multiset<_Key, _Compare, _Allocator>& __x,
|
|||||||
__x.swap(__y);
|
__x.swap(__y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
#endif // _LIBCPP_SET
|
#endif // _LIBCPP_SET
|
||||||
|
@@ -298,7 +298,7 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::operator=(basic_stringbuf&& __rhs)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
void
|
void
|
||||||
@@ -434,7 +434,7 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::overflow(int_type __c)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
ptrdiff_t __nout = this->pptr() - this->pbase();
|
ptrdiff_t __nout = this->pptr() - this->pbase();
|
||||||
ptrdiff_t __hm = __hm_ - this->pbase();
|
ptrdiff_t __hm = __hm_ - this->pbase();
|
||||||
__str_.push_back(char_type());
|
__str_.push_back(char_type());
|
||||||
@@ -449,7 +449,7 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::overflow(int_type __c)
|
|||||||
{
|
{
|
||||||
return traits_type::eof();
|
return traits_type::eof();
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
__hm_ = max(this->pptr() + 1, __hm_);
|
__hm_ = max(this->pptr() + 1, __hm_);
|
||||||
if (__mode_ & ios_base::in)
|
if (__mode_ & ios_base::in)
|
||||||
@@ -551,7 +551,7 @@ public:
|
|||||||
|
|
||||||
// 27.8.2.2 Assign and swap:
|
// 27.8.2.2 Assign and swap:
|
||||||
basic_istringstream& operator=(basic_istringstream&& __rhs);
|
basic_istringstream& operator=(basic_istringstream&& __rhs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void swap(basic_istringstream& __rhs);
|
void swap(basic_istringstream& __rhs);
|
||||||
|
|
||||||
// 27.8.2.3 Members:
|
// 27.8.2.3 Members:
|
||||||
@@ -597,7 +597,7 @@ basic_istringstream<_CharT, _Traits, _Allocator>::operator=(basic_istringstream&
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -670,7 +670,7 @@ public:
|
|||||||
|
|
||||||
// 27.8.2.2 Assign and swap:
|
// 27.8.2.2 Assign and swap:
|
||||||
basic_ostringstream& operator=(basic_ostringstream&& __rhs);
|
basic_ostringstream& operator=(basic_ostringstream&& __rhs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void swap(basic_ostringstream& __rhs);
|
void swap(basic_ostringstream& __rhs);
|
||||||
|
|
||||||
// 27.8.2.3 Members:
|
// 27.8.2.3 Members:
|
||||||
@@ -716,7 +716,7 @@ basic_ostringstream<_CharT, _Traits, _Allocator>::operator=(basic_ostringstream&
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -789,7 +789,7 @@ public:
|
|||||||
|
|
||||||
// 27.8.2.2 Assign and swap:
|
// 27.8.2.2 Assign and swap:
|
||||||
basic_stringstream& operator=(basic_stringstream&& __rhs);
|
basic_stringstream& operator=(basic_stringstream&& __rhs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void swap(basic_stringstream& __rhs);
|
void swap(basic_stringstream& __rhs);
|
||||||
|
|
||||||
// 27.8.2.3 Members:
|
// 27.8.2.3 Members:
|
||||||
@@ -835,7 +835,7 @@ basic_stringstream<_CharT, _Traits, _Allocator>::operator=(basic_stringstream&&
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
|
@@ -111,7 +111,7 @@ public:
|
|||||||
explicit stack(container_type&& __c) : c(_STD::move(__c)) {}
|
explicit stack(container_type&& __c) : c(_STD::move(__c)) {}
|
||||||
stack(stack&& __s) : c(_STD::move(__s.c)) {}
|
stack(stack&& __s) : c(_STD::move(__s.c)) {}
|
||||||
stack& operator=(stack&& __s) {c = _STD::move(__s.c); return *this;}
|
stack& operator=(stack&& __s) {c = _STD::move(__s.c); return *this;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _Alloc>
|
template <class _Alloc>
|
||||||
explicit stack(const _Alloc& __a,
|
explicit stack(const _Alloc& __a,
|
||||||
typename enable_if<uses_allocator<container_type,
|
typename enable_if<uses_allocator<container_type,
|
||||||
@@ -138,7 +138,7 @@ public:
|
|||||||
typename enable_if<uses_allocator<container_type,
|
typename enable_if<uses_allocator<container_type,
|
||||||
_Alloc>::value>::type* = 0)
|
_Alloc>::value>::type* = 0)
|
||||||
: c(_STD::move(__s.c), __a) {}
|
: c(_STD::move(__s.c), __a) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
bool empty() const {return c.empty();}
|
bool empty() const {return c.empty();}
|
||||||
size_type size() const {return c.size();}
|
size_type size() const {return c.size();}
|
||||||
@@ -150,7 +150,7 @@ public:
|
|||||||
void push(value_type&& __v) {c.push_back(_STD::move(__v));}
|
void push(value_type&& __v) {c.push_back(_STD::move(__v));}
|
||||||
template <class... _Args> void emplace(_Args&&... __args)
|
template <class... _Args> void emplace(_Args&&... __args)
|
||||||
{c.emplace_back(_STD::forward<_Args>(__args)...);}
|
{c.emplace_back(_STD::forward<_Args>(__args)...);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void pop() {c.pop_back();}
|
void pop() {c.pop_back();}
|
||||||
|
|
||||||
void swap(stack& __s)
|
void swap(stack& __s)
|
||||||
@@ -163,7 +163,7 @@ public:
|
|||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
operator==(const stack<T1, _C1>& __x, const stack<T1, _C1>& __y);
|
operator==(const stack<T1, _C1>& __x, const stack<T1, _C1>& __y);
|
||||||
|
|
||||||
template <class T1, class _C1>
|
template <class T1, class _C1>
|
||||||
friend
|
friend
|
||||||
bool
|
bool
|
||||||
|
@@ -155,7 +155,6 @@ public:
|
|||||||
virtual ~underflow_error() throw();
|
virtual ~underflow_error() throw();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // std
|
} // std
|
||||||
|
|
||||||
#endif // _LIBCPP_STDEXCEPT
|
#endif // _LIBCPP_STDEXCEPT
|
||||||
|
@@ -557,7 +557,6 @@ extern template class basic_streambuf<wchar_t>;
|
|||||||
extern template class basic_ios<char>;
|
extern template class basic_ios<char>;
|
||||||
extern template class basic_ios<wchar_t>;
|
extern template class basic_ios<wchar_t>;
|
||||||
|
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
#endif // _LIBCPP_STEAMBUF
|
#endif // _LIBCPP_STEAMBUF
|
||||||
|
@@ -71,11 +71,11 @@ struct char_traits
|
|||||||
template <> struct char_traits<char>;
|
template <> struct char_traits<char>;
|
||||||
template <> struct char_traits<wchar_t>;
|
template <> struct char_traits<wchar_t>;
|
||||||
|
|
||||||
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
|
template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> >
|
||||||
class basic_string
|
class basic_string
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// types:
|
// types:
|
||||||
typedef traits traits_type;
|
typedef traits traits_type;
|
||||||
typedef typename traits_type::char_type value_type;
|
typedef typename traits_type::char_type value_type;
|
||||||
typedef Allocator allocator_type;
|
typedef Allocator allocator_type;
|
||||||
@@ -290,7 +290,7 @@ bool operator==(const charT* lhs, const basic_string<charT, traits, Allocator>&
|
|||||||
template<class charT, class traits, class Allocator>
|
template<class charT, class traits, class Allocator>
|
||||||
bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs);
|
bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs);
|
||||||
|
|
||||||
template<class charT, class traits, class Allocator>
|
template<class charT, class traits, class Allocator>
|
||||||
bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
|
bool operator!=(const basic_string<charT,traits,Allocator>& lhs,
|
||||||
const basic_string<charT, traits, Allocator>& rhs);
|
const basic_string<charT, traits, Allocator>& rhs);
|
||||||
|
|
||||||
@@ -353,7 +353,7 @@ basic_ostream<charT, traits>&
|
|||||||
operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
|
operator<<(basic_ostream<charT, traits>& os, const basic_string<charT, traits, Allocator>& str);
|
||||||
|
|
||||||
template<class charT, class traits, class Allocator>
|
template<class charT, class traits, class Allocator>
|
||||||
basic_istream<charT, traits>&
|
basic_istream<charT, traits>&
|
||||||
getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
|
getline(basic_istream<charT, traits>& is, basic_string<charT, traits, Allocator>& str,
|
||||||
charT delim);
|
charT delim);
|
||||||
|
|
||||||
@@ -876,7 +876,7 @@ char_traits<char32_t>::assign(char_type* __s, size_t __n, char_type __a)
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
// basic_string
|
// basic_string
|
||||||
|
|
||||||
@@ -932,7 +932,7 @@ __basic_string_common<__b>::__throw_out_of_range() const
|
|||||||
|
|
||||||
extern template class __basic_string_common<true>;
|
extern template class __basic_string_common<true>;
|
||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
class basic_string
|
class basic_string
|
||||||
: private __basic_string_common<true>
|
: private __basic_string_common<true>
|
||||||
{
|
{
|
||||||
@@ -956,10 +956,10 @@ public:
|
|||||||
#elif defined(_LIBCPP_RAW_ITERATORS)
|
#elif defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef pointer iterator;
|
typedef pointer iterator;
|
||||||
typedef const_pointer const_iterator;
|
typedef const_pointer const_iterator;
|
||||||
#else
|
#else // defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef __wrap_iter<pointer> iterator;
|
typedef __wrap_iter<pointer> iterator;
|
||||||
typedef __wrap_iter<const_pointer> const_iterator;
|
typedef __wrap_iter<const_pointer> const_iterator;
|
||||||
#endif
|
#endif // defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
|
|
||||||
@@ -974,10 +974,10 @@ private:
|
|||||||
#if _LIBCPP_BIG_ENDIAN
|
#if _LIBCPP_BIG_ENDIAN
|
||||||
enum {__short_mask = 0x80};
|
enum {__short_mask = 0x80};
|
||||||
enum {__long_mask = ~(size_type(~0) >> 1)};
|
enum {__long_mask = ~(size_type(~0) >> 1)};
|
||||||
#else
|
#else // _LIBCPP_BIG_ENDIAN
|
||||||
enum {__short_mask = 0x01};
|
enum {__short_mask = 0x01};
|
||||||
enum {__long_mask = 0x1};
|
enum {__long_mask = 0x1};
|
||||||
#endif
|
#endif // _LIBCPP_BIG_ENDIAN
|
||||||
|
|
||||||
enum {__mask = size_type(~0) >> 1};
|
enum {__mask = size_type(~0) >> 1};
|
||||||
|
|
||||||
@@ -1034,7 +1034,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
basic_string(basic_string&& __str);
|
basic_string(basic_string&& __str);
|
||||||
basic_string(basic_string&& __str, const allocator_type& __a);
|
basic_string(basic_string&& __str, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
basic_string(const_pointer __s);
|
basic_string(const_pointer __s);
|
||||||
basic_string(const_pointer __s, const allocator_type& __a);
|
basic_string(const_pointer __s, const allocator_type& __a);
|
||||||
basic_string(const_pointer __s, size_type __n);
|
basic_string(const_pointer __s, size_type __n);
|
||||||
@@ -1307,7 +1307,7 @@ private:
|
|||||||
void __init(const_pointer __s, size_type __sz, size_type __reserve);
|
void __init(const_pointer __s, size_type __sz, size_type __reserve);
|
||||||
void __init(const_pointer __s, size_type __sz);
|
void __init(const_pointer __s, size_type __sz);
|
||||||
void __init(size_type __n, value_type __c);
|
void __init(size_type __n, value_type __c);
|
||||||
|
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
typename enable_if
|
typename enable_if
|
||||||
<
|
<
|
||||||
@@ -1326,7 +1326,7 @@ private:
|
|||||||
__init(_ForwardIterator __first, _ForwardIterator __last);
|
__init(_ForwardIterator __first, _ForwardIterator __last);
|
||||||
|
|
||||||
void __grow_by(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
|
void __grow_by(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
|
||||||
size_type __n_copy, size_type __n_del, size_type __n_add = 0);
|
size_type __n_copy, size_type __n_del, size_type __n_add = 0);
|
||||||
void __grow_by_and_replace(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
|
void __grow_by_and_replace(size_type __old_cap, size_type __delta_cap, size_type __old_sz,
|
||||||
size_type __n_copy, size_type __n_del,
|
size_type __n_copy, size_type __n_del,
|
||||||
size_type __n_add, const_pointer __p_new_stuff);
|
size_type __n_add, const_pointer __p_new_stuff);
|
||||||
@@ -1353,7 +1353,7 @@ basic_string<_CharT, _Traits, _Allocator>::__invalidate_all_iterators()
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
iterator::__remove_all(this);
|
iterator::__remove_all(this);
|
||||||
const_iterator::__remove_all(this);
|
const_iterator::__remove_all(this);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
@@ -1393,7 +1393,7 @@ basic_string<_CharT, _Traits, _Allocator>::__invalidate_iterators_past(size_type
|
|||||||
__p = __p->__next;
|
__p = __p->__next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
@@ -1586,7 +1586,6 @@ basic_string<_CharT, _Traits, _Allocator>::basic_string(size_type __n, value_typ
|
|||||||
__init(__n, __c);
|
__init(__n, __c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str, size_type __pos, size_type __n,
|
basic_string<_CharT, _Traits, _Allocator>::basic_string(const basic_string& __str, size_type __pos, size_type __n,
|
||||||
const allocator_type& __a)
|
const allocator_type& __a)
|
||||||
@@ -1612,7 +1611,7 @@ basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _Input
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __first != __last; ++__first)
|
for (; __first != __last; ++__first)
|
||||||
push_back(*__first);
|
push_back(*__first);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -1623,7 +1622,7 @@ basic_string<_CharT, _Traits, _Allocator>::__init(_InputIterator __first, _Input
|
|||||||
__alloc().deallocate(__get_long_pointer(), __get_long_cap());
|
__alloc().deallocate(__get_long_pointer(), __get_long_cap());
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits, class _Allocator>
|
template <class _CharT, class _Traits, class _Allocator>
|
||||||
@@ -2545,7 +2544,7 @@ basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __res_arg)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__new_data = __alloc().allocate(__res_arg+1);
|
__new_data = __alloc().allocate(__res_arg+1);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
@@ -2553,10 +2552,10 @@ basic_string<_CharT, _Traits, _Allocator>::reserve(size_type __res_arg)
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__new_data == 0)
|
if (__new_data == 0)
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
__now_long = true;
|
__now_long = true;
|
||||||
__was_long = __is_long();
|
__was_long = __is_long();
|
||||||
@@ -2690,7 +2689,7 @@ basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
__invalidate_all_iterators();
|
__invalidate_all_iterators();
|
||||||
__str.__invalidate_all_iterators();
|
__str.__invalidate_all_iterators();
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
// find
|
// find
|
||||||
@@ -3180,7 +3179,7 @@ operator==(const basic_string<wchar_t, char_traits<wchar_t>, _Allocator>& __lhs,
|
|||||||
|
|
||||||
// operator!=
|
// operator!=
|
||||||
|
|
||||||
template<class _CharT, class _Traits, class _Allocator>
|
template<class _CharT, class _Traits, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
bool
|
bool
|
||||||
operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
|
operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
|
||||||
@@ -3505,7 +3504,7 @@ struct __is_zero_default_constructible<basic_string<_CharT, _Traits, _Allocator>
|
|||||||
typedef basic_string<char16_t> u16string;
|
typedef basic_string<char16_t> u16string;
|
||||||
typedef basic_string<char32_t> u32string;
|
typedef basic_string<char32_t> u32string;
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
int stoi (const string& __str, size_t* __idx = 0, int __base = 10);
|
int stoi (const string& __str, size_t* __idx = 0, int __base = 10);
|
||||||
long stol (const string& __str, size_t* __idx = 0, int __base = 10);
|
long stol (const string& __str, size_t* __idx = 0, int __base = 10);
|
||||||
|
@@ -152,7 +152,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
strstreambuf(strstreambuf&& __rhs);
|
strstreambuf(strstreambuf&& __rhs);
|
||||||
strstreambuf& operator=(strstreambuf&& __rhs);
|
strstreambuf& operator=(strstreambuf&& __rhs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
virtual ~strstreambuf();
|
virtual ~strstreambuf();
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ public:
|
|||||||
__sb_ = _STD::move(__rhs.__sb_);
|
__sb_ = _STD::move(__rhs.__sb_);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
virtual ~istrstream();
|
virtual ~istrstream();
|
||||||
|
|
||||||
@@ -256,7 +256,7 @@ public:
|
|||||||
__sb_ = _STD::move(__rhs.__sb_);
|
__sb_ = _STD::move(__rhs.__sb_);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
virtual ~ostrstream();
|
virtual ~ostrstream();
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ public:
|
|||||||
__sb_ = _STD::move(__rhs.__sb_);
|
__sb_ = _STD::move(__rhs.__sb_);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
virtual ~strstream();
|
virtual ~strstream();
|
||||||
|
|
||||||
|
@@ -240,7 +240,6 @@ template <class _Tp> struct is_error_condition_enum
|
|||||||
// Some error codes are not present on all platforms, so we provide equivalents
|
// Some error codes are not present on all platforms, so we provide equivalents
|
||||||
// for them:
|
// for them:
|
||||||
|
|
||||||
|
|
||||||
//enum class errc
|
//enum class errc
|
||||||
struct errc
|
struct errc
|
||||||
{
|
{
|
||||||
|
@@ -181,10 +181,10 @@ class thread
|
|||||||
#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
||||||
thread(const thread&) = delete;
|
thread(const thread&) = delete;
|
||||||
thread& operator=(const thread&) = delete;
|
thread& operator=(const thread&) = delete;
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
||||||
thread(const thread&);
|
thread(const thread&);
|
||||||
thread& operator=(const thread&);
|
thread& operator=(const thread&);
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
|
||||||
public:
|
public:
|
||||||
typedef __thread_id id;
|
typedef __thread_id id;
|
||||||
typedef pthread_t native_handle_type;
|
typedef pthread_t native_handle_type;
|
||||||
@@ -198,7 +198,7 @@ public:
|
|||||||
>::type
|
>::type
|
||||||
>
|
>
|
||||||
explicit thread(_F&& __f, _Args&&... __args);
|
explicit thread(_F&& __f, _Args&&... __args);
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
template <class _F> explicit thread(_F __f);
|
template <class _F> explicit thread(_F __f);
|
||||||
#endif
|
#endif
|
||||||
~thread();
|
~thread();
|
||||||
@@ -206,7 +206,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
thread(thread&& __t) : __t_(__t.__t_) {__t.__t_ = 0;}
|
thread(thread&& __t) : __t_(__t.__t_) {__t.__t_ = 0;}
|
||||||
thread& operator=(thread&& __t);
|
thread& operator=(thread&& __t);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void swap(thread& __t) {_STD::swap(__t_, __t.__t_);}
|
void swap(thread& __t) {_STD::swap(__t_, __t.__t_);}
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ thread::thread(_F&& __f, _Args&&... __args)
|
|||||||
__throw_system_error(__ec, "thread constructor failed");
|
__throw_system_error(__ec, "thread constructor failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _F>
|
template <class _F>
|
||||||
thread::thread(_F __f)
|
thread::thread(_F __f)
|
||||||
@@ -258,7 +258,7 @@ thread::thread(_F __f)
|
|||||||
__throw_system_error(__ec, "thread constructor failed");
|
__throw_system_error(__ec, "thread constructor failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
|
|
||||||
@@ -273,12 +273,11 @@ thread::operator=(thread&& __t)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void swap(thread& __x, thread& __y) {__x.swap(__y);}
|
void swap(thread& __x, thread& __y) {__x.swap(__y);}
|
||||||
|
|
||||||
|
|
||||||
namespace this_thread
|
namespace this_thread
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@@ -392,7 +392,7 @@ struct __tuple_impl<__tuple_indices<_Indx...>, _Tp...>
|
|||||||
>
|
>
|
||||||
__tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
|
__tuple_impl(allocator_arg_t, const _Alloc& __a, _Tuple&& __t)
|
||||||
: __tuple_leaf<_Indx, _Tp>(__uses_alloc_ctor<_Tp, _Alloc, typename tuple_element<_Indx,
|
: __tuple_leaf<_Indx, _Tp>(__uses_alloc_ctor<_Tp, _Alloc, typename tuple_element<_Indx,
|
||||||
typename __make_tuple_types<_Tuple>::type>::type>(), __a,
|
typename __make_tuple_types<_Tuple>::type>::type>(), __a,
|
||||||
_STD::forward<typename tuple_element<_Indx,
|
_STD::forward<typename tuple_element<_Indx,
|
||||||
typename __make_tuple_types<_Tuple>::type>::type>(_STD::get<_Indx>(__t)))...
|
typename __make_tuple_types<_Tuple>::type>::type>(_STD::get<_Indx>(__t)))...
|
||||||
{}
|
{}
|
||||||
@@ -798,7 +798,7 @@ pair<_T1, _T2>::pair(piecewise_construct_t,
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@@ -41,7 +41,7 @@ namespace std
|
|||||||
template <class T> struct is_union;
|
template <class T> struct is_union;
|
||||||
template <class T> struct is_class;
|
template <class T> struct is_class;
|
||||||
template <class T> struct is_function;
|
template <class T> struct is_function;
|
||||||
|
|
||||||
// Secondary classification traits:
|
// Secondary classification traits:
|
||||||
template <class T> struct is_reference;
|
template <class T> struct is_reference;
|
||||||
template <class T> struct is_arithmetic;
|
template <class T> struct is_arithmetic;
|
||||||
@@ -50,7 +50,7 @@ namespace std
|
|||||||
template <class T> struct is_scalar;
|
template <class T> struct is_scalar;
|
||||||
template <class T> struct is_object;
|
template <class T> struct is_object;
|
||||||
template <class T> struct is_compound;
|
template <class T> struct is_compound;
|
||||||
|
|
||||||
// Const-volatile properties and transformations:
|
// Const-volatile properties and transformations:
|
||||||
template <class T> struct is_const;
|
template <class T> struct is_const;
|
||||||
template <class T> struct is_volatile;
|
template <class T> struct is_volatile;
|
||||||
@@ -60,28 +60,28 @@ namespace std
|
|||||||
template <class T> struct add_const;
|
template <class T> struct add_const;
|
||||||
template <class T> struct add_volatile;
|
template <class T> struct add_volatile;
|
||||||
template <class T> struct add_cv;
|
template <class T> struct add_cv;
|
||||||
|
|
||||||
// Reference transformations:
|
// Reference transformations:
|
||||||
template <class T> struct remove_reference;
|
template <class T> struct remove_reference;
|
||||||
template <class T> struct add_lvalue_reference;
|
template <class T> struct add_lvalue_reference;
|
||||||
template <class T> struct add_rvalue_reference;
|
template <class T> struct add_rvalue_reference;
|
||||||
|
|
||||||
// Pointer transformations:
|
// Pointer transformations:
|
||||||
template <class T> struct remove_pointer;
|
template <class T> struct remove_pointer;
|
||||||
template <class T> struct add_pointer;
|
template <class T> struct add_pointer;
|
||||||
|
|
||||||
// Integral properties:
|
// Integral properties:
|
||||||
template <class T> struct is_signed;
|
template <class T> struct is_signed;
|
||||||
template <class T> struct is_unsigned;
|
template <class T> struct is_unsigned;
|
||||||
template <class T> struct make_signed;
|
template <class T> struct make_signed;
|
||||||
template <class T> struct make_unsigned;
|
template <class T> struct make_unsigned;
|
||||||
|
|
||||||
// Array properties and transformations:
|
// Array properties and transformations:
|
||||||
template <class T> struct rank;
|
template <class T> struct rank;
|
||||||
template <class T, unsigned I = 0> struct extent;
|
template <class T, unsigned I = 0> struct extent;
|
||||||
template <class T> struct remove_extent;
|
template <class T> struct remove_extent;
|
||||||
template <class T> struct remove_all_extents;
|
template <class T> struct remove_all_extents;
|
||||||
|
|
||||||
// Member introspection:
|
// Member introspection:
|
||||||
template <class T> struct is_pod;
|
template <class T> struct is_pod;
|
||||||
template <class T> struct is_trivial;
|
template <class T> struct is_trivial;
|
||||||
@@ -110,13 +110,13 @@ namespace std
|
|||||||
template <class T> struct has_nothrow_copy_assign;
|
template <class T> struct has_nothrow_copy_assign;
|
||||||
template <class T> struct has_nothrow_move_assign;
|
template <class T> struct has_nothrow_move_assign;
|
||||||
template <class T> struct has_virtual_destructor;
|
template <class T> struct has_virtual_destructor;
|
||||||
|
|
||||||
// Relationships between types:
|
// Relationships between types:
|
||||||
template <class T, class U> struct is_same;
|
template <class T, class U> struct is_same;
|
||||||
template <class Base, class Derived> struct is_base_of;
|
template <class Base, class Derived> struct is_base_of;
|
||||||
template <class From, class To> struct is_convertible;
|
template <class From, class To> struct is_convertible;
|
||||||
template <class T> struct underlying_type;
|
template <class T> struct underlying_type;
|
||||||
|
|
||||||
// Alignment properties and transformations:
|
// Alignment properties and transformations:
|
||||||
template <class T> struct alignment_of;
|
template <class T> struct alignment_of;
|
||||||
template <size_t Len, size_t Align = most_stringent_alignment_requirement>
|
template <size_t Len, size_t Align = most_stringent_alignment_requirement>
|
||||||
@@ -206,7 +206,7 @@ template <> struct __is_integral<wchar_t> : public true_type
|
|||||||
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
|
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
template <> struct __is_integral<char16_t> : public true_type {};
|
template <> struct __is_integral<char16_t> : public true_type {};
|
||||||
template <> struct __is_integral<char32_t> : public true_type {};
|
template <> struct __is_integral<char32_t> : public true_type {};
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
template <> struct __is_integral<short> : public true_type {};
|
template <> struct __is_integral<short> : public true_type {};
|
||||||
template <> struct __is_integral<unsigned short> : public true_type {};
|
template <> struct __is_integral<unsigned short> : public true_type {};
|
||||||
template <> struct __is_integral<int> : public true_type {};
|
template <> struct __is_integral<int> : public true_type {};
|
||||||
@@ -262,12 +262,12 @@ template <class _Tp> struct is_reference<_Tp&&> : public true_type {};
|
|||||||
|
|
||||||
template <class _Tp> struct is_union : public integral_constant<bool, __is_union(_Tp)> {};
|
template <class _Tp> struct is_union : public integral_constant<bool, __is_union(_Tp)> {};
|
||||||
|
|
||||||
#else
|
#else // __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
|
||||||
|
|
||||||
template <class _Tp> struct __libcpp_union : public false_type {};
|
template <class _Tp> struct __libcpp_union : public false_type {};
|
||||||
template <class _Tp> struct is_union : public __libcpp_union<typename remove_cv<_Tp>::type> {};
|
template <class _Tp> struct is_union : public __libcpp_union<typename remove_cv<_Tp>::type> {};
|
||||||
|
|
||||||
#endif
|
#endif // __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
|
||||||
|
|
||||||
// is_class
|
// is_class
|
||||||
|
|
||||||
@@ -421,7 +421,7 @@ template <> struct add_rvalue_reference<const void> {typedef c
|
|||||||
template <> struct add_rvalue_reference<volatile void> {typedef volatile void type;};
|
template <> struct add_rvalue_reference<volatile void> {typedef volatile void type;};
|
||||||
template <> struct add_rvalue_reference<const volatile void> {typedef const volatile void type;};
|
template <> struct add_rvalue_reference<const volatile void> {typedef const volatile void type;};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
// remove_pointer
|
// remove_pointer
|
||||||
|
|
||||||
@@ -566,7 +566,7 @@ template <class _T1> struct __is_convertible<_T1, _T1&&, 1, 0> : true_type {};
|
|||||||
template <class _T1> struct __is_convertible<_T1, const _T1&&, 1, 0> : true_type {};
|
template <class _T1> struct __is_convertible<_T1, const _T1&&, 1, 0> : true_type {};
|
||||||
template <class _T1> struct __is_convertible<_T1, volatile _T1&&, 1, 0> : true_type {};
|
template <class _T1> struct __is_convertible<_T1, volatile _T1&&, 1, 0> : true_type {};
|
||||||
template <class _T1> struct __is_convertible<_T1, const volatile _T1&&, 1, 0> : true_type {};
|
template <class _T1> struct __is_convertible<_T1, const volatile _T1&&, 1, 0> : true_type {};
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _T1, class _T2> struct __is_convertible<_T1, _T2*, 1, 0>
|
template <class _T1, class _T2> struct __is_convertible<_T1, _T2*, 1, 0>
|
||||||
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*>::value> {};
|
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*>::value> {};
|
||||||
@@ -580,7 +580,6 @@ template <class _T1, class _T2> struct __is_convertible<_T1, _T2* volatile, 1, 0
|
|||||||
template <class _T1, class _T2> struct __is_convertible<_T1, _T2* const volatile, 1, 0>
|
template <class _T1, class _T2> struct __is_convertible<_T1, _T2* const volatile, 1, 0>
|
||||||
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*const volatile>::value> {};
|
: public integral_constant<bool, __is_convertible<typename remove_all_extents<_T1>::type*, _T2*const volatile>::value> {};
|
||||||
|
|
||||||
|
|
||||||
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 0> : public false_type {};
|
template <class _T1, class _T2> struct __is_convertible<_T1, _T2, 2, 0> : public false_type {};
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _T1> struct __is_convertible<_T1, _T1&&, 2, 0> : public true_type {};
|
template <class _T1> struct __is_convertible<_T1, _T1&&, 2, 0> : public true_type {};
|
||||||
@@ -888,7 +887,6 @@ template <class _A1, class _A2 = void, class _A3 = void,
|
|||||||
(is_arithmetic<_A3>::value || is_void<_A3>::value)>
|
(is_arithmetic<_A3>::value || is_void<_A3>::value)>
|
||||||
class __promote {};
|
class __promote {};
|
||||||
|
|
||||||
|
|
||||||
template <class _A1, class _A2, class _A3>
|
template <class _A1, class _A2, class _A3>
|
||||||
class __promote<_A1, _A2, _A3, true>
|
class __promote<_A1, _A2, _A3, true>
|
||||||
{
|
{
|
||||||
@@ -1074,7 +1072,6 @@ public:
|
|||||||
typedef typename common_type<typename common_type<_Tp, _Up>::type, V>::type type;
|
typedef typename common_type<typename common_type<_Tp, _Up>::type, V>::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct common_type<_Tp, void, void>
|
struct common_type<_Tp, void, void>
|
||||||
{
|
{
|
||||||
@@ -1089,16 +1086,16 @@ private:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
static _Tp&& __t();
|
static _Tp&& __t();
|
||||||
static _Up&& __u();
|
static _Up&& __u();
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
static _Tp __t();
|
static _Tp __t();
|
||||||
static _Up __u();
|
static _Up __u();
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
static bool __f();
|
static bool __f();
|
||||||
public:
|
public:
|
||||||
typedef decltype(__f() ? __t() : __u()) type;
|
typedef decltype(__f() ? __t() : __u()) type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class ..._Tp> struct common_type;
|
template <class ..._Tp> struct common_type;
|
||||||
|
|
||||||
@@ -1125,7 +1122,7 @@ struct common_type<_Tp, _Up, _Vp...>
|
|||||||
typedef typename common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
|
typedef typename common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
// move
|
// move
|
||||||
|
|
||||||
@@ -1275,13 +1272,13 @@ template <class _Tp>
|
|||||||
typename add_rvalue_reference<_Tp>::type
|
typename add_rvalue_reference<_Tp>::type
|
||||||
declval();
|
declval();
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
typename add_lvalue_reference<_Tp>::type
|
typename add_lvalue_reference<_Tp>::type
|
||||||
declval();
|
declval();
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct decay
|
struct decay
|
||||||
@@ -1381,7 +1378,7 @@ class __result_of<_Fn(_Tp, _ArgTypes...), false> // _Fn must be member pointer
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // 0
|
||||||
|
|
||||||
// result_of
|
// result_of
|
||||||
|
|
||||||
@@ -1397,7 +1394,7 @@ class result_of<_Fn(_ArgTypes...)>
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
template <class _Fn>
|
template <class _Fn>
|
||||||
class __result_of<_Fn(), true>
|
class __result_of<_Fn(), true>
|
||||||
@@ -1475,7 +1472,7 @@ class result_of<_Fn(_A0, _A1, _A2)>
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
@@ -1516,7 +1513,7 @@ struct __is_constructible<false, _R(_A1...), _A2...>
|
|||||||
// Scalars are default constructible, references are not
|
// Scalars are default constructible, references are not
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
struct __is_constructible<true, _Tp>
|
struct __is_constructible<true, _Tp>
|
||||||
: public is_scalar<_Tp>
|
: public is_scalar<_Tp>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
@@ -1531,7 +1528,7 @@ struct __is_constructible_ref
|
|||||||
};
|
};
|
||||||
|
|
||||||
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>::__(declval<_A0>()))
|
||||||
@@ -1541,7 +1538,7 @@ struct __is_constructible<true, _Tp, _A0>
|
|||||||
// Scalars and references are not constructible from multiple args.
|
// Scalars and references are not constructible from multiple args.
|
||||||
|
|
||||||
template <class _Tp, class _A0, class ..._Args>
|
template <class _Tp, class _A0, class ..._Args>
|
||||||
struct __is_constructible<true, _Tp, _A0, _Args...>
|
struct __is_constructible<true, _Tp, _A0, _Args...>
|
||||||
: public false_type
|
: public false_type
|
||||||
{};
|
{};
|
||||||
|
|
||||||
@@ -1602,7 +1599,7 @@ struct __is_constructible<false, _A[], _Args...>
|
|||||||
: public false_type
|
: public false_type
|
||||||
{};
|
{};
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE
|
||||||
|
|
||||||
template <class _Tp> struct __is_zero_default_constructible
|
template <class _Tp> struct __is_zero_default_constructible
|
||||||
: public integral_constant<bool, is_scalar<_Tp>::value || is_empty<_Tp>::value> {};
|
: public integral_constant<bool, is_scalar<_Tp>::value || is_empty<_Tp>::value> {};
|
||||||
|
@@ -21,14 +21,14 @@ class type_info
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual ~type_info();
|
virtual ~type_info();
|
||||||
|
|
||||||
bool operator==(const type_info& rhs) const;
|
bool operator==(const type_info& rhs) const;
|
||||||
bool operator!=(const type_info& rhs) const;
|
bool operator!=(const type_info& rhs) const;
|
||||||
|
|
||||||
bool before(const type_info& rhs) const;
|
bool before(const type_info& rhs) const;
|
||||||
size_t hash_code() const throw();
|
size_t hash_code() const throw();
|
||||||
const char* name() const;
|
const char* name() const;
|
||||||
|
|
||||||
type_info(const type_info& rhs) = delete;
|
type_info(const type_info& rhs) = delete;
|
||||||
type_info& operator=(const type_info& rhs) = delete;
|
type_info& operator=(const type_info& rhs) = delete;
|
||||||
};
|
};
|
||||||
@@ -63,11 +63,10 @@ public:
|
|||||||
|
|
||||||
#pragma GCC system_header
|
#pragma GCC system_header
|
||||||
|
|
||||||
|
|
||||||
namespace std // purposefully not using versioning namespace
|
namespace std // purposefully not using versioning namespace
|
||||||
{
|
{
|
||||||
|
|
||||||
class _LIBCPP_EXCEPTION_ABI type_info
|
class _LIBCPP_EXCEPTION_ABI type_info
|
||||||
{
|
{
|
||||||
type_info& operator=(const type_info&);
|
type_info& operator=(const type_info&);
|
||||||
type_info(const type_info&);
|
type_info(const type_info&);
|
||||||
@@ -95,7 +94,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class _LIBCPP_EXCEPTION_ABI bad_cast
|
class _LIBCPP_EXCEPTION_ABI bad_cast
|
||||||
: public exception
|
: public exception
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bad_cast() throw();
|
bad_cast() throw();
|
||||||
@@ -104,7 +103,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class _LIBCPP_EXCEPTION_ABI bad_typeid
|
class _LIBCPP_EXCEPTION_ABI bad_typeid
|
||||||
: public exception
|
: public exception
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bad_typeid() throw();
|
bad_typeid() throw();
|
||||||
@@ -112,9 +111,6 @@ public:
|
|||||||
virtual const char* what() const throw();
|
virtual const char* what() const throw();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // std
|
} // std
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __LIBCPP_TYPEINFO
|
#endif // __LIBCPP_TYPEINFO
|
||||||
|
@@ -325,7 +325,7 @@ public:
|
|||||||
{return static_cast<const _Pred&>(*this)(__x, __y.first);}
|
{return static_cast<const _Pred&>(*this)(__x, __y.first);}
|
||||||
bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
|
bool operator()(const _Tp& __x, const typename _Tp::first_type& __y) const
|
||||||
{return static_cast<const _Pred&>(*this)(__x.first, __y);}
|
{return static_cast<const _Pred&>(*this)(__x.first, __y);}
|
||||||
bool operator()(const typename _Tp::first_type& __x,
|
bool operator()(const typename _Tp::first_type& __x,
|
||||||
const typename _Tp::first_type& __y) const
|
const typename _Tp::first_type& __y) const
|
||||||
{return static_cast<const _Pred&>(*this)(__x, __y);}
|
{return static_cast<const _Pred&>(*this)(__x, __y);}
|
||||||
};
|
};
|
||||||
@@ -383,7 +383,7 @@ public:
|
|||||||
{
|
{
|
||||||
__x.__value_constructed = false;
|
__x.__value_constructed = false;
|
||||||
}
|
}
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
|
__hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
|
||||||
: __na_(__x.__na_),
|
: __na_(__x.__na_),
|
||||||
__first_constructed(__x.__value_constructed),
|
__first_constructed(__x.__value_constructed),
|
||||||
@@ -391,7 +391,7 @@ public:
|
|||||||
{
|
{
|
||||||
const_cast<bool&>(__x.__value_constructed) = false;
|
const_cast<bool&>(__x.__value_constructed) = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
void operator()(pointer __p)
|
void operator()(pointer __p)
|
||||||
{
|
{
|
||||||
@@ -576,7 +576,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
unordered_map(unordered_map&& __u);
|
unordered_map(unordered_map&& __u);
|
||||||
unordered_map(unordered_map&& __u, const allocator_type& __a);
|
unordered_map(unordered_map&& __u, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
unordered_map(initializer_list<value_type> __il);
|
unordered_map(initializer_list<value_type> __il);
|
||||||
unordered_map(initializer_list<value_type> __il, size_type __n,
|
unordered_map(initializer_list<value_type> __il, size_type __n,
|
||||||
const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
|
const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
|
||||||
@@ -630,7 +630,7 @@ public:
|
|||||||
iterator emplace_hint(const_iterator, _A0&& __a0, _Args&&... __args)
|
iterator emplace_hint(const_iterator, _A0&& __a0, _Args&&... __args)
|
||||||
{return emplace(_STD::forward<_A0>(__a0),
|
{return emplace(_STD::forward<_A0>(__a0),
|
||||||
_STD::forward<_Args>(__args)...).first;}
|
_STD::forward<_Args>(__args)...).first;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
pair<iterator, bool> insert(const value_type& __x)
|
pair<iterator, bool> insert(const value_type& __x)
|
||||||
{return __table_.__insert_unique(__x);}
|
{return __table_.__insert_unique(__x);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
@@ -638,7 +638,7 @@ public:
|
|||||||
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
||||||
pair<iterator, bool> insert(_P&& __x)
|
pair<iterator, bool> insert(_P&& __x)
|
||||||
{return __table_.__insert_unique(_STD::forward<_P>(__x));}
|
{return __table_.__insert_unique(_STD::forward<_P>(__x));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator, const value_type& __x)
|
iterator insert(const_iterator, const value_type& __x)
|
||||||
{return insert(__x).first;}
|
{return insert(__x).first;}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
@@ -646,7 +646,7 @@ public:
|
|||||||
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
||||||
iterator insert(const_iterator, _P&& __x)
|
iterator insert(const_iterator, _P&& __x)
|
||||||
{return insert(_STD::forward<_P>(__x)).first;}
|
{return insert(_STD::forward<_P>(__x)).first;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __first, _InputIterator __last);
|
void insert(_InputIterator __first, _InputIterator __last);
|
||||||
void insert(initializer_list<value_type> __il)
|
void insert(initializer_list<value_type> __il)
|
||||||
@@ -709,7 +709,7 @@ private:
|
|||||||
template <class _A0,
|
template <class _A0,
|
||||||
class = typename enable_if<is_convertible<_A0, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_A0, value_type>::value>::type>
|
||||||
__node_holder __construct_node(_A0&& __a0);
|
__node_holder __construct_node(_A0&& __a0);
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
__node_holder __construct_node(const key_type& __k);
|
__node_holder __construct_node(const key_type& __k);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
@@ -812,7 +812,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
|
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(
|
||||||
@@ -852,7 +852,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_map&& __u)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
inline
|
inline
|
||||||
@@ -916,7 +916,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace(_A0&& __a0, _Args&&... _
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
|
typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
|
||||||
@@ -931,7 +931,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__construct_node(const key_type&
|
|||||||
return _STD::move(__h);
|
return _STD::move(__h);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
@@ -972,7 +972,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](key_type&& __k)
|
|||||||
return __r.first->second;
|
return __r.first->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
_Tp&
|
_Tp&
|
||||||
@@ -982,7 +982,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__i == end())
|
if (__i == end())
|
||||||
throw out_of_range("unordered_map::at: key not found");
|
throw out_of_range("unordered_map::at: key not found");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __i->second;
|
return __i->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -994,7 +994,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k) const
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
if (__i == end())
|
if (__i == end())
|
||||||
throw out_of_range("unordered_map::at: key not found");
|
throw out_of_range("unordered_map::at: key not found");
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
return __i->second;
|
return __i->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1107,7 +1107,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
unordered_multimap(unordered_multimap&& __u);
|
unordered_multimap(unordered_multimap&& __u);
|
||||||
unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
|
unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
unordered_multimap(initializer_list<value_type> __il);
|
unordered_multimap(initializer_list<value_type> __il);
|
||||||
unordered_multimap(initializer_list<value_type> __il, size_type __n,
|
unordered_multimap(initializer_list<value_type> __il, size_type __n,
|
||||||
const hasher& __hf = hasher(),
|
const hasher& __hf = hasher(),
|
||||||
@@ -1160,14 +1160,14 @@ public:
|
|||||||
template <class _A0, class... _Args,
|
template <class _A0, class... _Args,
|
||||||
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
class = typename enable_if<is_convertible<_A0, key_type>::value>::type>
|
||||||
iterator emplace_hint(const_iterator __p, _A0&& __a0, _Args&&... __args);
|
iterator emplace_hint(const_iterator __p, _A0&& __a0, _Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
|
iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
template <class _P,
|
template <class _P,
|
||||||
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
||||||
iterator insert(_P&& __x)
|
iterator insert(_P&& __x)
|
||||||
{return __table_.__insert_multi(_STD::forward<_P>(__x));}
|
{return __table_.__insert_multi(_STD::forward<_P>(__x));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, const value_type& __x)
|
iterator insert(const_iterator __p, const value_type& __x)
|
||||||
{return __table_.__insert_multi(__p.__i_, __x);}
|
{return __table_.__insert_multi(__p.__i_, __x);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
@@ -1175,7 +1175,7 @@ public:
|
|||||||
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_P, value_type>::value>::type>
|
||||||
iterator insert(const_iterator __p, _P&& __x)
|
iterator insert(const_iterator __p, _P&& __x)
|
||||||
{return __table_.__insert_multi(__p.__i_, _STD::forward<_P>(__x));}
|
{return __table_.__insert_multi(__p.__i_, _STD::forward<_P>(__x));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __first, _InputIterator __last);
|
void insert(_InputIterator __first, _InputIterator __last);
|
||||||
void insert(initializer_list<value_type> __il)
|
void insert(initializer_list<value_type> __il)
|
||||||
@@ -1230,7 +1230,7 @@ private:
|
|||||||
template <class _A0,
|
template <class _A0,
|
||||||
class = typename enable_if<is_convertible<_A0, value_type>::value>::type>
|
class = typename enable_if<is_convertible<_A0, value_type>::value>::type>
|
||||||
__node_holder __construct_node(_A0&& __a0);
|
__node_holder __construct_node(_A0&& __a0);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
@@ -1280,7 +1280,6 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
|||||||
insert(__first, __last);
|
insert(__first, __last);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
inline
|
inline
|
||||||
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
||||||
@@ -1334,7 +1333,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
|
||||||
@@ -1374,7 +1373,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(unordered_multima
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
inline
|
inline
|
||||||
@@ -1452,7 +1451,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::emplace_hint(
|
|||||||
return __r;
|
return __r;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
|
@@ -320,7 +320,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
unordered_set(unordered_set&& __u);
|
unordered_set(unordered_set&& __u);
|
||||||
unordered_set(unordered_set&& __u, const allocator_type& __a);
|
unordered_set(unordered_set&& __u, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
unordered_set(initializer_list<value_type> __il);
|
unordered_set(initializer_list<value_type> __il);
|
||||||
unordered_set(initializer_list<value_type> __il, size_type __n,
|
unordered_set(initializer_list<value_type> __il, size_type __n,
|
||||||
const hasher& __hf = hasher(),
|
const hasher& __hf = hasher(),
|
||||||
@@ -356,19 +356,19 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace_hint(const_iterator, _Args&&... __args)
|
iterator emplace_hint(const_iterator, _Args&&... __args)
|
||||||
{return __table_.__emplace_unique(_STD::forward<_Args>(__args)...).first;}
|
{return __table_.__emplace_unique(_STD::forward<_Args>(__args)...).first;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
pair<iterator, bool> insert(const value_type& __x)
|
pair<iterator, bool> insert(const value_type& __x)
|
||||||
{return __table_.__insert_unique(__x);}
|
{return __table_.__insert_unique(__x);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
pair<iterator, bool> insert(value_type&& __x)
|
pair<iterator, bool> insert(value_type&& __x)
|
||||||
{return __table_.__insert_unique(_STD::move(__x));}
|
{return __table_.__insert_unique(_STD::move(__x));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator, const value_type& __x)
|
iterator insert(const_iterator, const value_type& __x)
|
||||||
{return insert(__x).first;}
|
{return insert(__x).first;}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator, value_type&& __x)
|
iterator insert(const_iterator, value_type&& __x)
|
||||||
{return insert(_STD::move(__x)).first;}
|
{return insert(_STD::move(__x)).first;}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __first, _InputIterator __last);
|
void insert(_InputIterator __first, _InputIterator __last);
|
||||||
void insert(initializer_list<value_type> __il)
|
void insert(initializer_list<value_type> __il)
|
||||||
@@ -508,7 +508,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
||||||
unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
|
unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(
|
||||||
@@ -548,7 +548,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(unordered_set&& __u)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
||||||
inline
|
inline
|
||||||
@@ -659,7 +659,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
unordered_multiset(unordered_multiset&& __u);
|
unordered_multiset(unordered_multiset&& __u);
|
||||||
unordered_multiset(unordered_multiset&& __u, const allocator_type& __a);
|
unordered_multiset(unordered_multiset&& __u, const allocator_type& __a);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
unordered_multiset(initializer_list<value_type> __il);
|
unordered_multiset(initializer_list<value_type> __il);
|
||||||
unordered_multiset(initializer_list<value_type> __il, size_type __n,
|
unordered_multiset(initializer_list<value_type> __il, size_type __n,
|
||||||
const hasher& __hf = hasher(),
|
const hasher& __hf = hasher(),
|
||||||
@@ -695,7 +695,7 @@ public:
|
|||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
iterator emplace_hint(const_iterator __p, _Args&&... __args)
|
||||||
{return __table_.__emplace_hint_multi(__p, _STD::forward<_Args>(__args)...);}
|
{return __table_.__emplace_hint_multi(__p, _STD::forward<_Args>(__args)...);}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
|
iterator insert(const value_type& __x) {return __table_.__insert_multi(__x);}
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(value_type&& __x) {return __table_.__insert_multi(_STD::move(__x));}
|
iterator insert(value_type&& __x) {return __table_.__insert_multi(_STD::move(__x));}
|
||||||
@@ -705,7 +705,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __p, value_type&& __x)
|
iterator insert(const_iterator __p, value_type&& __x)
|
||||||
{return __table_.__insert_multi(__p, _STD::move(__x));}
|
{return __table_.__insert_multi(__p, _STD::move(__x));}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
void insert(_InputIterator __first, _InputIterator __last);
|
void insert(_InputIterator __first, _InputIterator __last);
|
||||||
void insert(initializer_list<value_type> __il)
|
void insert(initializer_list<value_type> __il)
|
||||||
@@ -846,7 +846,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
||||||
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
|
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
|
||||||
@@ -887,7 +887,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
template <class _Value, class _Hash, class _Pred, class _Alloc>
|
||||||
inline
|
inline
|
||||||
|
@@ -178,7 +178,7 @@ typename conditional
|
|||||||
const _Tp&,
|
const _Tp&,
|
||||||
_Tp&&
|
_Tp&&
|
||||||
>::type
|
>::type
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
const _Tp&
|
const _Tp&
|
||||||
#endif
|
#endif
|
||||||
move_if_noexcept(_Tp& __x)
|
move_if_noexcept(_Tp& __x)
|
||||||
@@ -233,7 +233,7 @@ struct pair
|
|||||||
template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
|
template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
|
||||||
pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args,
|
pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args,
|
||||||
tuple<_Args2...> __second_args)
|
tuple<_Args2...> __second_args)
|
||||||
: pair(__pc, __first_args, __second_args,
|
: pair(__pc, __first_args, __second_args,
|
||||||
typename __make_tuple_indices<sizeof...(_Args1)>::type(),
|
typename __make_tuple_indices<sizeof...(_Args1)>::type(),
|
||||||
typename __make_tuple_indices<sizeof...(_Args2) >::type())
|
typename __make_tuple_indices<sizeof...(_Args2) >::type())
|
||||||
{}
|
{}
|
||||||
@@ -251,22 +251,22 @@ struct pair
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
template<class _U1, class _U2>
|
template<class _U1, class _U2>
|
||||||
_LIBCPP_INLINE_VISIBILITY pair(const pair<_U1, _U2>& __p)
|
_LIBCPP_INLINE_VISIBILITY pair(const pair<_U1, _U2>& __p)
|
||||||
: first(__p.first), second(__p.second) {}
|
: first(__p.first), second(__p.second) {}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void _LIBCPP_INLINE_VISIBILITY swap(pair& __p) {_STD::swap(*this, __p);}
|
void _LIBCPP_INLINE_VISIBILITY swap(pair& __p) {_STD::swap(*this, __p);}
|
||||||
private:
|
private:
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
|
template <class... _Args1, class... _Args2, size_t... _I1, size_t... _I2>
|
||||||
pair(piecewise_construct_t,
|
pair(piecewise_construct_t,
|
||||||
tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args,
|
tuple<_Args1...>& __first_args, tuple<_Args2...>& __second_args,
|
||||||
__tuple_indices<_I1...>, __tuple_indices<_I2...>);
|
__tuple_indices<_I1...>, __tuple_indices<_I2...>);
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class _T1, class _T2>
|
template <class _T1, class _T2>
|
||||||
@@ -357,7 +357,7 @@ make_pair(_T1&& __t1, _T2&& __t2)
|
|||||||
(_STD::forward<_T1>(__t1), _STD::forward<_T2>(__t2));
|
(_STD::forward<_T1>(__t1), _STD::forward<_T2>(__t2));
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _T1, class _T2>
|
template <class _T1, class _T2>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
@@ -367,7 +367,7 @@ make_pair(_T1 __x, _T2 __y)
|
|||||||
return pair<_T1, _T2>(__x, __y);
|
return pair<_T1, _T2>(__x, __y);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
#ifndef _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
@@ -455,7 +455,7 @@ get(const pair<_T1, _T2>& __p)
|
|||||||
return __get_pair<_Ip>::get(__p);
|
return __get_pair<_Ip>::get(__p);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_HAS_NO_VARIADICS
|
||||||
|
|
||||||
_LIBCPP_END_NAMESPACE_STD
|
_LIBCPP_END_NAMESPACE_STD
|
||||||
|
|
||||||
|
@@ -798,7 +798,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
valarray(valarray&& __v);
|
valarray(valarray&& __v);
|
||||||
valarray(initializer_list<value_type> __il);
|
valarray(initializer_list<value_type> __il);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
valarray(const slice_array<value_type>& __sa);
|
valarray(const slice_array<value_type>& __sa);
|
||||||
valarray(const gslice_array<value_type>& __ga);
|
valarray(const gslice_array<value_type>& __ga);
|
||||||
valarray(const mask_array<value_type>& __ma);
|
valarray(const mask_array<value_type>& __ma);
|
||||||
@@ -810,7 +810,7 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
valarray& operator=(valarray&& __v);
|
valarray& operator=(valarray&& __v);
|
||||||
valarray& operator=(initializer_list<value_type>);
|
valarray& operator=(initializer_list<value_type>);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
valarray& operator=(const value_type& __x);
|
valarray& operator=(const value_type& __x);
|
||||||
valarray& operator=(const slice_array<value_type>& __sa);
|
valarray& operator=(const slice_array<value_type>& __sa);
|
||||||
valarray& operator=(const gslice_array<value_type>& __ga);
|
valarray& operator=(const gslice_array<value_type>& __ga);
|
||||||
@@ -832,19 +832,19 @@ public:
|
|||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
|
__val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
|
||||||
gslice_array<value_type> operator[](gslice&& __gs);
|
gslice_array<value_type> operator[](gslice&& __gs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
__val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;
|
__val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;
|
||||||
mask_array<value_type> operator[](const valarray<bool>& __vb);
|
mask_array<value_type> operator[](const valarray<bool>& __vb);
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;
|
__val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;
|
||||||
mask_array<value_type> operator[](valarray<bool>&& __vb);
|
mask_array<value_type> operator[](valarray<bool>&& __vb);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
__val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
|
__val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
|
||||||
indirect_array<value_type> operator[](const valarray<size_t>& __vs);
|
indirect_array<value_type> operator[](const valarray<size_t>& __vs);
|
||||||
#ifdef _LIBCPP_MOVE
|
#ifdef _LIBCPP_MOVE
|
||||||
__val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
|
__val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
|
||||||
indirect_array<value_type> operator[](valarray<size_t>&& __vs);
|
indirect_array<value_type> operator[](valarray<size_t>&& __vs);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
// unary operators:
|
// unary operators:
|
||||||
valarray operator+() const;
|
valarray operator+() const;
|
||||||
@@ -974,17 +974,17 @@ private:
|
|||||||
friend
|
friend
|
||||||
_Up*
|
_Up*
|
||||||
begin(valarray<_Up>& __v);
|
begin(valarray<_Up>& __v);
|
||||||
|
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
friend
|
friend
|
||||||
const _Up*
|
const _Up*
|
||||||
begin(const valarray<_Up>& __v);
|
begin(const valarray<_Up>& __v);
|
||||||
|
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
friend
|
friend
|
||||||
_Up*
|
_Up*
|
||||||
end(valarray<_Up>& __v);
|
end(valarray<_Up>& __v);
|
||||||
|
|
||||||
template <class _Up>
|
template <class _Up>
|
||||||
friend
|
friend
|
||||||
const _Up*
|
const _Up*
|
||||||
@@ -1383,7 +1383,7 @@ class gslice
|
|||||||
valarray<size_t> __size_;
|
valarray<size_t> __size_;
|
||||||
valarray<size_t> __stride_;
|
valarray<size_t> __stride_;
|
||||||
valarray<size_t> __1d_;
|
valarray<size_t> __1d_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
gslice() {}
|
gslice() {}
|
||||||
@@ -1418,7 +1418,7 @@ public:
|
|||||||
__stride_(move(__stride))
|
__stride_(move(__stride))
|
||||||
{__init(__start);}
|
{__init(__start);}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
// gslice(const gslice&) = default;
|
// gslice(const gslice&) = default;
|
||||||
// gslice(gslice&&) = default;
|
// gslice(gslice&&) = default;
|
||||||
@@ -1567,7 +1567,7 @@ private:
|
|||||||
__1d_(move(__gs.__1d_))
|
__1d_(move(__gs.__1d_))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class> friend class valarray;
|
template <class> friend class valarray;
|
||||||
};
|
};
|
||||||
@@ -2240,7 +2240,7 @@ private:
|
|||||||
__1d_(move(__ia))
|
__1d_(move(__ia))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class> friend class valarray;
|
template <class> friend class valarray;
|
||||||
};
|
};
|
||||||
@@ -2457,7 +2457,7 @@ private:
|
|||||||
__1d_(move(__ia))
|
__1d_(move(__ia))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
public:
|
public:
|
||||||
_LIBCPP_ALWAYS_INLINE
|
_LIBCPP_ALWAYS_INLINE
|
||||||
@@ -2652,7 +2652,7 @@ valarray<_Tp>::valarray(const value_type* __p, size_t __n)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __n; ++__end_, ++__p, --__n)
|
for (; __n; ++__end_, ++__p, --__n)
|
||||||
::new (__end_) value_type(*__p);
|
::new (__end_) value_type(*__p);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2662,7 +2662,7 @@ valarray<_Tp>::valarray(const value_type* __p, size_t __n)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2677,7 +2677,7 @@ valarray<_Tp>::valarray(const valarray& __v)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (value_type* __p = __v.__begin_; __p != __v.__end_; ++__end_, ++__p)
|
for (value_type* __p = __v.__begin_; __p != __v.__end_; ++__end_, ++__p)
|
||||||
::new (__end_) value_type(*__p);
|
::new (__end_) value_type(*__p);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2687,7 +2687,7 @@ valarray<_Tp>::valarray(const valarray& __v)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2714,7 +2714,7 @@ valarray<_Tp>::valarray(initializer_list<value_type> __il)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (const value_type* __p = __il.begin(); __n; ++__end_, ++__p, --__n)
|
for (const value_type* __p = __il.begin(); __n; ++__end_, ++__p, --__n)
|
||||||
::new (__end_) value_type(*__p);
|
::new (__end_) value_type(*__p);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2724,11 +2724,11 @@ valarray<_Tp>::valarray(initializer_list<value_type> __il)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
|
valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
|
||||||
@@ -2742,7 +2742,7 @@ valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (const value_type* __p = __sa.__vp_; __n; ++__end_, __p += __sa.__stride_, --__n)
|
for (const value_type* __p = __sa.__vp_; __n; ++__end_, __p += __sa.__stride_, --__n)
|
||||||
::new (__end_) value_type(*__p);
|
::new (__end_) value_type(*__p);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2752,7 +2752,7 @@ valarray<_Tp>::valarray(const slice_array<value_type>& __sa)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2768,7 +2768,7 @@ valarray<_Tp>::valarray(const gslice_array<value_type>& __ga)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef const size_t* _Ip;
|
typedef const size_t* _Ip;
|
||||||
const value_type* __s = __ga.__vp_;
|
const value_type* __s = __ga.__vp_;
|
||||||
for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
|
for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_;
|
||||||
@@ -2781,7 +2781,7 @@ valarray<_Tp>::valarray(const gslice_array<value_type>& __ga)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2797,7 +2797,7 @@ valarray<_Tp>::valarray(const mask_array<value_type>& __ma)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef const size_t* _Ip;
|
typedef const size_t* _Ip;
|
||||||
const value_type* __s = __ma.__vp_;
|
const value_type* __s = __ma.__vp_;
|
||||||
for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
|
for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_;
|
||||||
@@ -2810,7 +2810,7 @@ valarray<_Tp>::valarray(const mask_array<value_type>& __ma)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2826,7 +2826,7 @@ valarray<_Tp>::valarray(const indirect_array<value_type>& __ia)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
typedef const size_t* _Ip;
|
typedef const size_t* _Ip;
|
||||||
const value_type* __s = __ia.__vp_;
|
const value_type* __s = __ia.__vp_;
|
||||||
for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
|
for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_;
|
||||||
@@ -2839,7 +2839,7 @@ valarray<_Tp>::valarray(const indirect_array<value_type>& __ia)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2889,7 +2889,7 @@ valarray<_Tp>::operator=(initializer_list<value_type> __il)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_ALWAYS_INLINE
|
inline _LIBCPP_ALWAYS_INLINE
|
||||||
@@ -3004,7 +3004,7 @@ valarray<_Tp>::operator[](gslice&& __gs)
|
|||||||
return gslice_array<value_type>(move(__gs), *this);
|
return gslice_array<value_type>(move(__gs), *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_ALWAYS_INLINE
|
inline _LIBCPP_ALWAYS_INLINE
|
||||||
@@ -3040,7 +3040,7 @@ valarray<_Tp>::operator[](valarray<bool>&& __vb)
|
|||||||
return mask_array<value_type>(move(__vb), *this);
|
return mask_array<value_type>(move(__vb), *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
inline _LIBCPP_ALWAYS_INLINE
|
inline _LIBCPP_ALWAYS_INLINE
|
||||||
@@ -3076,7 +3076,7 @@ valarray<_Tp>::operator[](valarray<size_t>&& __vs)
|
|||||||
return indirect_array<value_type>(move(__vs), *this);
|
return indirect_array<value_type>(move(__vs), *this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp>
|
template <class _Tp>
|
||||||
valarray<_Tp>
|
valarray<_Tp>
|
||||||
@@ -3559,7 +3559,7 @@ valarray<_Tp>::resize(size_t __n, value_type __x)
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __n; --__n, ++__end_)
|
for (; __n; --__n, ++__end_)
|
||||||
::new (__end_) value_type(__x);
|
::new (__end_) value_type(__x);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -3569,7 +3569,7 @@ valarray<_Tp>::resize(size_t __n, value_type __x)
|
|||||||
resize(0);
|
resize(0);
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
118
include/vector
118
include/vector
@@ -17,11 +17,11 @@
|
|||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
|
|
||||||
template <class T, class Allocator = allocator<T> >
|
template <class T, class Allocator = allocator<T> >
|
||||||
class vector
|
class vector
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef T value_type;
|
typedef T value_type;
|
||||||
typedef Allocator allocator_type;
|
typedef Allocator allocator_type;
|
||||||
typedef typename allocator_type::reference reference;
|
typedef typename allocator_type::reference reference;
|
||||||
typedef typename allocator_type::const_reference const_reference;
|
typedef typename allocator_type::const_reference const_reference;
|
||||||
@@ -114,13 +114,13 @@ public:
|
|||||||
void swap(vector&);
|
void swap(vector&);
|
||||||
|
|
||||||
bool __invariants() const;
|
bool __invariants() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class Allocator = allocator<T> >
|
template <class Allocator = allocator<T> >
|
||||||
class vector<bool, Allocator>
|
class vector<bool, Allocator>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef bool value_type;
|
typedef bool value_type;
|
||||||
typedef Allocator allocator_type;
|
typedef Allocator allocator_type;
|
||||||
typedef implementation-defined iterator;
|
typedef implementation-defined iterator;
|
||||||
typedef implementation-defined const_iterator;
|
typedef implementation-defined const_iterator;
|
||||||
@@ -222,7 +222,7 @@ public:
|
|||||||
void flip();
|
void flip();
|
||||||
|
|
||||||
bool __invariants() const;
|
bool __invariants() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class Allocator> struct hash<std::vector<bool, Allocator>>;
|
template <class Allocator> struct hash<std::vector<bool, Allocator>>;
|
||||||
|
|
||||||
@@ -297,7 +297,7 @@ class __vector_base
|
|||||||
: protected __vector_base_common<true>
|
: protected __vector_base_common<true>
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
typedef _Tp value_type;
|
typedef _Tp value_type;
|
||||||
typedef _Allocator allocator_type;
|
typedef _Allocator allocator_type;
|
||||||
typedef allocator_traits<allocator_type> __alloc_traits;
|
typedef allocator_traits<allocator_type> __alloc_traits;
|
||||||
typedef value_type& reference;
|
typedef value_type& reference;
|
||||||
@@ -424,9 +424,9 @@ class vector
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
typedef __vector_base<_Tp, _Allocator> __base;
|
typedef __vector_base<_Tp, _Allocator> __base;
|
||||||
public:
|
public:
|
||||||
typedef vector __self;
|
typedef vector __self;
|
||||||
typedef _Tp value_type;
|
typedef _Tp value_type;
|
||||||
typedef _Allocator allocator_type;
|
typedef _Allocator allocator_type;
|
||||||
typedef typename __base::__alloc_traits __alloc_traits;
|
typedef typename __base::__alloc_traits __alloc_traits;
|
||||||
typedef typename __base::reference reference;
|
typedef typename __base::reference reference;
|
||||||
@@ -449,10 +449,10 @@ public:
|
|||||||
#elif defined(_LIBCPP_RAW_ITERATORS)
|
#elif defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef pointer iterator;
|
typedef pointer iterator;
|
||||||
typedef const_pointer const_iterator;
|
typedef const_pointer const_iterator;
|
||||||
#else
|
#else // defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef __wrap_iter<pointer> iterator;
|
typedef __wrap_iter<pointer> iterator;
|
||||||
typedef __wrap_iter<const_pointer> const_iterator;
|
typedef __wrap_iter<const_pointer> const_iterator;
|
||||||
#endif
|
#endif // defined(_LIBCPP_RAW_ITERATORS)
|
||||||
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
|
|
||||||
@@ -488,7 +488,7 @@ public:
|
|||||||
vector(vector&& __x);
|
vector(vector&& __x);
|
||||||
vector(vector&& __x, const allocator_type& __a);
|
vector(vector&& __x, const allocator_type& __a);
|
||||||
vector& operator=(vector&& __x);
|
vector& operator=(vector&& __x);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
vector& operator=(initializer_list<value_type> __il)
|
vector& operator=(initializer_list<value_type> __il)
|
||||||
{assign(__il.begin(), __il.end()); return *this;}
|
{assign(__il.begin(), __il.end()); return *this;}
|
||||||
|
|
||||||
@@ -556,7 +556,7 @@ public:
|
|||||||
void push_back(value_type&& __x);
|
void push_back(value_type&& __x);
|
||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
void emplace_back(_Args&&... __args);
|
void emplace_back(_Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
void pop_back();
|
void pop_back();
|
||||||
|
|
||||||
iterator insert(const_iterator __position, const_reference __x);
|
iterator insert(const_iterator __position, const_reference __x);
|
||||||
@@ -564,7 +564,7 @@ public:
|
|||||||
iterator insert(const_iterator __position, value_type&& __x);
|
iterator insert(const_iterator __position, value_type&& __x);
|
||||||
template <class... _Args>
|
template <class... _Args>
|
||||||
iterator emplace(const_iterator __position, _Args&&... __args);
|
iterator emplace(const_iterator __position, _Args&&... __args);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
iterator insert(const_iterator __position, size_type __n, const_reference __x);
|
iterator insert(const_iterator __position, size_type __n, const_reference __x);
|
||||||
template <class _InputIterator>
|
template <class _InputIterator>
|
||||||
typename enable_if
|
typename enable_if
|
||||||
@@ -1043,7 +1043,7 @@ vector<_Tp, _Allocator>::__move_assign(vector& __c, true_type)
|
|||||||
__c.__begin_ = __c.__end_ = __c.__end_cap() = nullptr;
|
__c.__begin_ = __c.__end_ = __c.__end_cap() = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
@@ -1128,7 +1128,7 @@ vector<_Tp, _Allocator>::assign(size_type __n, const_reference __u)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::iterator
|
typename vector<_Tp, _Allocator>::iterator
|
||||||
vector<_Tp, _Allocator>::__make_iter(pointer __p)
|
vector<_Tp, _Allocator>::__make_iter(pointer __p)
|
||||||
@@ -1140,7 +1140,7 @@ vector<_Tp, _Allocator>::__make_iter(pointer __p)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::const_iterator
|
typename vector<_Tp, _Allocator>::const_iterator
|
||||||
vector<_Tp, _Allocator>::__make_iter(const_pointer __p) const
|
vector<_Tp, _Allocator>::__make_iter(const_pointer __p) const
|
||||||
@@ -1152,7 +1152,7 @@ vector<_Tp, _Allocator>::__make_iter(const_pointer __p) const
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::iterator
|
typename vector<_Tp, _Allocator>::iterator
|
||||||
vector<_Tp, _Allocator>::begin()
|
vector<_Tp, _Allocator>::begin()
|
||||||
@@ -1160,7 +1160,7 @@ vector<_Tp, _Allocator>::begin()
|
|||||||
return __make_iter(this->__begin_);
|
return __make_iter(this->__begin_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::const_iterator
|
typename vector<_Tp, _Allocator>::const_iterator
|
||||||
vector<_Tp, _Allocator>::begin() const
|
vector<_Tp, _Allocator>::begin() const
|
||||||
@@ -1168,7 +1168,7 @@ vector<_Tp, _Allocator>::begin() const
|
|||||||
return __make_iter(this->__begin_);
|
return __make_iter(this->__begin_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::iterator
|
typename vector<_Tp, _Allocator>::iterator
|
||||||
vector<_Tp, _Allocator>::end()
|
vector<_Tp, _Allocator>::end()
|
||||||
@@ -1176,7 +1176,7 @@ vector<_Tp, _Allocator>::end()
|
|||||||
return __make_iter(this->__end_);
|
return __make_iter(this->__end_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::const_iterator
|
typename vector<_Tp, _Allocator>::const_iterator
|
||||||
vector<_Tp, _Allocator>::end() const
|
vector<_Tp, _Allocator>::end() const
|
||||||
@@ -1184,7 +1184,7 @@ vector<_Tp, _Allocator>::end() const
|
|||||||
return __make_iter(this->__end_);
|
return __make_iter(this->__end_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::reference
|
typename vector<_Tp, _Allocator>::reference
|
||||||
vector<_Tp, _Allocator>::operator[](size_type __n)
|
vector<_Tp, _Allocator>::operator[](size_type __n)
|
||||||
@@ -1195,7 +1195,7 @@ vector<_Tp, _Allocator>::operator[](size_type __n)
|
|||||||
return this->__begin_[__n];
|
return this->__begin_[__n];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
typename vector<_Tp, _Allocator>::const_reference
|
typename vector<_Tp, _Allocator>::const_reference
|
||||||
vector<_Tp, _Allocator>::operator[](size_type __n) const
|
vector<_Tp, _Allocator>::operator[](size_type __n) const
|
||||||
@@ -1206,7 +1206,7 @@ vector<_Tp, _Allocator>::operator[](size_type __n) const
|
|||||||
return this->__begin_[__n];
|
return this->__begin_[__n];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
typename vector<_Tp, _Allocator>::reference
|
typename vector<_Tp, _Allocator>::reference
|
||||||
vector<_Tp, _Allocator>::at(size_type __n)
|
vector<_Tp, _Allocator>::at(size_type __n)
|
||||||
{
|
{
|
||||||
@@ -1215,7 +1215,7 @@ vector<_Tp, _Allocator>::at(size_type __n)
|
|||||||
return this->__begin_[__n];
|
return this->__begin_[__n];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
typename vector<_Tp, _Allocator>::const_reference
|
typename vector<_Tp, _Allocator>::const_reference
|
||||||
vector<_Tp, _Allocator>::at(size_type __n) const
|
vector<_Tp, _Allocator>::at(size_type __n) const
|
||||||
{
|
{
|
||||||
@@ -1248,7 +1248,7 @@ vector<_Tp, _Allocator>::shrink_to_fit()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
allocator_type& __a = this->__alloc();
|
allocator_type& __a = this->__alloc();
|
||||||
__split_buffer<value_type, allocator_type&> __v(size(), 0, __a);
|
__split_buffer<value_type, allocator_type&> __v(size(), 0, __a);
|
||||||
__v.__construct_at_end(move_iterator<pointer>(this->__begin_),
|
__v.__construct_at_end(move_iterator<pointer>(this->__begin_),
|
||||||
@@ -1260,7 +1260,7 @@ vector<_Tp, _Allocator>::shrink_to_fit()
|
|||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1326,7 +1326,7 @@ vector<_Tp, _Allocator>::emplace_back(_Args&&... __args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
_LIBCPP_INLINE_VISIBILITY inline
|
_LIBCPP_INLINE_VISIBILITY inline
|
||||||
@@ -1465,7 +1465,7 @@ vector<_Tp, _Allocator>::emplace(const_iterator __position, _Args&&... __args)
|
|||||||
return __make_iter(__p);
|
return __make_iter(__p);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
typename vector<_Tp, _Allocator>::iterator
|
typename vector<_Tp, _Allocator>::iterator
|
||||||
@@ -1530,7 +1530,7 @@ vector<_Tp, _Allocator>::insert(const_iterator __position, _InputIterator __firs
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__v.__construct_at_end(__first, __last);
|
__v.__construct_at_end(__first, __last);
|
||||||
difference_type __old_size = __old_last - this->__begin_;
|
difference_type __old_size = __old_last - this->__begin_;
|
||||||
difference_type __old_p = __p - this->__begin_;
|
difference_type __old_p = __p - this->__begin_;
|
||||||
@@ -1544,7 +1544,7 @@ vector<_Tp, _Allocator>::insert(const_iterator __position, _InputIterator __firs
|
|||||||
erase(__make_iter(__old_last), end());
|
erase(__make_iter(__old_last), end());
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
__p = _STD::rotate(__p, __old_last, this->__end_);
|
__p = _STD::rotate(__p, __old_last, this->__end_);
|
||||||
insert(__make_iter(__p), move_iterator<iterator>(__v.begin()),
|
insert(__make_iter(__p), move_iterator<iterator>(__v.begin()),
|
||||||
@@ -1628,10 +1628,10 @@ vector<_Tp, _Allocator>::swap(vector& __x)
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
iterator::swap(this, &__x);
|
iterator::swap(this, &__x);
|
||||||
const_iterator::swap(this, &__x);
|
const_iterator::swap(this, &__x);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Tp, class _Allocator>
|
template <class _Tp, class _Allocator>
|
||||||
bool
|
bool
|
||||||
vector<_Tp, _Allocator>::__invariants() const
|
vector<_Tp, _Allocator>::__invariants() const
|
||||||
{
|
{
|
||||||
@@ -1662,7 +1662,7 @@ vector<_Tp, _Allocator>::__invalidate_all_iterators()
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
iterator::__remove_all(this);
|
iterator::__remove_all(this);
|
||||||
const_iterator::__remove_all(this);
|
const_iterator::__remove_all(this);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
// vector<bool>
|
// vector<bool>
|
||||||
@@ -1677,7 +1677,7 @@ class vector<bool, _Allocator>
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef vector __self;
|
typedef vector __self;
|
||||||
typedef bool value_type;
|
typedef bool value_type;
|
||||||
typedef _Allocator allocator_type;
|
typedef _Allocator allocator_type;
|
||||||
typedef allocator_traits<allocator_type> __alloc_traits;
|
typedef allocator_traits<allocator_type> __alloc_traits;
|
||||||
typedef __bit_reference<vector> reference;
|
typedef __bit_reference<vector> reference;
|
||||||
@@ -1697,10 +1697,10 @@ public:
|
|||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator*& __get_iterator_list(iterator*) {return __iterator_list_.first;}
|
_LIBCPP_INLINE_VISIBILITY iterator*& __get_iterator_list(iterator*) {return __iterator_list_.first;}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_iterator*& __get_iterator_list(const_iterator*) {return __iterator_list_.second;}
|
_LIBCPP_INLINE_VISIBILITY const_iterator*& __get_iterator_list(const_iterator*) {return __iterator_list_.second;}
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
typedef pointer iterator;
|
typedef pointer iterator;
|
||||||
typedef const_pointer const_iterator;
|
typedef const_pointer const_iterator;
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
typedef _STD::reverse_iterator<iterator> reverse_iterator;
|
||||||
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
typedef _STD::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||||
|
|
||||||
@@ -1765,7 +1765,7 @@ public:
|
|||||||
vector(vector&& __v);
|
vector(vector&& __v);
|
||||||
vector(vector&& __v, const allocator_type& __a);
|
vector(vector&& __v, const allocator_type& __a);
|
||||||
vector& operator=(vector&& __v);
|
vector& operator=(vector&& __v);
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
vector& operator=(initializer_list<value_type> __il)
|
vector& operator=(initializer_list<value_type> __il)
|
||||||
{assign(__il.begin(), __il.end()); return *this;}
|
{assign(__il.begin(), __il.end()); return *this;}
|
||||||
|
|
||||||
@@ -1887,14 +1887,14 @@ private:
|
|||||||
{return const_iterator(this, const_pointer(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word)));}
|
{return const_iterator(this, const_pointer(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word)));}
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator __const_iterator_cast(const_iterator __p)
|
_LIBCPP_INLINE_VISIBILITY iterator __const_iterator_cast(const_iterator __p)
|
||||||
{return iterator(this, pointer(const_cast<__storage_pointer>(__p.base().__seg_), __p.base().__ctz_));}
|
{return iterator(this, pointer(const_cast<__storage_pointer>(__p.base().__seg_), __p.base().__ctz_));}
|
||||||
#else
|
#else // _LIBCPP_DEBUG
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator __make_iter(size_type __pos)
|
_LIBCPP_INLINE_VISIBILITY iterator __make_iter(size_type __pos)
|
||||||
{return iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
|
{return iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
|
||||||
_LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_type __pos) const
|
_LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_type __pos) const
|
||||||
{return const_iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
|
{return const_iterator(__begin_ + __pos / __bits_per_word, static_cast<unsigned>(__pos % __bits_per_word));}
|
||||||
_LIBCPP_INLINE_VISIBILITY iterator __const_iterator_cast(const_iterator __p)
|
_LIBCPP_INLINE_VISIBILITY iterator __const_iterator_cast(const_iterator __p)
|
||||||
{return iterator(const_cast<__storage_pointer>(__p.__seg_), __p.__ctz_);}
|
{return iterator(const_cast<__storage_pointer>(__p.__seg_), __p.__ctz_);}
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
|
|
||||||
void __copy_assign_alloc(const vector& __v)
|
void __copy_assign_alloc(const vector& __v)
|
||||||
{__copy_assign_alloc(__v, integral_constant<bool,
|
{__copy_assign_alloc(__v, integral_constant<bool,
|
||||||
@@ -1954,7 +1954,7 @@ vector<bool, _Allocator>::__invalidate_all_iterators()
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
iterator::__remove_all(this);
|
iterator::__remove_all(this);
|
||||||
const_iterator::__remove_all(this);
|
const_iterator::__remove_all(this);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allocate space for __n objects
|
// Allocate space for __n objects
|
||||||
@@ -2112,7 +2112,7 @@ vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __first != __last; ++__first)
|
for (; __first != __last; ++__first)
|
||||||
push_back(*__first);
|
push_back(*__first);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2124,7 +2124,7 @@ vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
|
|||||||
__invalidate_all_iterators();
|
__invalidate_all_iterators();
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
@@ -2139,7 +2139,7 @@ vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
for (; __first != __last; ++__first)
|
for (; __first != __last; ++__first)
|
||||||
push_back(*__first);
|
push_back(*__first);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
@@ -2151,7 +2151,7 @@ vector<bool, _Allocator>::vector(_InputIterator __first, _InputIterator __last,
|
|||||||
__invalidate_all_iterators();
|
__invalidate_all_iterators();
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
@@ -2337,7 +2337,7 @@ vector<bool, _Allocator>::__move_assign(vector& __c, true_type)
|
|||||||
__c.__begin_ = nullptr;
|
__c.__begin_ = nullptr;
|
||||||
__c.__cap() = __c.__size_ = 0;
|
__c.__cap() = __c.__size_ = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_MOVE
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
void
|
void
|
||||||
@@ -2420,14 +2420,14 @@ vector<bool, _Allocator>::shrink_to_fit()
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
vector(*this, allocator_type(__alloc())).swap(*this);
|
vector(*this, allocator_type(__alloc())).swap(*this);
|
||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2534,7 +2534,7 @@ vector<bool, _Allocator>::insert(const_iterator __position, _InputIterator __fir
|
|||||||
#ifndef _LIBCPP_NO_EXCEPTIONS
|
#ifndef _LIBCPP_NO_EXCEPTIONS
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
__v.assign(__first, __last);
|
__v.assign(__first, __last);
|
||||||
difference_type __old_size = static_cast<difference_type>(__old_end - begin());
|
difference_type __old_size = static_cast<difference_type>(__old_end - begin());
|
||||||
difference_type __old_p = __p - begin();
|
difference_type __old_p = __p - begin();
|
||||||
@@ -2548,7 +2548,7 @@ vector<bool, _Allocator>::insert(const_iterator __position, _InputIterator __fir
|
|||||||
erase(__old_end, end());
|
erase(__old_end, end());
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
#endif
|
#endif // _LIBCPP_NO_EXCEPTIONS
|
||||||
}
|
}
|
||||||
__p = _STD::rotate(__p, __old_end, end());
|
__p = _STD::rotate(__p, __old_end, end());
|
||||||
insert(__p, __v.begin(), __v.end());
|
insert(__p, __v.begin(), __v.end());
|
||||||
@@ -2620,10 +2620,10 @@ vector<bool, _Allocator>::swap(vector& __x)
|
|||||||
#ifdef _LIBCPP_DEBUG
|
#ifdef _LIBCPP_DEBUG
|
||||||
iterator::swap(this, &__x);
|
iterator::swap(this, &__x);
|
||||||
const_iterator::swap(this, &__x);
|
const_iterator::swap(this, &__x);
|
||||||
#endif
|
#endif // _LIBCPP_DEBUG
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
void
|
void
|
||||||
vector<bool, _Allocator>::resize(size_type __sz, value_type __x)
|
vector<bool, _Allocator>::resize(size_type __sz, value_type __x)
|
||||||
{
|
{
|
||||||
@@ -2652,7 +2652,7 @@ vector<bool, _Allocator>::resize(size_type __sz, value_type __x)
|
|||||||
__size_ = __sz;
|
__size_ = __sz;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
void
|
void
|
||||||
vector<bool, _Allocator>::flip()
|
vector<bool, _Allocator>::flip()
|
||||||
{
|
{
|
||||||
@@ -2671,7 +2671,7 @@ vector<bool, _Allocator>::flip()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
bool
|
bool
|
||||||
vector<bool, _Allocator>::__invariants() const
|
vector<bool, _Allocator>::__invariants() const
|
||||||
{
|
{
|
||||||
@@ -2690,7 +2690,7 @@ vector<bool, _Allocator>::__invariants() const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class _Allocator>
|
template <class _Allocator>
|
||||||
size_t
|
size_t
|
||||||
vector<bool, _Allocator>::__hash_code() const
|
vector<bool, _Allocator>::__hash_code() const
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user