Commit 33ac58d5 by Jonathan Wakely Committed by Jonathan Wakely

Remove trailing whitespace from libstdc++ headers

	* include/std/array: Remove trailing whitespace.
	* include/std/atomic: Likewise.
	* include/std/bitset: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/fstream: Likewise.
	* include/std/functional: Likewise.
	* include/std/future: Likewise.
	* include/std/iomanip: Likewise.
	* include/std/iosfwd: Likewise.
	* include/std/istream: Likewise.
	* include/std/limits: Likewise.
	* include/std/ratio: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/sstream: Likewise.
	* include/std/stdexcept: Likewise.
	* include/std/string: Likewise.
	* include/std/system_error: Likewise.
	* include/std/thread: Likewise.
	* include/std/tuple: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/utility: Likewise.
	* include/std/valarray: Likewise.
	* include/std/vector: Likewise.

From-SVN: r237528
parent 1dc8d15b
2016-06-16 Jonathan Wakely <jwakely@redhat.com> 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
* include/std/array: Remove trailing whitespace.
* include/std/atomic: Likewise.
* include/std/bitset: Likewise.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/std/condition_variable: Likewise.
* include/std/fstream: Likewise.
* include/std/functional: Likewise.
* include/std/future: Likewise.
* include/std/iomanip: Likewise.
* include/std/iosfwd: Likewise.
* include/std/istream: Likewise.
* include/std/limits: Likewise.
* include/std/ratio: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/sstream: Likewise.
* include/std/stdexcept: Likewise.
* include/std/string: Likewise.
* include/std/system_error: Likewise.
* include/std/thread: Likewise.
* include/std/tuple: Likewise.
* include/std/type_traits: Likewise.
* include/std/utility: Likewise.
* include/std/valarray: Likewise.
* include/std/vector: Likewise.
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
new overloaded functions. new overloaded functions.
* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
......
...@@ -134,19 +134,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -134,19 +134,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
end() const noexcept end() const noexcept
{ return const_iterator(data() + _Nm); } { return const_iterator(data() + _Nm); }
reverse_iterator reverse_iterator
rbegin() noexcept rbegin() noexcept
{ return reverse_iterator(end()); } { return reverse_iterator(end()); }
const_reverse_iterator const_reverse_iterator
rbegin() const noexcept rbegin() const noexcept
{ return const_reverse_iterator(end()); } { return const_reverse_iterator(end()); }
reverse_iterator reverse_iterator
rend() noexcept rend() noexcept
{ return reverse_iterator(begin()); } { return reverse_iterator(begin()); }
const_reverse_iterator const_reverse_iterator
rend() const noexcept rend() const noexcept
{ return const_reverse_iterator(begin()); } { return const_reverse_iterator(begin()); }
...@@ -158,22 +158,22 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -158,22 +158,22 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
cend() const noexcept cend() const noexcept
{ return const_iterator(data() + _Nm); } { return const_iterator(data() + _Nm); }
const_reverse_iterator const_reverse_iterator
crbegin() const noexcept crbegin() const noexcept
{ return const_reverse_iterator(end()); } { return const_reverse_iterator(end()); }
const_reverse_iterator const_reverse_iterator
crend() const noexcept crend() const noexcept
{ return const_reverse_iterator(begin()); } { return const_reverse_iterator(begin()); }
// Capacity. // Capacity.
constexpr size_type constexpr size_type
size() const noexcept { return _Nm; } size() const noexcept { return _Nm; }
constexpr size_type constexpr size_type
max_size() const noexcept { return _Nm; } max_size() const noexcept { return _Nm; }
constexpr bool constexpr bool
empty() const noexcept { return size() == 0; } empty() const noexcept { return size() == 0; }
// Element access. // Element access.
...@@ -207,22 +207,22 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -207,22 +207,22 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_AT_Type::_S_ref(_M_elems, 0)); _AT_Type::_S_ref(_M_elems, 0));
} }
reference reference
front() noexcept front() noexcept
{ return *begin(); } { return *begin(); }
constexpr const_reference constexpr const_reference
front() const noexcept front() const noexcept
{ return _AT_Type::_S_ref(_M_elems, 0); } { return _AT_Type::_S_ref(_M_elems, 0); }
reference reference
back() noexcept back() noexcept
{ return _Nm ? *(end() - 1) : *end(); } { return _Nm ? *(end() - 1) : *end(); }
constexpr const_reference constexpr const_reference
back() const noexcept back() const noexcept
{ {
return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
: _AT_Type::_S_ref(_M_elems, 0); : _AT_Type::_S_ref(_M_elems, 0);
} }
...@@ -237,7 +237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -237,7 +237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
// Array comparisons. // Array comparisons.
template<typename _Tp, std::size_t _Nm> template<typename _Tp, std::size_t _Nm>
inline bool inline bool
operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
{ return std::equal(__one.begin(), __one.end(), __two.begin()); } { return std::equal(__one.begin(), __one.end(), __two.begin()); }
...@@ -249,9 +249,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -249,9 +249,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template<typename _Tp, std::size_t _Nm> template<typename _Tp, std::size_t _Nm>
inline bool inline bool
operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
{ {
return std::lexicographical_compare(__a.begin(), __a.end(), return std::lexicographical_compare(__a.begin(), __a.end(),
__b.begin(), __b.end()); __b.begin(), __b.end());
} }
template<typename _Tp, std::size_t _Nm> template<typename _Tp, std::size_t _Nm>
...@@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Tuple interface to class template array. // Tuple interface to class template array.
/// tuple_size /// tuple_size
template<typename _Tp> template<typename _Tp>
class tuple_size; class tuple_size;
/// Partial specialization for std::array /// Partial specialization for std::array
......
...@@ -198,11 +198,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -198,11 +198,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return load(); } { return load(); }
_Tp _Tp
operator=(_Tp __i) noexcept operator=(_Tp __i) noexcept
{ store(__i); return __i; } { store(__i); return __i; }
_Tp _Tp
operator=(_Tp __i) volatile noexcept operator=(_Tp __i) volatile noexcept
{ store(__i); return __i; } { store(__i); return __i; }
bool bool
...@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tp _Tp
load(memory_order __m = memory_order_seq_cst) const noexcept load(memory_order __m = memory_order_seq_cst) const noexcept
{ {
_Tp tmp; _Tp tmp;
__atomic_load(std::__addressof(_M_i), std::__addressof(tmp), __m); __atomic_load(std::__addressof(_M_i), std::__addressof(tmp), __m);
return tmp; return tmp;
...@@ -239,7 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -239,7 +239,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tp _Tp
load(memory_order __m = memory_order_seq_cst) const volatile noexcept load(memory_order __m = memory_order_seq_cst) const volatile noexcept
{ {
_Tp tmp; _Tp tmp;
__atomic_load(std::__addressof(_M_i), std::__addressof(tmp), __m); __atomic_load(std::__addressof(_M_i), std::__addressof(tmp), __m);
return tmp; return tmp;
...@@ -247,7 +247,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -247,7 +247,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tp _Tp
exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept
{ {
_Tp tmp; _Tp tmp;
__atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
std::__addressof(tmp), __m); std::__addressof(tmp), __m);
...@@ -255,9 +255,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -255,9 +255,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
_Tp _Tp
exchange(_Tp __i, exchange(_Tp __i,
memory_order __m = memory_order_seq_cst) volatile noexcept memory_order __m = memory_order_seq_cst) volatile noexcept
{ {
_Tp tmp; _Tp tmp;
__atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i),
std::__addressof(tmp), __m); std::__addressof(tmp), __m);
...@@ -265,7 +265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -265,7 +265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
bool bool
compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
memory_order __f) noexcept memory_order __f) noexcept
{ {
return __atomic_compare_exchange(std::__addressof(_M_i), return __atomic_compare_exchange(std::__addressof(_M_i),
...@@ -275,7 +275,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -275,7 +275,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
bool bool
compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s,
memory_order __f) volatile noexcept memory_order __f) volatile noexcept
{ {
return __atomic_compare_exchange(std::__addressof(_M_i), return __atomic_compare_exchange(std::__addressof(_M_i),
...@@ -297,7 +297,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -297,7 +297,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__cmpexch_failure_order(__m)); } __cmpexch_failure_order(__m)); }
bool bool
compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
memory_order __f) noexcept memory_order __f) noexcept
{ {
return __atomic_compare_exchange(std::__addressof(_M_i), return __atomic_compare_exchange(std::__addressof(_M_i),
...@@ -307,7 +307,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -307,7 +307,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
bool bool
compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s,
memory_order __f) volatile noexcept memory_order __f) volatile noexcept
{ {
return __atomic_compare_exchange(std::__addressof(_M_i), return __atomic_compare_exchange(std::__addressof(_M_i),
......
...@@ -245,7 +245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -245,7 +245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_w[__n] = _M_w[__n - __wshift]; _M_w[__n] = _M_w[__n - __wshift];
else else
{ {
const size_t __sub_offset = (_GLIBCXX_BITSET_BITS_PER_WORD const size_t __sub_offset = (_GLIBCXX_BITSET_BITS_PER_WORD
- __offset); - __offset);
for (size_t __n = _Nw - 1; __n > __wshift; --__n) for (size_t __n = _Nw - 1; __n > __wshift; --__n)
_M_w[__n] = ((_M_w[__n - __wshift] << __offset) _M_w[__n] = ((_M_w[__n - __wshift] << __offset)
...@@ -279,7 +279,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -279,7 +279,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
| (_M_w[__n + __wshift + 1] << __sub_offset)); | (_M_w[__n + __wshift + 1] << __sub_offset));
_M_w[__limit] = _M_w[_Nw-1] >> __offset; _M_w[__limit] = _M_w[_Nw-1] >> __offset;
} }
std::fill(_M_w + __limit + 1, _M_w + _Nw, static_cast<_WordT>(0)); std::fill(_M_w + __limit + 1, _M_w + _Nw, static_cast<_WordT>(0));
} }
} }
...@@ -556,7 +556,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -556,7 +556,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_WordT& _WordT&
_M_getword(size_t) _GLIBCXX_NOEXCEPT _M_getword(size_t) _GLIBCXX_NOEXCEPT
{ {
__throw_out_of_range(__N("_Base_bitset::_M_getword")); __throw_out_of_range(__N("_Base_bitset::_M_getword"));
return *new _WordT; return *new _WordT;
} }
...@@ -659,7 +659,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -659,7 +659,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
typedef unsigned long _WordT; typedef unsigned long _WordT;
static void static void
_S_do_sanitize(_WordT) _GLIBCXX_NOEXCEPT { } _S_do_sanitize(_WordT) _GLIBCXX_NOEXCEPT { }
}; };
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
...@@ -773,7 +773,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -773,7 +773,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
void void
_M_do_sanitize() _GLIBCXX_NOEXCEPT _M_do_sanitize() _GLIBCXX_NOEXCEPT
{ {
typedef _Sanitize<_Nb % _GLIBCXX_BITSET_BITS_PER_WORD> __sanitize_type; typedef _Sanitize<_Nb % _GLIBCXX_BITSET_BITS_PER_WORD> __sanitize_type;
__sanitize_type::_S_do_sanitize(this->_M_hiword()); __sanitize_type::_S_do_sanitize(this->_M_hiword());
} }
...@@ -801,10 +801,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -801,10 +801,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_WordT* _M_wp; _WordT* _M_wp;
size_t _M_bpos; size_t _M_bpos;
// left undefined // left undefined
reference(); reference();
public: public:
reference(bitset& __b, size_t __pos) _GLIBCXX_NOEXCEPT reference(bitset& __b, size_t __pos) _GLIBCXX_NOEXCEPT
{ {
...@@ -981,7 +981,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -981,7 +981,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this; return *this;
} }
//@} //@}
//@{ //@{
/** /**
* Operations on bitsets. * Operations on bitsets.
...@@ -1015,7 +1015,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1015,7 +1015,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this; return *this;
} }
//@} //@}
//@{ //@{
/** /**
* These versions of single-bit set, reset, flip, and test are * These versions of single-bit set, reset, flip, and test are
...@@ -1058,7 +1058,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1058,7 +1058,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return ((this->_M_getword(__pos) & _Base::_S_maskbit(__pos)) { return ((this->_M_getword(__pos) & _Base::_S_maskbit(__pos))
!= static_cast<_WordT>(0)); } != static_cast<_WordT>(0)); }
//@} //@}
// Set, reset, and flip. // Set, reset, and flip.
/** /**
* @brief Sets every bit to true. * @brief Sets every bit to true.
...@@ -1107,7 +1107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1107,7 +1107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_check(__position, __N("bitset::reset")); this->_M_check(__position, __N("bitset::reset"));
return _Unchecked_reset(__position); return _Unchecked_reset(__position);
} }
/** /**
* @brief Toggles every bit to its opposite value. * @brief Toggles every bit to its opposite value.
*/ */
...@@ -1130,7 +1130,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1130,7 +1130,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_check(__position, __N("bitset::flip")); this->_M_check(__position, __N("bitset::flip"));
return _Unchecked_flip(__position); return _Unchecked_flip(__position);
} }
/// See the no-argument flip(). /// See the no-argument flip().
bitset<_Nb> bitset<_Nb>
operator~() const _GLIBCXX_NOEXCEPT operator~() const _GLIBCXX_NOEXCEPT
...@@ -1159,7 +1159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1159,7 +1159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
operator[](size_t __position) const operator[](size_t __position) const
{ return _Unchecked_test(__position); } { return _Unchecked_test(__position); }
//@} //@}
/** /**
* @brief Returns a numerical interpretation of the %bitset. * @brief Returns a numerical interpretation of the %bitset.
* @return The integral equivalent of the bits. * @return The integral equivalent of the bits.
...@@ -1302,7 +1302,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1302,7 +1302,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
operator!=(const bitset<_Nb>& __rhs) const _GLIBCXX_NOEXCEPT operator!=(const bitset<_Nb>& __rhs) const _GLIBCXX_NOEXCEPT
{ return !this->_M_is_equal(__rhs); } { return !this->_M_is_equal(__rhs); }
//@} //@}
/** /**
* @brief Tests the value of a bit. * @brief Tests the value of a bit.
* @param __position The index of a bit. * @param __position The index of a bit.
...@@ -1352,7 +1352,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1352,7 +1352,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
operator>>(size_t __position) const _GLIBCXX_NOEXCEPT operator>>(size_t __position) const _GLIBCXX_NOEXCEPT
{ return bitset<_Nb>(*this) >>= __position; } { return bitset<_Nb>(*this) >>= __position; }
//@} //@}
/** /**
* @brief Finds the index of the first "on" bit. * @brief Finds the index of the first "on" bit.
* @return The index of the first bit set, or size() if not found. * @return The index of the first bit set, or size() if not found.
...@@ -1482,7 +1482,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1482,7 +1482,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
for (size_t __i = _Nb; __i > 0; --__i) for (size_t __i = _Nb; __i > 0; --__i)
{ {
static typename _Traits::int_type __eof = _Traits::eof(); static typename _Traits::int_type __eof = _Traits::eof();
typename _Traits::int_type __c1 = __is.rdbuf()->sbumpc(); typename _Traits::int_type __c1 = __is.rdbuf()->sbumpc();
if (_Traits::eq_int_type(__c1, __eof)) if (_Traits::eq_int_type(__c1, __eof))
{ {
...@@ -1508,7 +1508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER ...@@ -1508,7 +1508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
} }
__catch(__cxxabiv1::__forced_unwind&) __catch(__cxxabiv1::__forced_unwind&)
{ {
__is._M_setstate(__ios_base::badbit); __is._M_setstate(__ios_base::badbit);
__throw_exception_again; __throw_exception_again;
} }
__catch(...) __catch(...)
......
...@@ -72,7 +72,7 @@ namespace std _GLIBCXX_VISIBILITY(default) ...@@ -72,7 +72,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
// 20.11.4.3 specialization of common_type (for duration, sfinae-friendly) // 20.11.4.3 specialization of common_type (for duration, sfinae-friendly)
template<typename _CT, typename _Period1, typename _Period2> template<typename _CT, typename _Period1, typename _Period2>
struct __duration_common_type_wrapper struct __duration_common_type_wrapper
{ {
...@@ -98,7 +98,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -98,7 +98,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ }; { };
// 20.11.4.3 specialization of common_type (for time_point, sfinae-friendly) // 20.11.4.3 specialization of common_type (for time_point, sfinae-friendly)
template<typename _CT, typename _Clock> template<typename _CT, typename _Clock>
struct __timepoint_common_type_wrapper struct __timepoint_common_type_wrapper
{ {
...@@ -625,11 +625,11 @@ _GLIBCXX_END_NAMESPACE_VERSION ...@@ -625,11 +625,11 @@ _GLIBCXX_END_NAMESPACE_VERSION
typename common_type<duration<_Rep1, _Period1>, _Dur2>::type> typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
operator+(const duration<_Rep1, _Period1>& __lhs, operator+(const duration<_Rep1, _Period1>& __lhs,
const time_point<_Clock, _Dur2>& __rhs) const time_point<_Clock, _Dur2>& __rhs)
{ {
typedef duration<_Rep1, _Period1> __dur1; typedef duration<_Rep1, _Period1> __dur1;
typedef typename common_type<__dur1,_Dur2>::type __ct; typedef typename common_type<__dur1,_Dur2>::type __ct;
typedef time_point<_Clock, __ct> __time_point; typedef time_point<_Clock, __ct> __time_point;
return __time_point(__rhs.time_since_epoch() + __lhs); return __time_point(__rhs.time_since_epoch() + __lhs);
} }
template<typename _Clock, typename _Dur1, template<typename _Clock, typename _Dur1,
...@@ -638,11 +638,11 @@ _GLIBCXX_END_NAMESPACE_VERSION ...@@ -638,11 +638,11 @@ _GLIBCXX_END_NAMESPACE_VERSION
typename common_type<_Dur1, duration<_Rep2, _Period2>>::type> typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
operator-(const time_point<_Clock, _Dur1>& __lhs, operator-(const time_point<_Clock, _Dur1>& __lhs,
const duration<_Rep2, _Period2>& __rhs) const duration<_Rep2, _Period2>& __rhs)
{ {
typedef duration<_Rep2, _Period2> __dur2; typedef duration<_Rep2, _Period2> __dur2;
typedef typename common_type<_Dur1,__dur2>::type __ct; typedef typename common_type<_Dur1,__dur2>::type __ct;
typedef time_point<_Clock, __ct> __time_point; typedef time_point<_Clock, __ct> __time_point;
return __time_point(__lhs.time_since_epoch() -__rhs); return __time_point(__lhs.time_since_epoch() -__rhs);
} }
template<typename _Clock, typename _Dur1, typename _Dur2> template<typename _Clock, typename _Dur1, typename _Dur2>
...@@ -688,9 +688,9 @@ _GLIBCXX_END_NAMESPACE_VERSION ...@@ -688,9 +688,9 @@ _GLIBCXX_END_NAMESPACE_VERSION
{ return !(__lhs < __rhs); } { return !(__lhs < __rhs); }
// Clocks. // Clocks.
// Why nanosecond resolution as the default? // Why nanosecond resolution as the default?
// Why have std::system_clock always count in the higest // Why have std::system_clock always count in the higest
// resolution (ie nanoseconds), even if on some OSes the low 3 // resolution (ie nanoseconds), even if on some OSes the low 3
// or 9 decimal digits will be always zero? This allows later // or 9 decimal digits will be always zero? This allows later
......
...@@ -93,7 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -93,7 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Return @a x to the @a y'th power. /// Return @a x to the @a y'th power.
template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, const _Tp&); template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, const _Tp&);
/// Return @a x to the @a y'th power. /// Return @a x to the @a y'th power.
template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&,
const complex<_Tp>&); const complex<_Tp>&);
/// Return @a x to the @a y'th power. /// Return @a x to the @a y'th power.
template<typename _Tp> complex<_Tp> pow(const _Tp&, const complex<_Tp>&); template<typename _Tp> complex<_Tp> pow(const _Tp&, const complex<_Tp>&);
...@@ -107,8 +107,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -107,8 +107,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&); template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&);
/// Return complex hyperbolic tangent of @a z. /// Return complex hyperbolic tangent of @a z.
template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&); template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&);
// 26.2.2 Primary template class complex // 26.2.2 Primary template class complex
/** /**
* Template to represent complex numbers. * Template to represent complex numbers.
...@@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
/// Value typedef. /// Value typedef.
typedef _Tp value_type; typedef _Tp value_type;
/// Default constructor. First parameter is x, second parameter is y. /// Default constructor. First parameter is x, second parameter is y.
/// Unspecified parameters default to 0. /// Unspecified parameters default to 0.
_GLIBCXX_CONSTEXPR complex(const _Tp& __r = _Tp(), const _Tp& __i = _Tp()) _GLIBCXX_CONSTEXPR complex(const _Tp& __r = _Tp(), const _Tp& __i = _Tp())
...@@ -143,41 +143,41 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -143,41 +143,41 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
_GLIBCXX_ABI_TAG_CXX11 _GLIBCXX_ABI_TAG_CXX11
constexpr _Tp constexpr _Tp
real() const { return _M_real; } real() const { return _M_real; }
_GLIBCXX_ABI_TAG_CXX11 _GLIBCXX_ABI_TAG_CXX11
constexpr _Tp constexpr _Tp
imag() const { return _M_imag; } imag() const { return _M_imag; }
#else #else
/// Return real part of complex number. /// Return real part of complex number.
_Tp& _Tp&
real() { return _M_real; } real() { return _M_real; }
/// Return real part of complex number. /// Return real part of complex number.
const _Tp& const _Tp&
real() const { return _M_real; } real() const { return _M_real; }
/// Return imaginary part of complex number. /// Return imaginary part of complex number.
_Tp& _Tp&
imag() { return _M_imag; } imag() { return _M_imag; }
/// Return imaginary part of complex number. /// Return imaginary part of complex number.
const _Tp& const _Tp&
imag() const { return _M_imag; } imag() const { return _M_imag; }
#endif #endif
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
void void
real(_Tp __val) { _M_real = __val; } real(_Tp __val) { _M_real = __val; }
void void
imag(_Tp __val) { _M_imag = __val; } imag(_Tp __val) { _M_imag = __val; }
/// Assign a scalar to this complex number. /// Assign a scalar to this complex number.
complex<_Tp>& operator=(const _Tp&); complex<_Tp>& operator=(const _Tp&);
/// Add a scalar to this complex number. /// Add a scalar to this complex number.
// 26.2.5/1 // 26.2.5/1
complex<_Tp>& complex<_Tp>&
...@@ -237,7 +237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -237,7 +237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_real = __t; _M_real = __t;
_M_imag = _Tp(); _M_imag = _Tp();
return *this; return *this;
} }
// 26.2.5/5 // 26.2.5/5
template<typename _Tp> template<typename _Tp>
...@@ -317,7 +317,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -317,7 +317,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_real = __r / __n; _M_real = __r / __n;
return *this; return *this;
} }
// Operators: // Operators:
//@{ //@{
/// Return new complex value @a x plus @a y. /// Return new complex value @a x plus @a y.
...@@ -359,7 +359,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -359,7 +359,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__r -= __y; __r -= __y;
return __r; return __r;
} }
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
operator-(const complex<_Tp>& __x, const _Tp& __y) operator-(const complex<_Tp>& __x, const _Tp& __y)
...@@ -419,7 +419,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -419,7 +419,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__r /= __y; __r /= __y;
return __r; return __r;
} }
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
operator/(const complex<_Tp>& __x, const _Tp& __y) operator/(const complex<_Tp>& __x, const _Tp& __y)
...@@ -495,23 +495,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -495,23 +495,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tp __re_x, __im_x; _Tp __re_x, __im_x;
_CharT __ch; _CharT __ch;
__is >> __ch; __is >> __ch;
if (__ch == '(') if (__ch == '(')
{ {
__is >> __re_x >> __ch; __is >> __re_x >> __ch;
if (__ch == ',') if (__ch == ',')
{ {
__is >> __im_x >> __ch; __is >> __im_x >> __ch;
if (__ch == ')') if (__ch == ')')
__x = complex<_Tp>(__re_x, __im_x); __x = complex<_Tp>(__re_x, __im_x);
else else
__is.setstate(ios_base::failbit); __is.setstate(ios_base::failbit);
} }
else if (__ch == ')') else if (__ch == ')')
__x = __re_x; __x = __re_x;
else else
__is.setstate(ios_base::failbit); __is.setstate(ios_base::failbit);
} }
else else
{ {
__is.putback(__ch); __is.putback(__ch);
__is >> __re_x; __is >> __re_x;
...@@ -549,17 +549,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -549,17 +549,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline _Tp& inline _Tp&
real(complex<_Tp>& __z) real(complex<_Tp>& __z)
{ return __z.real(); } { return __z.real(); }
template<typename _Tp> template<typename _Tp>
inline const _Tp& inline const _Tp&
real(const complex<_Tp>& __z) real(const complex<_Tp>& __z)
{ return __z.real(); } { return __z.real(); }
template<typename _Tp> template<typename _Tp>
inline _Tp& inline _Tp&
imag(complex<_Tp>& __z) imag(complex<_Tp>& __z)
{ return __z.imag(); } { return __z.imag(); }
template<typename _Tp> template<typename _Tp>
inline const _Tp& inline const _Tp&
imag(const complex<_Tp>& __z) imag(const complex<_Tp>& __z)
...@@ -576,7 +576,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -576,7 +576,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
const _Tp __s = std::max(abs(__x), abs(__y)); const _Tp __s = std::max(abs(__x), abs(__y));
if (__s == _Tp()) // well ... if (__s == _Tp()) // well ...
return __s; return __s;
__x /= __s; __x /= __s;
__y /= __s; __y /= __s;
return __s * sqrt(__x * __x + __y * __y); return __s * sqrt(__x * __x + __y * __y);
} }
...@@ -599,7 +599,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -599,7 +599,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
inline _Tp inline _Tp
abs(const complex<_Tp>& __z) { return __complex_abs(__z); } abs(const complex<_Tp>& __z) { return __complex_abs(__z); }
#endif #endif
// 26.2.7/4: arg(__z): Returns the phase angle of __z. // 26.2.7/4: arg(__z): Returns the phase angle of __z.
...@@ -655,12 +655,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -655,12 +655,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __res * __res; return __res * __res;
} }
}; };
template<typename _Tp> template<typename _Tp>
inline _Tp inline _Tp
norm(const complex<_Tp>& __z) norm(const complex<_Tp>& __z)
{ {
return _Norm_helper<__is_floating<_Tp>::__value return _Norm_helper<__is_floating<_Tp>::__value
&& !_GLIBCXX_FAST_MATH>::_S_do_it(__z); && !_GLIBCXX_FAST_MATH>::_S_do_it(__z);
} }
...@@ -676,7 +676,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -676,7 +676,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline complex<_Tp> inline complex<_Tp>
conj(const complex<_Tp>& __z) conj(const complex<_Tp>& __z)
{ return complex<_Tp>(__z.real(), -__z.imag()); } { return complex<_Tp>(__z.real(), -__z.imag()); }
// Transcendentals // Transcendentals
// 26.2.8/1 cos(__z): Returns the cosine of __z. // 26.2.8/1 cos(__z): Returns the cosine of __z.
...@@ -804,7 +804,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -804,7 +804,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
const _Tp __x = __z.real(); const _Tp __x = __z.real();
const _Tp __y = __z.imag(); const _Tp __y = __z.imag();
return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y)); return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y));
} }
#if _GLIBCXX_USE_C99_COMPLEX #if _GLIBCXX_USE_C99_COMPLEX
...@@ -839,14 +839,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -839,14 +839,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if _GLIBCXX_USE_C99_COMPLEX #if _GLIBCXX_USE_C99_COMPLEX
inline __complex__ float inline __complex__ float
__complex_sinh(__complex__ float __z) { return __builtin_csinhf(__z); } __complex_sinh(__complex__ float __z) { return __builtin_csinhf(__z); }
inline __complex__ double inline __complex__ double
__complex_sinh(__complex__ double __z) { return __builtin_csinh(__z); } __complex_sinh(__complex__ double __z) { return __builtin_csinh(__z); }
inline __complex__ long double inline __complex__ long double
__complex_sinh(const __complex__ long double& __z) __complex_sinh(const __complex__ long double& __z)
{ return __builtin_csinhl(__z); } { return __builtin_csinhl(__z); }
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
...@@ -902,7 +902,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -902,7 +902,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
// 26.2.8/14 tan(__z): Return the complex tangent of __z. // 26.2.8/14 tan(__z): Return the complex tangent of __z.
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
__complex_tan(const complex<_Tp>& __z) __complex_tan(const complex<_Tp>& __z)
...@@ -930,7 +930,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -930,7 +930,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// 26.2.8/15 tanh(__z): Returns the hyperbolic tangent of __z. // 26.2.8/15 tanh(__z): Returns the hyperbolic tangent of __z.
template<typename _Tp> template<typename _Tp>
inline complex<_Tp> inline complex<_Tp>
__complex_tanh(const complex<_Tp>& __z) __complex_tanh(const complex<_Tp>& __z)
...@@ -1066,38 +1066,38 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1066,38 +1066,38 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
explicit _GLIBCXX_CONSTEXPR complex(const complex<double>&); explicit _GLIBCXX_CONSTEXPR complex(const complex<double>&);
explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&); explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr float constexpr float
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr float constexpr float
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#else #else
float& float&
real() { return __real__ _M_value; } real() { return __real__ _M_value; }
const float& const float&
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
float& float&
imag() { return __imag__ _M_value; } imag() { return __imag__ _M_value; }
const float& const float&
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#endif #endif
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
void void
real(float __val) { __real__ _M_value = __val; } real(float __val) { __real__ _M_value = __val; }
void void
imag(float __val) { __imag__ _M_value = __val; } imag(float __val) { __imag__ _M_value = __val; }
complex& complex&
...@@ -1217,38 +1217,38 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1217,38 +1217,38 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_CONSTEXPR complex(const complex<float>& __z) _GLIBCXX_CONSTEXPR complex(const complex<float>& __z)
: _M_value(__z.__rep()) { } : _M_value(__z.__rep()) { }
explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&); explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr double constexpr double
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr double constexpr double
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#else #else
double& double&
real() { return __real__ _M_value; } real() { return __real__ _M_value; }
const double& const double&
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
double& double&
imag() { return __imag__ _M_value; } imag() { return __imag__ _M_value; }
const double& const double&
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#endif #endif
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
void void
real(double __val) { __real__ _M_value = __val; } real(double __val) { __real__ _M_value = __val; }
void void
imag(double __val) { __imag__ _M_value = __val; } imag(double __val) { __imag__ _M_value = __val; }
complex& complex&
...@@ -1264,7 +1264,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1264,7 +1264,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_value += __d; _M_value += __d;
return *this; return *this;
} }
complex& complex&
operator-=(double __d) operator-=(double __d)
{ {
...@@ -1354,7 +1354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1354,7 +1354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_CONSTEXPR complex(_ComplexT __z) : _M_value(__z) { } _GLIBCXX_CONSTEXPR complex(_ComplexT __z) : _M_value(__z) { }
_GLIBCXX_CONSTEXPR complex(long double __r = 0.0L, _GLIBCXX_CONSTEXPR complex(long double __r = 0.0L,
long double __i = 0.0L) long double __i = 0.0L)
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
: _M_value{ __r, __i } { } : _M_value{ __r, __i } { }
...@@ -1375,32 +1375,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1375,32 +1375,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr long double constexpr long double
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
__attribute ((__abi_tag__ ("cxx11"))) __attribute ((__abi_tag__ ("cxx11")))
constexpr long double constexpr long double
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#else #else
long double& long double&
real() { return __real__ _M_value; } real() { return __real__ _M_value; }
const long double& const long double&
real() const { return __real__ _M_value; } real() const { return __real__ _M_value; }
long double& long double&
imag() { return __imag__ _M_value; } imag() { return __imag__ _M_value; }
const long double& const long double&
imag() const { return __imag__ _M_value; } imag() const { return __imag__ _M_value; }
#endif #endif
// _GLIBCXX_RESOLVE_LIB_DEFECTS // _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 387. std::complex over-encapsulated. // DR 387. std::complex over-encapsulated.
void void
real(long double __val) { __real__ _M_value = __val; } real(long double __val) { __real__ _M_value = __val; }
void void
imag(long double __val) { __imag__ _M_value = __val; } imag(long double __val) { __imag__ _M_value = __val; }
complex& complex&
...@@ -1554,7 +1554,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1554,7 +1554,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
public: public:
typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type; typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
}; };
template<typename _Tp, typename _Up> template<typename _Tp, typename _Up>
struct __promote_2<std::complex<_Tp>, std::complex<_Up> > struct __promote_2<std::complex<_Tp>, std::complex<_Up> >
{ {
...@@ -1653,7 +1653,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1653,7 +1653,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
asin(const std::complex<_Tp>& __z) asin(const std::complex<_Tp>& __z)
{ return __complex_asin(__z); } { return __complex_asin(__z); }
#endif #endif
template<typename _Tp> template<typename _Tp>
std::complex<_Tp> std::complex<_Tp>
__complex_atan(const std::complex<_Tp>& __z) __complex_atan(const std::complex<_Tp>& __z)
......
...@@ -60,7 +60,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -60,7 +60,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// cv_status /// cv_status
enum class cv_status { no_timeout, timeout }; enum class cv_status { no_timeout, timeout };
/// condition_variable /// condition_variable
class condition_variable class condition_variable
{ {
...@@ -250,7 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -250,7 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
unique_lock<mutex> __my_lock2(std::move(__my_lock)); unique_lock<mutex> __my_lock2(std::move(__my_lock));
_M_cond.wait(__my_lock2); _M_cond.wait(__my_lock2);
} }
template<typename _Lock, typename _Predicate> template<typename _Lock, typename _Predicate>
void void
......
...@@ -386,7 +386,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -386,7 +386,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Common code for seekoff, seekpos, and overflow // Common code for seekoff, seekpos, and overflow
pos_type pos_type
_M_seek(off_type __off, ios_base::seekdir __way, __state_type __state); _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state);
int int
_M_get_ext_pos(__state_type &__state); _M_get_ext_pos(__state_type &__state);
......
...@@ -1906,7 +1906,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type) ...@@ -1906,7 +1906,7 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
* type @c T1, @c T2, ..., @c TN and returns a value convertible * type @c T1, @c T2, ..., @c TN and returns a value convertible
* to @c Res. * to @c Res.
* *
* The newly-created %function object will target a copy of * The newly-created %function object will target a copy of
* @a __f. If @a __f is @c reference_wrapper<F>, then this function * @a __f. If @a __f is @c reference_wrapper<F>, then this function
* object will contain a reference to the function object @c * object will contain a reference to the function object @c
* __f.get(). If @a __f is a NULL function pointer or NULL * __f.get(). If @a __f is a NULL function pointer or NULL
......
...@@ -225,7 +225,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -225,7 +225,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Res result_type; typedef _Res result_type;
_Result() noexcept : _M_initialized() { } _Result() noexcept : _M_initialized() { }
~_Result() ~_Result()
{ {
if (_M_initialized) if (_M_initialized)
...@@ -263,7 +263,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -263,7 +263,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
explicit explicit
_Result_alloc(const _Alloc& __a) : _Result<_Res>(), _Alloc(__a) _Result_alloc(const _Alloc& __a) : _Result<_Res>(), _Alloc(__a)
{ } { }
private: private:
void _M_destroy() void _M_destroy()
{ {
......
...@@ -62,24 +62,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -62,24 +62,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Sent to a stream object, this manipulator resets the specified flags, * Sent to a stream object, this manipulator resets the specified flags,
* via @e stream.setf(0,__mask). * via @e stream.setf(0,__mask).
*/ */
inline _Resetiosflags inline _Resetiosflags
resetiosflags(ios_base::fmtflags __mask) resetiosflags(ios_base::fmtflags __mask)
{ return { __mask }; } { return { __mask }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
{ {
__is.setf(ios_base::fmtflags(0), __f._M_mask); __is.setf(ios_base::fmtflags(0), __f._M_mask);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
{ {
__os.setf(ios_base::fmtflags(0), __f._M_mask); __os.setf(ios_base::fmtflags(0), __f._M_mask);
return __os; return __os;
} }
...@@ -92,24 +92,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -92,24 +92,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Sent to a stream object, this manipulator sets the format flags * Sent to a stream object, this manipulator sets the format flags
* to @a __mask. * to @a __mask.
*/ */
inline _Setiosflags inline _Setiosflags
setiosflags(ios_base::fmtflags __mask) setiosflags(ios_base::fmtflags __mask)
{ return { __mask }; } { return { __mask }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
{ {
__is.setf(__f._M_mask); __is.setf(__f._M_mask);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
{ {
__os.setf(__f._M_mask); __os.setf(__f._M_mask);
return __os; return __os;
} }
...@@ -123,32 +123,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -123,32 +123,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @c ios_base::basefield flags to @c oct, @c dec, or @c hex when @a base * @c ios_base::basefield flags to @c oct, @c dec, or @c hex when @a base
* is 8, 10, or 16, accordingly, and to 0 if @a __base is any other value. * is 8, 10, or 16, accordingly, and to 0 if @a __base is any other value.
*/ */
inline _Setbase inline _Setbase
setbase(int __base) setbase(int __base)
{ return { __base }; } { return { __base }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
{ {
__is.setf(__f._M_base == 8 ? ios_base::oct : __is.setf(__f._M_base == 8 ? ios_base::oct :
__f._M_base == 10 ? ios_base::dec : __f._M_base == 10 ? ios_base::dec :
__f._M_base == 16 ? ios_base::hex : __f._M_base == 16 ? ios_base::hex :
ios_base::fmtflags(0), ios_base::basefield); ios_base::fmtflags(0), ios_base::basefield);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
{ {
__os.setf(__f._M_base == 8 ? ios_base::oct : __os.setf(__f._M_base == 8 ? ios_base::oct :
__f._M_base == 10 ? ios_base::dec : __f._M_base == 10 ? ios_base::dec :
__f._M_base == 16 ? ios_base::hex : __f._M_base == 16 ? ios_base::hex :
ios_base::fmtflags(0), ios_base::basefield); ios_base::fmtflags(0), ios_base::basefield);
return __os; return __os;
} }
template<typename _CharT> template<typename _CharT>
struct _Setfill { _CharT _M_c; }; struct _Setfill { _CharT _M_c; };
...@@ -166,19 +166,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -166,19 +166,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return { __c }; } { return { __c }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
{ {
__is.fill(__f._M_c); __is.fill(__f._M_c);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
{ {
__os.fill(__f._M_c); __os.fill(__f._M_c);
return __os; return __os;
} }
...@@ -191,24 +191,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -191,24 +191,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Sent to a stream object, this manipulator calls @c precision(__n) for * Sent to a stream object, this manipulator calls @c precision(__n) for
* that object. * that object.
*/ */
inline _Setprecision inline _Setprecision
setprecision(int __n) setprecision(int __n)
{ return { __n }; } { return { __n }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
{ {
__is.precision(__f._M_n); __is.precision(__f._M_n);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
{ {
__os.precision(__f._M_n); __os.precision(__f._M_n);
return __os; return __os;
} }
...@@ -221,35 +221,35 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -221,35 +221,35 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Sent to a stream object, this manipulator calls @c width(__n) for * Sent to a stream object, this manipulator calls @c width(__n) for
* that object. * that object.
*/ */
inline _Setw inline _Setw
setw(int __n) setw(int __n)
{ return { __n }; } { return { __n }; }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f) operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
{ {
__is.width(__f._M_n); __is.width(__f._M_n);
return __is; return __is;
} }
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits>& inline basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
{ {
__os.width(__f._M_n); __os.width(__f._M_n);
return __os; return __os;
} }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _MoneyT> template<typename _MoneyT>
struct _Get_money { _MoneyT& _M_mon; bool _M_intl; }; struct _Get_money { _MoneyT& _M_mon; bool _M_intl; };
/** /**
* @brief Extended manipulator for extracting money. * @brief Extended manipulator for extracting money.
* @param __mon Either long double or a specialization of @c basic_string. * @param __mon Either long double or a specialization of @c basic_string.
* @param __intl A bool indicating whether international format * @param __intl A bool indicating whether international format
* is to be used. * is to be used.
* *
* Sent to a stream object, this manipulator extracts @a __mon. * Sent to a stream object, this manipulator extracts @a __mon.
...@@ -286,7 +286,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -286,7 +286,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (__err) if (__err)
__is.setstate(__err); __is.setstate(__err);
} }
return __is; return __is;
} }
...@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** /**
* @brief Extended manipulator for inserting money. * @brief Extended manipulator for inserting money.
* @param __mon Either long double or a specialization of @c basic_string. * @param __mon Either long double or a specialization of @c basic_string.
* @param __intl A bool indicating whether international format * @param __intl A bool indicating whether international format
* is to be used. * is to be used.
* *
* Sent to a stream object, this manipulator inserts @a __mon. * Sent to a stream object, this manipulator inserts @a __mon.
...@@ -307,7 +307,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -307,7 +307,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return { __mon, __intl }; } { return { __mon, __intl }; }
template<typename _CharT, typename _Traits, typename _MoneyT> template<typename _CharT, typename _Traits, typename _MoneyT>
basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f) operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
{ {
typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os); typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os);
...@@ -334,7 +334,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -334,7 +334,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (__err) if (__err)
__os.setstate(__err); __os.setstate(__err);
} }
return __os; return __os;
} }
template<typename _CharT> template<typename _CharT>
...@@ -490,7 +490,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -490,7 +490,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif // __cplusplus >= 201103L #endif // __cplusplus >= 201103L
// Inhibit implicit instantiations for required instantiations, // Inhibit implicit instantiations for required instantiations,
// which are defined via explicit instantiations elsewhere. // which are defined via explicit instantiations elsewhere.
// NB: This syntax is a GNU extension. // NB: This syntax is a GNU extension.
#if _GLIBCXX_EXTERN_TEMPLATE #if _GLIBCXX_EXTERN_TEMPLATE
extern template ostream& operator<<(ostream&, _Setfill<char>); extern template ostream& operator<<(ostream&, _Setfill<char>);
......
...@@ -129,7 +129,7 @@ _GLIBCXX_END_NAMESPACE_CXX11 ...@@ -129,7 +129,7 @@ _GLIBCXX_END_NAMESPACE_CXX11
/// Base class for @c char streams. /// Base class for @c char streams.
typedef basic_ios<char> ios; typedef basic_ios<char> ios;
/// Base class for @c char buffers. /// Base class for @c char buffers.
typedef basic_streambuf<char> streambuf; typedef basic_streambuf<char> streambuf;
......
...@@ -922,7 +922,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -922,7 +922,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _CharT, typename _Traits, typename _Tp> template<typename _CharT, typename _Traits, typename _Tp>
inline basic_istream<_CharT, _Traits>& inline basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
{ {
__is >> __x; __is >> __x;
return __is; return __is;
} }
......
...@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** See std::float_round_style for more information. This is only /** See std::float_round_style for more information. This is only
meaningful for floating types; integer types will all be meaningful for floating types; integer types will all be
round_toward_zero. */ round_toward_zero. */
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style = static _GLIBCXX_USE_CONSTEXPR float_round_style round_style =
round_toward_zero; round_toward_zero;
}; };
...@@ -384,10 +384,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -384,10 +384,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
min() _GLIBCXX_USE_NOEXCEPT { return false; } min() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
max() _GLIBCXX_USE_NOEXCEPT { return true; } max() _GLIBCXX_USE_NOEXCEPT { return true; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
...@@ -404,10 +404,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -404,10 +404,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
epsilon() _GLIBCXX_USE_NOEXCEPT { return false; } epsilon() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
round_error() _GLIBCXX_USE_NOEXCEPT { return false; } round_error() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -418,20 +418,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -418,20 +418,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
infinity() _GLIBCXX_USE_NOEXCEPT { return false; } infinity() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return false; } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return false; } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_CONSTEXPR bool static _GLIBCXX_CONSTEXPR bool
denorm_min() _GLIBCXX_USE_NOEXCEPT { return false; } denorm_min() _GLIBCXX_USE_NOEXCEPT { return false; }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -443,7 +443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -443,7 +443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// promotion semantics. // promotion semantics.
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -453,14 +453,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -453,14 +453,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min(char); } min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min(char); }
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max(char); } max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max(char); }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr char static constexpr char
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
...@@ -474,10 +474,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -474,10 +474,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -488,20 +488,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -488,20 +488,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR static _GLIBCXX_CONSTEXPR
char infinity() _GLIBCXX_USE_NOEXCEPT { return char(); } char infinity() _GLIBCXX_USE_NOEXCEPT { return char(); }
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); }
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return char(); }
static _GLIBCXX_CONSTEXPR char static _GLIBCXX_CONSTEXPR char
denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<char>(0); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<char>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -510,7 +510,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -510,7 +510,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -520,19 +520,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -520,19 +520,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
min() _GLIBCXX_USE_NOEXCEPT { return -__SCHAR_MAX__ - 1; } min() _GLIBCXX_USE_NOEXCEPT { return -__SCHAR_MAX__ - 1; }
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr signed char static constexpr signed char
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (signed char); static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (signed char);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (signed char); = __glibcxx_digits10 (signed char);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -542,10 +542,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -542,10 +542,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -556,21 +556,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -556,21 +556,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<signed char>(0); } infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<signed char>(0); }
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<signed char>(0); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<signed char>(0); }
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<signed char>(0); } { return static_cast<signed char>(0); }
static _GLIBCXX_CONSTEXPR signed char static _GLIBCXX_CONSTEXPR signed char
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<signed char>(0); } { return static_cast<signed char>(0); }
...@@ -580,7 +580,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -580,7 +580,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -590,20 +590,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -590,20 +590,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
min() _GLIBCXX_USE_NOEXCEPT { return 0; } min() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__ * 2U + 1; } max() _GLIBCXX_USE_NOEXCEPT { return __SCHAR_MAX__ * 2U + 1; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr unsigned char static constexpr unsigned char
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (unsigned char); = __glibcxx_digits (unsigned char);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (unsigned char); = __glibcxx_digits10 (unsigned char);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -613,10 +613,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -613,10 +613,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -627,23 +627,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -627,23 +627,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
infinity() _GLIBCXX_USE_NOEXCEPT infinity() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned char>(0); } { return static_cast<unsigned char>(0); }
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
quiet_NaN() _GLIBCXX_USE_NOEXCEPT quiet_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned char>(0); } { return static_cast<unsigned char>(0); }
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned char>(0); } { return static_cast<unsigned char>(0); }
static _GLIBCXX_CONSTEXPR unsigned char static _GLIBCXX_CONSTEXPR unsigned char
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned char>(0); } { return static_cast<unsigned char>(0); }
...@@ -653,7 +653,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -653,7 +653,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -663,10 +663,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -663,10 +663,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (wchar_t); } min() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_min (wchar_t); }
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (wchar_t); } max() _GLIBCXX_USE_NOEXCEPT { return __glibcxx_max (wchar_t); }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
...@@ -675,7 +675,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -675,7 +675,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (wchar_t); static _GLIBCXX_USE_CONSTEXPR int digits = __glibcxx_digits (wchar_t);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (wchar_t); = __glibcxx_digits10 (wchar_t);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -685,10 +685,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -685,10 +685,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -699,20 +699,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -699,20 +699,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
infinity() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } infinity() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); }
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); }
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); }
static _GLIBCXX_CONSTEXPR wchar_t static _GLIBCXX_CONSTEXPR wchar_t
denorm_min() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return wchar_t(); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -721,7 +721,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -721,7 +721,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -732,13 +732,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -732,13 +732,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static constexpr bool is_specialized = true; static constexpr bool is_specialized = true;
static constexpr char16_t static constexpr char16_t
min() noexcept { return __glibcxx_min (char16_t); } min() noexcept { return __glibcxx_min (char16_t); }
static constexpr char16_t static constexpr char16_t
max() noexcept { return __glibcxx_max (char16_t); } max() noexcept { return __glibcxx_max (char16_t); }
static constexpr char16_t static constexpr char16_t
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
static constexpr int digits = __glibcxx_digits (char16_t); static constexpr int digits = __glibcxx_digits (char16_t);
...@@ -749,10 +749,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -749,10 +749,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static constexpr bool is_exact = true; static constexpr bool is_exact = true;
static constexpr int radix = 2; static constexpr int radix = 2;
static constexpr char16_t static constexpr char16_t
epsilon() noexcept { return 0; } epsilon() noexcept { return 0; }
static constexpr char16_t static constexpr char16_t
round_error() noexcept { return 0; } round_error() noexcept { return 0; }
static constexpr int min_exponent = 0; static constexpr int min_exponent = 0;
...@@ -766,16 +766,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -766,16 +766,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr float_denorm_style has_denorm = denorm_absent;
static constexpr bool has_denorm_loss = false; static constexpr bool has_denorm_loss = false;
static constexpr char16_t static constexpr char16_t
infinity() noexcept { return char16_t(); } infinity() noexcept { return char16_t(); }
static constexpr char16_t static constexpr char16_t
quiet_NaN() noexcept { return char16_t(); } quiet_NaN() noexcept { return char16_t(); }
static constexpr char16_t static constexpr char16_t
signaling_NaN() noexcept { return char16_t(); } signaling_NaN() noexcept { return char16_t(); }
static constexpr char16_t static constexpr char16_t
denorm_min() noexcept { return char16_t(); } denorm_min() noexcept { return char16_t(); }
static constexpr bool is_iec559 = false; static constexpr bool is_iec559 = false;
...@@ -793,13 +793,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -793,13 +793,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static constexpr bool is_specialized = true; static constexpr bool is_specialized = true;
static constexpr char32_t static constexpr char32_t
min() noexcept { return __glibcxx_min (char32_t); } min() noexcept { return __glibcxx_min (char32_t); }
static constexpr char32_t static constexpr char32_t
max() noexcept { return __glibcxx_max (char32_t); } max() noexcept { return __glibcxx_max (char32_t); }
static constexpr char32_t static constexpr char32_t
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
static constexpr int digits = __glibcxx_digits (char32_t); static constexpr int digits = __glibcxx_digits (char32_t);
...@@ -810,10 +810,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -810,10 +810,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static constexpr bool is_exact = true; static constexpr bool is_exact = true;
static constexpr int radix = 2; static constexpr int radix = 2;
static constexpr char32_t static constexpr char32_t
epsilon() noexcept { return 0; } epsilon() noexcept { return 0; }
static constexpr char32_t static constexpr char32_t
round_error() noexcept { return 0; } round_error() noexcept { return 0; }
static constexpr int min_exponent = 0; static constexpr int min_exponent = 0;
...@@ -827,16 +827,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -827,16 +827,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static constexpr float_denorm_style has_denorm = denorm_absent; static constexpr float_denorm_style has_denorm = denorm_absent;
static constexpr bool has_denorm_loss = false; static constexpr bool has_denorm_loss = false;
static constexpr char32_t static constexpr char32_t
infinity() noexcept { return char32_t(); } infinity() noexcept { return char32_t(); }
static constexpr char32_t static constexpr char32_t
quiet_NaN() noexcept { return char32_t(); } quiet_NaN() noexcept { return char32_t(); }
static constexpr char32_t static constexpr char32_t
signaling_NaN() noexcept { return char32_t(); } signaling_NaN() noexcept { return char32_t(); }
static constexpr char32_t static constexpr char32_t
denorm_min() noexcept { return char32_t(); } denorm_min() noexcept { return char32_t(); }
static constexpr bool is_iec559 = false; static constexpr bool is_iec559 = false;
...@@ -855,14 +855,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -855,14 +855,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
min() _GLIBCXX_USE_NOEXCEPT { return -__SHRT_MAX__ - 1; } min() _GLIBCXX_USE_NOEXCEPT { return -__SHRT_MAX__ - 1; }
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr short static constexpr short
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
...@@ -876,10 +876,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -876,10 +876,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -890,20 +890,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -890,20 +890,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
infinity() _GLIBCXX_USE_NOEXCEPT { return short(); } infinity() _GLIBCXX_USE_NOEXCEPT { return short(); }
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); }
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return short(); }
static _GLIBCXX_CONSTEXPR short static _GLIBCXX_CONSTEXPR short
denorm_min() _GLIBCXX_USE_NOEXCEPT { return short(); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return short(); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -912,7 +912,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -912,7 +912,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -922,20 +922,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -922,20 +922,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
min() _GLIBCXX_USE_NOEXCEPT { return 0; } min() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__ * 2U + 1; } max() _GLIBCXX_USE_NOEXCEPT { return __SHRT_MAX__ * 2U + 1; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr unsigned short static constexpr unsigned short
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (unsigned short); = __glibcxx_digits (unsigned short);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (unsigned short); = __glibcxx_digits10 (unsigned short);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -945,10 +945,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -945,10 +945,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -959,23 +959,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -959,23 +959,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
infinity() _GLIBCXX_USE_NOEXCEPT infinity() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned short>(0); } { return static_cast<unsigned short>(0); }
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
quiet_NaN() _GLIBCXX_USE_NOEXCEPT quiet_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned short>(0); } { return static_cast<unsigned short>(0); }
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned short>(0); } { return static_cast<unsigned short>(0); }
static _GLIBCXX_CONSTEXPR unsigned short static _GLIBCXX_CONSTEXPR unsigned short
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned short>(0); } { return static_cast<unsigned short>(0); }
...@@ -985,7 +985,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -985,7 +985,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -995,14 +995,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -995,14 +995,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
min() _GLIBCXX_USE_NOEXCEPT { return -__INT_MAX__ - 1; } min() _GLIBCXX_USE_NOEXCEPT { return -__INT_MAX__ - 1; }
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int static constexpr int
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
...@@ -1016,10 +1016,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1016,10 +1016,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1030,20 +1030,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1030,20 +1030,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); } infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); }
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); }
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); }
static _GLIBCXX_CONSTEXPR int static _GLIBCXX_CONSTEXPR int
denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<int>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -1052,7 +1052,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1052,7 +1052,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1062,20 +1062,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1062,20 +1062,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
min() _GLIBCXX_USE_NOEXCEPT { return 0; } min() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__ * 2U + 1; } max() _GLIBCXX_USE_NOEXCEPT { return __INT_MAX__ * 2U + 1; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr unsigned int static constexpr unsigned int
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (unsigned int); = __glibcxx_digits (unsigned int);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (unsigned int); = __glibcxx_digits10 (unsigned int);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -1085,10 +1085,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1085,10 +1085,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1099,22 +1099,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1099,22 +1099,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<unsigned int>(0); } infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<unsigned int>(0); }
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
quiet_NaN() _GLIBCXX_USE_NOEXCEPT quiet_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned int>(0); } { return static_cast<unsigned int>(0); }
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned int>(0); } { return static_cast<unsigned int>(0); }
static _GLIBCXX_CONSTEXPR unsigned int static _GLIBCXX_CONSTEXPR unsigned int
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned int>(0); } { return static_cast<unsigned int>(0); }
...@@ -1124,7 +1124,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1124,7 +1124,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1137,11 +1137,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1137,11 +1137,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_MAX__ - 1; } min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_MAX__ - 1; }
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr long static constexpr long
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
...@@ -1155,10 +1155,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1155,10 +1155,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1169,20 +1169,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1169,20 +1169,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); } infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); }
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); }
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); }
static _GLIBCXX_CONSTEXPR long static _GLIBCXX_CONSTEXPR long
denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<long>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -1191,7 +1191,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1191,7 +1191,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1201,20 +1201,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1201,20 +1201,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
min() _GLIBCXX_USE_NOEXCEPT { return 0; } min() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__ * 2UL + 1; } max() _GLIBCXX_USE_NOEXCEPT { return __LONG_MAX__ * 2UL + 1; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr unsigned long static constexpr unsigned long
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (unsigned long); = __glibcxx_digits (unsigned long);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (unsigned long); = __glibcxx_digits10 (unsigned long);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -1224,10 +1224,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1224,10 +1224,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1238,23 +1238,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1238,23 +1238,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
infinity() _GLIBCXX_USE_NOEXCEPT infinity() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long>(0); } { return static_cast<unsigned long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
quiet_NaN() _GLIBCXX_USE_NOEXCEPT quiet_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long>(0); } { return static_cast<unsigned long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long>(0); } { return static_cast<unsigned long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long static _GLIBCXX_CONSTEXPR unsigned long
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long>(0); } { return static_cast<unsigned long>(0); }
...@@ -1264,7 +1264,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1264,7 +1264,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1274,20 +1274,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1274,20 +1274,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_LONG_MAX__ - 1; } min() _GLIBCXX_USE_NOEXCEPT { return -__LONG_LONG_MAX__ - 1; }
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr long long static constexpr long long
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (long long); = __glibcxx_digits (long long);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (long long); = __glibcxx_digits10 (long long);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -1297,10 +1297,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1297,10 +1297,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1311,21 +1311,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1311,21 +1311,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); } infinity() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); }
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); }
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<long long>(0); } { return static_cast<long long>(0); }
static _GLIBCXX_CONSTEXPR long long static _GLIBCXX_CONSTEXPR long long
denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); } denorm_min() _GLIBCXX_USE_NOEXCEPT { return static_cast<long long>(0); }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false; static _GLIBCXX_USE_CONSTEXPR bool is_iec559 = false;
...@@ -1334,7 +1334,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1334,7 +1334,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1344,20 +1344,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1344,20 +1344,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
min() _GLIBCXX_USE_NOEXCEPT { return 0; } min() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__ * 2ULL + 1; } max() _GLIBCXX_USE_NOEXCEPT { return __LONG_LONG_MAX__ * 2ULL + 1; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr unsigned long long static constexpr unsigned long long
lowest() noexcept { return min(); } lowest() noexcept { return min(); }
#endif #endif
static _GLIBCXX_USE_CONSTEXPR int digits static _GLIBCXX_USE_CONSTEXPR int digits
= __glibcxx_digits (unsigned long long); = __glibcxx_digits (unsigned long long);
static _GLIBCXX_USE_CONSTEXPR int digits10 static _GLIBCXX_USE_CONSTEXPR int digits10
= __glibcxx_digits10 (unsigned long long); = __glibcxx_digits10 (unsigned long long);
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr int max_digits10 = 0; static constexpr int max_digits10 = 0;
...@@ -1367,10 +1367,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1367,10 +1367,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = true; static _GLIBCXX_USE_CONSTEXPR bool is_exact = true;
static _GLIBCXX_USE_CONSTEXPR int radix = 2; static _GLIBCXX_USE_CONSTEXPR int radix = 2;
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; } epsilon() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
round_error() _GLIBCXX_USE_NOEXCEPT { return 0; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0; static _GLIBCXX_USE_CONSTEXPR int min_exponent = 0;
...@@ -1381,23 +1381,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1381,23 +1381,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false; static _GLIBCXX_USE_CONSTEXPR bool has_infinity = false;
static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_quiet_NaN = false;
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = false;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= denorm_absent; = denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false; static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss = false;
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
infinity() _GLIBCXX_USE_NOEXCEPT infinity() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long long>(0); } { return static_cast<unsigned long long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
quiet_NaN() _GLIBCXX_USE_NOEXCEPT quiet_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long long>(0); } { return static_cast<unsigned long long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
signaling_NaN() _GLIBCXX_USE_NOEXCEPT signaling_NaN() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long long>(0); } { return static_cast<unsigned long long>(0); }
static _GLIBCXX_CONSTEXPR unsigned long long static _GLIBCXX_CONSTEXPR unsigned long long
denorm_min() _GLIBCXX_USE_NOEXCEPT denorm_min() _GLIBCXX_USE_NOEXCEPT
{ return static_cast<unsigned long long>(0); } { return static_cast<unsigned long long>(0); }
...@@ -1407,7 +1407,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1407,7 +1407,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_integral_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false; static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = false;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_toward_zero; = round_toward_zero;
}; };
...@@ -1595,14 +1595,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1595,14 +1595,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; } min() _GLIBCXX_USE_NOEXCEPT { return __FLT_MIN__; }
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __FLT_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr float static constexpr float
lowest() noexcept { return -__FLT_MAX__; } lowest() noexcept { return -__FLT_MAX__; }
#endif #endif
...@@ -1617,10 +1617,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1617,10 +1617,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = false; static _GLIBCXX_USE_CONSTEXPR bool is_exact = false;
static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__;
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
epsilon() _GLIBCXX_USE_NOEXCEPT { return __FLT_EPSILON__; } epsilon() _GLIBCXX_USE_NOEXCEPT { return __FLT_EPSILON__; }
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5F; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5F; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = __FLT_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent = __FLT_MIN_EXP__;
...@@ -1633,19 +1633,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1633,19 +1633,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= bool(__FLT_HAS_DENORM__) ? denorm_present : denorm_absent; = bool(__FLT_HAS_DENORM__) ? denorm_present : denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss
= __glibcxx_float_has_denorm_loss; = __glibcxx_float_has_denorm_loss;
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_valf(); } infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_valf(); }
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanf(""); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanf(""); }
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansf(""); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansf(""); }
static _GLIBCXX_CONSTEXPR float static _GLIBCXX_CONSTEXPR float
denorm_min() _GLIBCXX_USE_NOEXCEPT { return __FLT_DENORM_MIN__; } denorm_min() _GLIBCXX_USE_NOEXCEPT { return __FLT_DENORM_MIN__; }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 static _GLIBCXX_USE_CONSTEXPR bool is_iec559
...@@ -1654,9 +1654,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1654,9 +1654,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false; static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_float_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_float_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before static _GLIBCXX_USE_CONSTEXPR bool tinyness_before
= __glibcxx_float_tinyness_before; = __glibcxx_float_tinyness_before;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_to_nearest; = round_to_nearest;
}; };
...@@ -1670,14 +1670,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1670,14 +1670,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
min() _GLIBCXX_USE_NOEXCEPT { return __DBL_MIN__; } min() _GLIBCXX_USE_NOEXCEPT { return __DBL_MIN__; }
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
max() _GLIBCXX_USE_NOEXCEPT { return __DBL_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __DBL_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr double static constexpr double
lowest() noexcept { return -__DBL_MAX__; } lowest() noexcept { return -__DBL_MAX__; }
#endif #endif
...@@ -1692,10 +1692,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1692,10 +1692,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = false; static _GLIBCXX_USE_CONSTEXPR bool is_exact = false;
static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__;
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
epsilon() _GLIBCXX_USE_NOEXCEPT { return __DBL_EPSILON__; } epsilon() _GLIBCXX_USE_NOEXCEPT { return __DBL_EPSILON__; }
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = __DBL_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent = __DBL_MIN_EXP__;
...@@ -1708,19 +1708,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1708,19 +1708,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN; static _GLIBCXX_USE_CONSTEXPR bool has_signaling_NaN = has_quiet_NaN;
static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm static _GLIBCXX_USE_CONSTEXPR float_denorm_style has_denorm
= bool(__DBL_HAS_DENORM__) ? denorm_present : denorm_absent; = bool(__DBL_HAS_DENORM__) ? denorm_present : denorm_absent;
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss
= __glibcxx_double_has_denorm_loss; = __glibcxx_double_has_denorm_loss;
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_val(); } infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_val(); }
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nan(""); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nan(""); }
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nans(""); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nans(""); }
static _GLIBCXX_CONSTEXPR double static _GLIBCXX_CONSTEXPR double
denorm_min() _GLIBCXX_USE_NOEXCEPT { return __DBL_DENORM_MIN__; } denorm_min() _GLIBCXX_USE_NOEXCEPT { return __DBL_DENORM_MIN__; }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 static _GLIBCXX_USE_CONSTEXPR bool is_iec559
...@@ -1729,9 +1729,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1729,9 +1729,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false; static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_double_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_double_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before static _GLIBCXX_USE_CONSTEXPR bool tinyness_before
= __glibcxx_double_tinyness_before; = __glibcxx_double_tinyness_before;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style static _GLIBCXX_USE_CONSTEXPR float_round_style round_style
= round_to_nearest; = round_to_nearest;
}; };
...@@ -1745,14 +1745,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1745,14 +1745,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true; static _GLIBCXX_USE_CONSTEXPR bool is_specialized = true;
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; } min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; }
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; } max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; }
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
static constexpr long double static constexpr long double
lowest() noexcept { return -__LDBL_MAX__; } lowest() noexcept { return -__LDBL_MAX__; }
#endif #endif
...@@ -1767,10 +1767,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1767,10 +1767,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_exact = false; static _GLIBCXX_USE_CONSTEXPR bool is_exact = false;
static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__; static _GLIBCXX_USE_CONSTEXPR int radix = __FLT_RADIX__;
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
epsilon() _GLIBCXX_USE_NOEXCEPT { return __LDBL_EPSILON__; } epsilon() _GLIBCXX_USE_NOEXCEPT { return __LDBL_EPSILON__; }
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5L; } round_error() _GLIBCXX_USE_NOEXCEPT { return 0.5L; }
static _GLIBCXX_USE_CONSTEXPR int min_exponent = __LDBL_MIN_EXP__; static _GLIBCXX_USE_CONSTEXPR int min_exponent = __LDBL_MIN_EXP__;
...@@ -1786,16 +1786,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1786,16 +1786,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss static _GLIBCXX_USE_CONSTEXPR bool has_denorm_loss
= __glibcxx_long_double_has_denorm_loss; = __glibcxx_long_double_has_denorm_loss;
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_vall(); } infinity() _GLIBCXX_USE_NOEXCEPT { return __builtin_huge_vall(); }
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanl(""); } quiet_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nanl(""); }
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansl(""); } signaling_NaN() _GLIBCXX_USE_NOEXCEPT { return __builtin_nansl(""); }
static _GLIBCXX_CONSTEXPR long double static _GLIBCXX_CONSTEXPR long double
denorm_min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_DENORM_MIN__; } denorm_min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_DENORM_MIN__; }
static _GLIBCXX_USE_CONSTEXPR bool is_iec559 static _GLIBCXX_USE_CONSTEXPR bool is_iec559
...@@ -1804,9 +1804,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1804,9 +1804,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false; static _GLIBCXX_USE_CONSTEXPR bool is_modulo = false;
static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_long_double_traps; static _GLIBCXX_USE_CONSTEXPR bool traps = __glibcxx_long_double_traps;
static _GLIBCXX_USE_CONSTEXPR bool tinyness_before = static _GLIBCXX_USE_CONSTEXPR bool tinyness_before =
__glibcxx_long_double_tinyness_before; __glibcxx_long_double_tinyness_before;
static _GLIBCXX_USE_CONSTEXPR float_round_style round_style = static _GLIBCXX_USE_CONSTEXPR float_round_style round_style =
round_to_nearest; round_to_nearest;
}; };
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
// Copyright (C) 2008-2016 Free Software Foundation, Inc. // Copyright (C) 2008-2016 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the // terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option) // Free Software Foundation; either version 3, or (at your option)
// any later version. // any later version.
// This library is distributed in the hope that it will be useful, // This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional // Under Section 7 of GPL version 3, you are granted additional
...@@ -94,11 +94,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -94,11 +94,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const uintmax_t __b0 = __static_abs<_Qn>::value % __c; static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
static const uintmax_t __b1 = __static_abs<_Qn>::value / __c; static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
static_assert(__a1 == 0 || __b1 == 0, static_assert(__a1 == 0 || __b1 == 0,
"overflow in multiplication"); "overflow in multiplication");
static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1), static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
"overflow in multiplication"); "overflow in multiplication");
static_assert(__b0 * __a0 <= __INTMAX_MAX__, static_assert(__b0 * __a0 <= __INTMAX_MAX__,
"overflow in multiplication"); "overflow in multiplication");
static_assert((__a0 * __b1 + __b0 * __a1) * __c static_assert((__a0 * __b1 + __b0 * __a1) * __c
<= __INTMAX_MAX__ - __b0 * __a0, <= __INTMAX_MAX__ - __b0 * __a0,
...@@ -257,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -257,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* std::ratio<7,-21>::num == -1; * std::ratio<7,-21>::num == -1;
* std::ratio<7,-21>::den == 3; * std::ratio<7,-21>::den == 3;
* @endcode * @endcode
* *
*/ */
template<intmax_t _Num, intmax_t _Den = 1> template<intmax_t _Num, intmax_t _Den = 1>
struct ratio struct ratio
...@@ -340,7 +340,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -340,7 +340,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct ratio_equal struct ratio_equal
: integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den> : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
{ }; { };
/// ratio_not_equal /// ratio_not_equal
template<typename _R1, typename _R2> template<typename _R1, typename _R2>
struct ratio_not_equal struct ratio_not_equal
...@@ -354,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -354,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __ratio_less_impl_1 struct __ratio_less_impl_1
: integral_constant<bool, __big_less<_Left::__hi, _Left::__lo, : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
_Right::__hi, _Right::__lo>::value> _Right::__hi, _Right::__lo>::value>
{ }; { };
template<typename _R1, typename _R2, template<typename _R1, typename _R2,
bool = (_R1::num == 0 || _R2::num == 0 bool = (_R1::num == 0 || _R2::num == 0
...@@ -382,13 +382,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -382,13 +382,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct ratio_less struct ratio_less
: __ratio_less_impl<_R1, _R2>::type : __ratio_less_impl<_R1, _R2>::type
{ }; { };
/// ratio_less_equal /// ratio_less_equal
template<typename _R1, typename _R2> template<typename _R1, typename _R2>
struct ratio_less_equal struct ratio_less_equal
: integral_constant<bool, !ratio_less<_R2, _R1>::value> : integral_constant<bool, !ratio_less<_R2, _R1>::value>
{ }; { };
/// ratio_greater /// ratio_greater
template<typename _R1, typename _R2> template<typename _R1, typename _R2>
struct ratio_greater struct ratio_greater
......
...@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _OuterAlloc, typename... _InnerAllocs> template<typename _OuterAlloc, typename... _InnerAllocs>
class scoped_allocator_adaptor; class scoped_allocator_adaptor;
template<typename...> template<typename...>
struct __inner_type_impl; struct __inner_type_impl;
template<typename _Outer> template<typename _Outer>
...@@ -81,25 +81,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -81,25 +81,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__inner_type_impl(__inner_type_impl&&) = default; __inner_type_impl(__inner_type_impl&&) = default;
__inner_type_impl& operator=(const __inner_type_impl&) = default; __inner_type_impl& operator=(const __inner_type_impl&) = default;
__inner_type_impl& operator=(__inner_type_impl&&) = default; __inner_type_impl& operator=(__inner_type_impl&&) = default;
template<typename _Alloc> template<typename _Alloc>
__inner_type_impl(const __inner_type_impl<_Alloc>& __other) __inner_type_impl(const __inner_type_impl<_Alloc>& __other)
{ } { }
template<typename _Alloc> template<typename _Alloc>
__inner_type_impl(__inner_type_impl<_Alloc>&& __other) __inner_type_impl(__inner_type_impl<_Alloc>&& __other)
{ } { }
__type& __type&
_M_get(__type* __p) noexcept { return *__p; } _M_get(__type* __p) noexcept { return *__p; }
const __type& const __type&
_M_get(const __type* __p) const noexcept { return *__p; } _M_get(const __type* __p) const noexcept { return *__p; }
tuple<> tuple<>
_M_tie() const noexcept { return tuple<>(); } _M_tie() const noexcept { return tuple<>(); }
bool bool
operator==(const __inner_type_impl&) const noexcept operator==(const __inner_type_impl&) const noexcept
{ return true; } { return true; }
}; };
...@@ -108,17 +108,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -108,17 +108,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __inner_type_impl<_Outer, _InnerHead, _InnerTail...> struct __inner_type_impl<_Outer, _InnerHead, _InnerTail...>
{ {
typedef scoped_allocator_adaptor<_InnerHead, _InnerTail...> __type; typedef scoped_allocator_adaptor<_InnerHead, _InnerTail...> __type;
__inner_type_impl() = default; __inner_type_impl() = default;
__inner_type_impl(const __inner_type_impl&) = default; __inner_type_impl(const __inner_type_impl&) = default;
__inner_type_impl(__inner_type_impl&&) = default; __inner_type_impl(__inner_type_impl&&) = default;
__inner_type_impl& operator=(const __inner_type_impl&) = default; __inner_type_impl& operator=(const __inner_type_impl&) = default;
__inner_type_impl& operator=(__inner_type_impl&&) = default; __inner_type_impl& operator=(__inner_type_impl&&) = default;
template<typename... _Allocs> template<typename... _Allocs>
__inner_type_impl(const __inner_type_impl<_Allocs...>& __other) __inner_type_impl(const __inner_type_impl<_Allocs...>& __other)
: _M_inner(__other._M_inner) { } : _M_inner(__other._M_inner) { }
template<typename... _Allocs> template<typename... _Allocs>
__inner_type_impl(__inner_type_impl<_Allocs...>&& __other) __inner_type_impl(__inner_type_impl<_Allocs...>&& __other)
: _M_inner(std::move(__other._M_inner)) { } : _M_inner(std::move(__other._M_inner)) { }
...@@ -128,24 +128,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -128,24 +128,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__inner_type_impl(_Args&&... __args) __inner_type_impl(_Args&&... __args)
: _M_inner(std::forward<_Args>(__args)...) { } : _M_inner(std::forward<_Args>(__args)...) { }
__type& __type&
_M_get(void*) noexcept { return _M_inner; } _M_get(void*) noexcept { return _M_inner; }
const __type& const __type&
_M_get(const void*) const noexcept { return _M_inner; } _M_get(const void*) const noexcept { return _M_inner; }
tuple<const _InnerHead&, const _InnerTail&...> tuple<const _InnerHead&, const _InnerTail&...>
_M_tie() const noexcept _M_tie() const noexcept
{ return _M_inner._M_tie(); } { return _M_inner._M_tie(); }
bool bool
operator==(const __inner_type_impl& __other) const noexcept operator==(const __inner_type_impl& __other) const noexcept
{ return _M_inner == __other._M_inner; } { return _M_inner == __other._M_inner; }
private: private:
template<typename...> friend class __inner_type_impl; template<typename...> friend class __inner_type_impl;
template<typename, typename...> friend class scoped_allocator_adaptor; template<typename, typename...> friend class scoped_allocator_adaptor;
__type _M_inner; __type _M_inner;
}; };
...@@ -176,9 +176,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -176,9 +176,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Alloc> template<typename _Alloc>
using __outermost_alloc_traits using __outermost_alloc_traits
= allocator_traits<__outermost_type<_Alloc>>; = allocator_traits<__outermost_type<_Alloc>>;
template<typename _Tp, typename... _Args> template<typename _Tp, typename... _Args>
void void
_M_construct(__uses_alloc0, _Tp* __p, _Args&&... __args) _M_construct(__uses_alloc0, _Tp* __p, _Args&&... __args)
{ {
typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits; typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits;
...@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __uses_alloc2<typename __inner_type::__type> __uses_alloc2_; typedef __uses_alloc2<typename __inner_type::__type> __uses_alloc2_;
template<typename _Tp, typename... _Args> template<typename _Tp, typename... _Args>
void void
_M_construct(__uses_alloc1_, _Tp* __p, _Args&&... __args) _M_construct(__uses_alloc1_, _Tp* __p, _Args&&... __args)
{ {
typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits; typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits;
...@@ -200,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -200,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Tp, typename... _Args> template<typename _Tp, typename... _Args>
void void
_M_construct(__uses_alloc2_, _Tp* __p, _Args&&... __args) _M_construct(__uses_alloc2_, _Tp* __p, _Args&&... __args)
{ {
typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits; typedef __outermost_alloc_traits<scoped_allocator_adaptor> _O_traits;
......
...@@ -209,7 +209,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 ...@@ -209,7 +209,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
virtual streamsize virtual streamsize
showmanyc() showmanyc()
{ {
streamsize __ret = -1; streamsize __ret = -1;
if (_M_mode & ios_base::in) if (_M_mode & ios_base::in)
{ {
...@@ -248,10 +248,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 ...@@ -248,10 +248,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
// that an external char_type array of length __n exists // that an external char_type array of length __n exists
// and has been pre-allocated. If this is not the case, // and has been pre-allocated. If this is not the case,
// things will quickly blow up. // things will quickly blow up.
// Step 1: Destroy the current internal array. // Step 1: Destroy the current internal array.
_M_string.clear(); _M_string.clear();
// Step 2: Use the external array. // Step 2: Use the external array.
_M_sync(__s, __n, 0); _M_sync(__s, __n, 0);
} }
......
...@@ -110,13 +110,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -110,13 +110,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* program runs (e.g., violations of class invariants). * program runs (e.g., violations of class invariants).
* @brief One of two subclasses of exception. * @brief One of two subclasses of exception.
*/ */
class logic_error : public exception class logic_error : public exception
{ {
__cow_string _M_msg; __cow_string _M_msg;
public: public:
/** Takes a character string describing the error. */ /** Takes a character string describing the error. */
explicit explicit
logic_error(const string& __arg) _GLIBCXX_TXN_SAFE; logic_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
...@@ -133,7 +133,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -133,7 +133,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** Returns a C-style character string describing the general cause of /** Returns a C-style character string describing the general cause of
* the current error (the same string passed to the ctor). */ * the current error (the same string passed to the ctor). */
virtual const char* virtual const char*
what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT; what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
# ifdef _GLIBCXX_TM_TS_INTERNAL # ifdef _GLIBCXX_TM_TS_INTERNAL
...@@ -144,7 +144,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -144,7 +144,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** Thrown by the library, or by you, to report domain errors (domain in /** Thrown by the library, or by you, to report domain errors (domain in
* the mathematical sense). */ * the mathematical sense). */
class domain_error : public logic_error class domain_error : public logic_error
{ {
public: public:
explicit domain_error(const string& __arg) _GLIBCXX_TXN_SAFE; explicit domain_error(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -155,7 +155,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -155,7 +155,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
/** Thrown to report invalid arguments to functions. */ /** Thrown to report invalid arguments to functions. */
class invalid_argument : public logic_error class invalid_argument : public logic_error
{ {
public: public:
explicit invalid_argument(const string& __arg) _GLIBCXX_TXN_SAFE; explicit invalid_argument(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -167,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -167,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** Thrown when an object is constructed that would exceed its maximum /** Thrown when an object is constructed that would exceed its maximum
* permitted size (e.g., a basic_string instance). */ * permitted size (e.g., a basic_string instance). */
class length_error : public logic_error class length_error : public logic_error
{ {
public: public:
explicit length_error(const string& __arg) _GLIBCXX_TXN_SAFE; explicit length_error(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -179,7 +179,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -179,7 +179,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** This represents an argument whose value is not within the expected /** This represents an argument whose value is not within the expected
* range (e.g., boundary checks in basic_string). */ * range (e.g., boundary checks in basic_string). */
class out_of_range : public logic_error class out_of_range : public logic_error
{ {
public: public:
explicit out_of_range(const string& __arg) _GLIBCXX_TXN_SAFE; explicit out_of_range(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -194,13 +194,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -194,13 +194,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the program executes. * the program executes.
* @brief One of two subclasses of exception. * @brief One of two subclasses of exception.
*/ */
class runtime_error : public exception class runtime_error : public exception
{ {
__cow_string _M_msg; __cow_string _M_msg;
public: public:
/** Takes a character string describing the error. */ /** Takes a character string describing the error. */
explicit explicit
runtime_error(const string& __arg) _GLIBCXX_TXN_SAFE; runtime_error(const string& __arg) _GLIBCXX_TXN_SAFE;
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
...@@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/** Returns a C-style character string describing the general cause of /** Returns a C-style character string describing the general cause of
* the current error (the same string passed to the ctor). */ * the current error (the same string passed to the ctor). */
virtual const char* virtual const char*
what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT; what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;
# ifdef _GLIBCXX_TM_TS_INTERNAL # ifdef _GLIBCXX_TM_TS_INTERNAL
...@@ -227,7 +227,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -227,7 +227,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
/** Thrown to indicate range errors in internal computations. */ /** Thrown to indicate range errors in internal computations. */
class range_error : public runtime_error class range_error : public runtime_error
{ {
public: public:
explicit range_error(const string& __arg) _GLIBCXX_TXN_SAFE; explicit range_error(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -238,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -238,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
/** Thrown to indicate arithmetic overflow. */ /** Thrown to indicate arithmetic overflow. */
class overflow_error : public runtime_error class overflow_error : public runtime_error
{ {
public: public:
explicit overflow_error(const string& __arg) _GLIBCXX_TXN_SAFE; explicit overflow_error(const string& __arg) _GLIBCXX_TXN_SAFE;
...@@ -249,7 +249,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -249,7 +249,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
/** Thrown to indicate arithmetic underflow. */ /** Thrown to indicate arithmetic underflow. */
class underflow_error : public runtime_error class underflow_error : public runtime_error
{ {
public: public:
explicit underflow_error(const string& __arg) _GLIBCXX_TXN_SAFE; explicit underflow_error(const string& __arg) _GLIBCXX_TXN_SAFE;
......
...@@ -46,10 +46,10 @@ ...@@ -46,10 +46,10 @@
#include <bits/stl_iterator_base_funcs.h> #include <bits/stl_iterator_base_funcs.h>
#include <bits/stl_iterator.h> #include <bits/stl_iterator.h>
#include <bits/stl_function.h> // For less #include <bits/stl_function.h> // For less
#include <ext/numeric_traits.h> #include <ext/numeric_traits.h>
#include <bits/stl_algobase.h> #include <bits/stl_algobase.h>
#include <bits/range_access.h> #include <bits/range_access.h>
#include <bits/basic_string.h> #include <bits/basic_string.h>
#include <bits/basic_string.tcc> #include <bits/basic_string.tcc>
#endif /* _GLIBCXX_STRING */ #endif /* _GLIBCXX_STRING */
...@@ -56,7 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -56,7 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
struct is_error_condition_enum : public false_type { }; struct is_error_condition_enum : public false_type { };
template<> template<>
struct is_error_condition_enum<errc> struct is_error_condition_enum<errc>
: public true_type { }; : public true_type { };
...@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
error_category(const error_category&) = delete; error_category(const error_category&) = delete;
error_category& operator=(const error_category&) = delete; error_category& operator=(const error_category&) = delete;
virtual const char* virtual const char*
name() const noexcept = 0; name() const noexcept = 0;
// We need two different virtual functions here, one returning a // We need two different virtual functions here, one returning a
...@@ -91,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -91,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
virtual string virtual string
message(int) const = 0; message(int) const = 0;
#else #else
virtual string virtual string
message(int) const = 0; message(int) const = 0;
private: private:
...@@ -103,21 +103,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -103,21 +103,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
virtual error_condition virtual error_condition
default_error_condition(int __i) const noexcept; default_error_condition(int __i) const noexcept;
virtual bool virtual bool
equivalent(int __i, const error_condition& __cond) const noexcept; equivalent(int __i, const error_condition& __cond) const noexcept;
virtual bool virtual bool
equivalent(const error_code& __code, int __i) const noexcept; equivalent(const error_code& __code, int __i) const noexcept;
bool bool
operator<(const error_category& __other) const noexcept operator<(const error_category& __other) const noexcept
{ return less<const error_category*>()(this, &__other); } { return less<const error_category*>()(this, &__other); }
bool bool
operator==(const error_category& __other) const noexcept operator==(const error_category& __other) const noexcept
{ return this == &__other; } { return this == &__other; }
bool bool
operator!=(const error_category& __other) const noexcept operator!=(const error_category& __other) const noexcept
{ return this != &__other; } { return this != &__other; }
}; };
...@@ -148,14 +148,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -148,14 +148,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
error_code(_ErrorCodeEnum __e) noexcept error_code(_ErrorCodeEnum __e) noexcept
{ *this = make_error_code(__e); } { *this = make_error_code(__e); }
void void
assign(int __v, const error_category& __cat) noexcept assign(int __v, const error_category& __cat) noexcept
{ {
_M_value = __v; _M_value = __v;
_M_cat = &__cat; _M_cat = &__cat;
} }
void void
clear() noexcept clear() noexcept
{ assign(0, system_category()); } { assign(0, system_category()); }
...@@ -168,15 +168,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -168,15 +168,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
int int
value() const noexcept { return _M_value; } value() const noexcept { return _M_value; }
const error_category& const error_category&
category() const noexcept { return *_M_cat; } category() const noexcept { return *_M_cat; }
error_condition error_condition
default_error_condition() const noexcept; default_error_condition() const noexcept;
_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_DEFAULT_ABI_TAG
string string
message() const message() const
{ return category().message(value()); } { return category().message(value()); }
...@@ -198,7 +198,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -198,7 +198,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline bool inline bool
operator<(const error_code& __lhs, const error_code& __rhs) noexcept operator<(const error_code& __lhs, const error_code& __rhs) noexcept
{ {
return (__lhs.category() < __rhs.category() return (__lhs.category() < __rhs.category()
|| (__lhs.category() == __rhs.category() || (__lhs.category() == __rhs.category()
&& __lhs.value() < __rhs.value())); && __lhs.value() < __rhs.value()));
...@@ -213,7 +213,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -213,7 +213,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// error_condition /// error_condition
// Portable error identification // Portable error identification
struct error_condition struct error_condition
{ {
error_condition() noexcept error_condition() noexcept
: _M_value(0), _M_cat(&generic_category()) { } : _M_value(0), _M_cat(&generic_category()) { }
...@@ -240,7 +240,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -240,7 +240,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
operator=(_ErrorConditionEnum __e) noexcept operator=(_ErrorConditionEnum __e) noexcept
{ return *this = make_error_condition(__e); } { return *this = make_error_condition(__e); }
void void
clear() noexcept clear() noexcept
{ assign(0, generic_category()); } { assign(0, generic_category()); }
...@@ -252,7 +252,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -252,7 +252,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
category() const noexcept { return *_M_cat; } category() const noexcept { return *_M_cat; }
_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_DEFAULT_ABI_TAG
string string
message() const message() const
{ return category().message(value()); } { return category().message(value()); }
...@@ -270,7 +270,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -270,7 +270,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
make_error_condition(errc __e) noexcept make_error_condition(errc __e) noexcept
{ return error_condition(static_cast<int>(__e), generic_category()); } { return error_condition(static_cast<int>(__e), generic_category()); }
inline bool inline bool
operator<(const error_condition& __lhs, operator<(const error_condition& __lhs,
const error_condition& __rhs) noexcept const error_condition& __rhs) noexcept
{ {
...@@ -325,7 +325,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -325,7 +325,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return !(__lhs == __rhs); } { return !(__lhs == __rhs); }
/** /**
* @brief Thrown to indicate error code of underlying system. * @brief Thrown to indicate error code of underlying system.
* *
* @ingroup exceptions * @ingroup exceptions
...@@ -358,7 +358,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -358,7 +358,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
virtual ~system_error() noexcept; virtual ~system_error() noexcept;
const error_code& const error_code&
code() const noexcept { return _M_code; } code() const noexcept { return _M_code; }
}; };
......
...@@ -112,7 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -112,7 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ swap(__t); } { swap(__t); }
template<typename _Callable, typename... _Args> template<typename _Callable, typename... _Args>
explicit explicit
thread(_Callable&& __f, _Args&&... __args) thread(_Callable&& __f, _Args&&... __args)
{ {
#ifdef GTHR_ACTIVE_PROXY #ifdef GTHR_ACTIVE_PROXY
......
...@@ -173,7 +173,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -173,7 +173,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* get() operation. * get() operation.
*/ */
template<std::size_t _Idx, typename... _Elements> template<std::size_t _Idx, typename... _Elements>
struct _Tuple_impl; struct _Tuple_impl;
/** /**
* Recursive tuple implementation. Here we store the @c Head element * Recursive tuple implementation. Here we store the @c Head element
...@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
typedef _Head_base<_Idx, _Head> _Base; typedef _Head_base<_Idx, _Head> _Base;
static constexpr _Head& static constexpr _Head&
_M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
static constexpr const _Head& static constexpr const _Head&
...@@ -205,12 +205,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -205,12 +205,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr _Tuple_impl() constexpr _Tuple_impl()
: _Inherited(), _Base() { } : _Inherited(), _Base() { }
explicit explicit
constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
: _Inherited(__tail...), _Base(__head) { } : _Inherited(__tail...), _Base(__head) { }
template<typename _UHead, typename... _UTail, typename = typename template<typename _UHead, typename... _UTail, typename = typename
enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type> enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type>
explicit explicit
constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
: _Inherited(std::forward<_UTail>(__tail)...), : _Inherited(std::forward<_UTail>(__tail)...),
...@@ -222,7 +222,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -222,7 +222,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tuple_impl(_Tuple_impl&& __in) _Tuple_impl(_Tuple_impl&& __in)
noexcept(__and_<is_nothrow_move_constructible<_Head>, noexcept(__and_<is_nothrow_move_constructible<_Head>,
is_nothrow_move_constructible<_Inherited>>::value) is_nothrow_move_constructible<_Inherited>>::value)
: _Inherited(std::move(_M_tail(__in))), : _Inherited(std::move(_M_tail(__in))),
_Base(std::forward<_Head>(_M_head(__in))) { } _Base(std::forward<_Head>(_M_head(__in))) { }
template<typename... _UElements> template<typename... _UElements>
...@@ -260,13 +260,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -260,13 +260,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Alloc> template<typename _Alloc>
_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
const _Tuple_impl& __in) const _Tuple_impl& __in)
: _Inherited(__tag, __a, _M_tail(__in)), : _Inherited(__tag, __a, _M_tail(__in)),
_Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { }
template<typename _Alloc> template<typename _Alloc>
_Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
_Tuple_impl&& __in) _Tuple_impl&& __in)
: _Inherited(__tag, __a, std::move(_M_tail(__in))), : _Inherited(__tag, __a, std::move(_M_tail(__in))),
_Base(__use_alloc<_Head, _Alloc, _Head>(__a), _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
std::forward<_Head>(_M_head(__in))) { } std::forward<_Head>(_M_head(__in))) { }
...@@ -551,7 +551,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -551,7 +551,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
/// Primary class template, tuple /// Primary class template, tuple
template<typename... _Elements> template<typename... _Elements>
class tuple : public _Tuple_impl<0, _Elements...> class tuple : public _Tuple_impl<0, _Elements...>
{ {
typedef _Tuple_impl<0, _Elements...> _Inherited; typedef _Tuple_impl<0, _Elements...> _Inherited;
...@@ -658,7 +658,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -658,7 +658,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr tuple(const tuple&) = default; constexpr tuple(const tuple&) = default;
constexpr tuple(tuple&&) = default; constexpr tuple(tuple&&) = default;
// Shortcut for the cases where constructors taking tuples // Shortcut for the cases where constructors taking tuples
// must avoid creating temporaries. // must avoid creating temporaries.
...@@ -1339,7 +1339,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1339,7 +1339,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return bool(std::get<__i>(__t) == std::get<__i>(__u)) return bool(std::get<__i>(__t) == std::get<__i>(__u))
&& __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
} }
static constexpr bool static constexpr bool
__less(const _Tp& __t, const _Up& __u) __less(const _Tp& __t, const _Up& __u)
{ {
...@@ -1354,7 +1354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1354,7 +1354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
static constexpr bool static constexpr bool
__eq(const _Tp&, const _Up&) { return true; } __eq(const _Tp&, const _Up&) { return true; }
static constexpr bool static constexpr bool
__less(const _Tp&, const _Up&) { return false; } __less(const _Tp&, const _Up&) { return false; }
}; };
...@@ -1569,7 +1569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1569,7 +1569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// swap /// swap
template<typename... _Elements> template<typename... _Elements>
inline void inline void
swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
noexcept(noexcept(__x.swap(__y))) noexcept(noexcept(__x.swap(__y)))
{ __x.swap(__y); } { __x.swap(__y); }
......
...@@ -79,7 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -79,7 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr value_type operator()() const { return value; } constexpr value_type operator()() const { return value; }
#endif #endif
}; };
template<typename _Tp, _Tp __v> template<typename _Tp, _Tp __v>
constexpr _Tp integral_constant<_Tp, __v>::value; constexpr _Tp integral_constant<_Tp, __v>::value;
...@@ -212,7 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -212,7 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<> template<>
struct __is_integral_helper<bool> struct __is_integral_helper<bool>
: public true_type { }; : public true_type { };
template<> template<>
struct __is_integral_helper<char> struct __is_integral_helper<char>
: public true_type { }; : public true_type { };
...@@ -648,7 +648,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -648,7 +648,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
struct is_const<_Tp const> struct is_const<_Tp const>
: public true_type { }; : public true_type { };
/// is_volatile /// is_volatile
template<typename> template<typename>
struct is_volatile struct is_volatile
...@@ -766,7 +766,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -766,7 +766,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __is_array_unknown_bounds struct __is_array_unknown_bounds
: public __and_<is_array<_Tp>, __not_<extent<_Tp>>> : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
{ }; { };
// In N3290 is_destructible does not say anything about function // In N3290 is_destructible does not say anything about function
// types and abstract types, see LWG 2049. This implementation // types and abstract types, see LWG 2049. This implementation
// describes function types as non-destructible and all complete // describes function types as non-destructible and all complete
...@@ -889,9 +889,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -889,9 +889,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct __is_default_constructible_safe; struct __is_default_constructible_safe;
// The following technique is a workaround for a current core language // The following technique is a workaround for a current core language
// restriction, which does not allow for array types to occur in // restriction, which does not allow for array types to occur in
// functional casts of the form T(). Complete arrays can be default- // functional casts of the form T(). Complete arrays can be default-
// constructed, if the element type is default-constructible, but // constructed, if the element type is default-constructible, but
// arrays with unknown bounds are not. // arrays with unknown bounds are not.
template<typename _Tp> template<typename _Tp>
struct __is_default_constructible_safe<_Tp, true> struct __is_default_constructible_safe<_Tp, true>
...@@ -919,7 +919,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -919,7 +919,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// This implementation uses different strategies depending on the // This implementation uses different strategies depending on the
// target type to reduce the test overhead as much as possible: // target type to reduce the test overhead as much as possible:
// //
// a) For a reference target type, we use a static_cast expression // a) For a reference target type, we use a static_cast expression
// modulo its extra cases. // modulo its extra cases.
// //
// b) For a non-reference target type we use a ::new expression. // b) For a non-reference target type we use a ::new expression.
...@@ -990,7 +990,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -990,7 +990,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct remove_reference; struct remove_reference;
template<typename _From, typename _To, bool template<typename _From, typename _To, bool
= __not_<__or_<is_void<_From>, = __not_<__or_<is_void<_From>,
is_function<_From>>>::value> is_function<_From>>>::value>
struct __is_base_to_derived_ref; struct __is_base_to_derived_ref;
...@@ -1027,7 +1027,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1027,7 +1027,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_From>::type>::type __src_t; _From>::type>::type __src_t;
typedef typename remove_cv<typename remove_reference< typedef typename remove_cv<typename remove_reference<
_To>::type>::type __dst_t; _To>::type>::type __dst_t;
typedef __and_<__not_<is_function<__src_t>>, typedef __and_<__not_<is_function<__src_t>>,
__or_<is_same<__src_t, __dst_t>, __or_<is_same<__src_t, __dst_t>,
is_base_of<__dst_t, __src_t>>> type; is_base_of<__dst_t, __src_t>>> type;
static constexpr bool value = type::value; static constexpr bool value = type::value;
...@@ -1038,11 +1038,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1038,11 +1038,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: public false_type : public false_type
{ }; { };
// Here we handle direct-initialization to a reference type as // Here we handle direct-initialization to a reference type as
// equivalent to a static_cast modulo overshooting conversions. // equivalent to a static_cast modulo overshooting conversions.
// These are restricted to the following conversions: // These are restricted to the following conversions:
// a) A base class value to a derived class reference // a) A base class value to a derived class reference
// b) An lvalue to an rvalue-reference of reference-compatible // b) An lvalue to an rvalue-reference of reference-compatible
// types that are not functions // types that are not functions
template<typename _Tp, typename _Arg> template<typename _Tp, typename _Arg>
struct __is_direct_constructible_ref_cast struct __is_direct_constructible_ref_cast
...@@ -1350,7 +1350,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1350,7 +1350,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: public __and_<is_constructible<_Tp, _Args...>, integral_constant<bool, : public __and_<is_constructible<_Tp, _Args...>, integral_constant<bool,
__is_trivially_constructible(_Tp, _Args...)>> __is_trivially_constructible(_Tp, _Args...)>>
{ }; { };
/// is_trivially_default_constructible /// is_trivially_default_constructible
template<typename _Tp> template<typename _Tp>
struct is_trivially_default_constructible struct is_trivially_default_constructible
...@@ -1390,15 +1390,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1390,15 +1390,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// is_trivially_copy_constructible /// is_trivially_copy_constructible
template<typename _Tp> template<typename _Tp>
struct is_trivially_copy_constructible struct is_trivially_copy_constructible
: public __and_<is_copy_constructible<_Tp>, : public __and_<is_copy_constructible<_Tp>,
integral_constant<bool, integral_constant<bool,
__is_trivially_constructible(_Tp, const _Tp&)>> __is_trivially_constructible(_Tp, const _Tp&)>>
{ }; { };
/// is_trivially_move_constructible /// is_trivially_move_constructible
template<typename _Tp> template<typename _Tp>
struct is_trivially_move_constructible struct is_trivially_move_constructible
: public __and_<is_move_constructible<_Tp>, : public __and_<is_move_constructible<_Tp>,
integral_constant<bool, integral_constant<bool,
__is_trivially_constructible(_Tp, _Tp&&)>> __is_trivially_constructible(_Tp, _Tp&&)>>
{ }; { };
...@@ -1406,7 +1406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1406,7 +1406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// is_trivially_assignable /// is_trivially_assignable
template<typename _Tp, typename _Up> template<typename _Tp, typename _Up>
struct is_trivially_assignable struct is_trivially_assignable
: public __and_<is_assignable<_Tp, _Up>, : public __and_<is_assignable<_Tp, _Up>,
integral_constant<bool, integral_constant<bool,
__is_trivially_assignable(_Tp, _Up)>> __is_trivially_assignable(_Tp, _Up)>>
{ }; { };
...@@ -1414,7 +1414,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1414,7 +1414,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// is_trivially_copy_assignable /// is_trivially_copy_assignable
template<typename _Tp> template<typename _Tp>
struct is_trivially_copy_assignable struct is_trivially_copy_assignable
: public __and_<is_copy_assignable<_Tp>, : public __and_<is_copy_assignable<_Tp>,
integral_constant<bool, integral_constant<bool,
__is_trivially_assignable(_Tp&, const _Tp&)>> __is_trivially_assignable(_Tp&, const _Tp&)>>
{ }; { };
...@@ -1422,7 +1422,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1422,7 +1422,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// is_trivially_move_assignable /// is_trivially_move_assignable
template<typename _Tp> template<typename _Tp>
struct is_trivially_move_assignable struct is_trivially_move_assignable
: public __and_<is_move_assignable<_Tp>, : public __and_<is_move_assignable<_Tp>,
integral_constant<bool, integral_constant<bool,
__is_trivially_assignable(_Tp&, _Tp&&)>> __is_trivially_assignable(_Tp&, _Tp&&)>>
{ }; { };
...@@ -1458,19 +1458,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1458,19 +1458,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: public integral_constant<bool, __has_virtual_destructor(_Tp)> : public integral_constant<bool, __has_virtual_destructor(_Tp)>
{ }; { };
// type property queries. // type property queries.
/// alignment_of /// alignment_of
template<typename _Tp> template<typename _Tp>
struct alignment_of struct alignment_of
: public integral_constant<std::size_t, __alignof__(_Tp)> { }; : public integral_constant<std::size_t, __alignof__(_Tp)> { };
/// rank /// rank
template<typename> template<typename>
struct rank struct rank
: public integral_constant<std::size_t, 0> { }; : public integral_constant<std::size_t, 0> { };
template<typename _Tp, std::size_t _Size> template<typename _Tp, std::size_t _Size>
struct rank<_Tp[_Size]> struct rank<_Tp[_Size]>
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
...@@ -1483,7 +1483,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1483,7 +1483,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename, unsigned _Uint> template<typename, unsigned _Uint>
struct extent struct extent
: public integral_constant<std::size_t, 0> { }; : public integral_constant<std::size_t, 0> { };
template<typename _Tp, unsigned _Uint, std::size_t _Size> template<typename _Tp, unsigned _Uint, std::size_t _Size>
struct extent<_Tp[_Size], _Uint> struct extent<_Tp[_Size], _Uint>
: public integral_constant<std::size_t, : public integral_constant<std::size_t,
...@@ -1559,7 +1559,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1559,7 +1559,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
struct remove_const<_Tp const> struct remove_const<_Tp const>
{ typedef _Tp type; }; { typedef _Tp type; };
/// remove_volatile /// remove_volatile
template<typename _Tp> template<typename _Tp>
struct remove_volatile struct remove_volatile
...@@ -1568,7 +1568,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1568,7 +1568,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
struct remove_volatile<_Tp volatile> struct remove_volatile<_Tp volatile>
{ typedef _Tp type; }; { typedef _Tp type; };
/// remove_cv /// remove_cv
template<typename _Tp> template<typename _Tp>
struct remove_cv struct remove_cv
...@@ -1576,17 +1576,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1576,17 +1576,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef typename typedef typename
remove_const<typename remove_volatile<_Tp>::type>::type type; remove_const<typename remove_volatile<_Tp>::type>::type type;
}; };
/// add_const /// add_const
template<typename _Tp> template<typename _Tp>
struct add_const struct add_const
{ typedef _Tp const type; }; { typedef _Tp const type; };
/// add_volatile /// add_volatile
template<typename _Tp> template<typename _Tp>
struct add_volatile struct add_volatile
{ typedef _Tp volatile type; }; { typedef _Tp volatile type; };
/// add_cv /// add_cv
template<typename _Tp> template<typename _Tp>
struct add_cv struct add_cv
...@@ -1711,7 +1711,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1711,7 +1711,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
public: public:
typedef typename __match::__type __type; typedef typename __match::__type __type;
}; };
// Utility for finding the unsigned versions of signed integral types. // Utility for finding the unsigned versions of signed integral types.
...@@ -1771,7 +1771,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1771,7 +1771,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
// Select between integral and enum: not possible to be both. // Select between integral and enum: not possible to be both.
template<typename _Tp, template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value, bool _IsInt = is_integral<_Tp>::value,
bool _IsEnum = is_enum<_Tp>::value> bool _IsEnum = is_enum<_Tp>::value>
class __make_unsigned_selector; class __make_unsigned_selector;
...@@ -1816,7 +1816,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1816,7 +1816,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Primary template. // Primary template.
/// make_unsigned /// make_unsigned
template<typename _Tp> template<typename _Tp>
struct make_unsigned struct make_unsigned
{ typedef typename __make_unsigned_selector<_Tp>::__type type; }; { typedef typename __make_unsigned_selector<_Tp>::__type type; };
// Integral, but don't define. // Integral, but don't define.
...@@ -1890,7 +1890,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1890,7 +1890,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
// Select between integral and enum: not possible to be both. // Select between integral and enum: not possible to be both.
template<typename _Tp, template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value, bool _IsInt = is_integral<_Tp>::value,
bool _IsEnum = is_enum<_Tp>::value> bool _IsEnum = is_enum<_Tp>::value>
class __make_signed_selector; class __make_signed_selector;
...@@ -1920,7 +1920,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1920,7 +1920,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Primary template. // Primary template.
/// make_signed /// make_signed
template<typename _Tp> template<typename _Tp>
struct make_signed struct make_signed
{ typedef typename __make_signed_selector<_Tp>::__type type; }; { typedef typename __make_signed_selector<_Tp>::__type type; };
// Integral, but don't define. // Integral, but don't define.
...@@ -2002,7 +2002,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2002,7 +2002,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ typedef typename remove_reference<_Tp>::type* type; }; { typedef typename remove_reference<_Tp>::type* type; };
template<typename _Tp> template<typename _Tp>
struct add_pointer struct add_pointer
: public __add_pointer_helper<_Tp> : public __add_pointer_helper<_Tp>
{ }; { };
...@@ -2018,11 +2018,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2018,11 +2018,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<std::size_t _Len> template<std::size_t _Len>
struct __aligned_storage_msa struct __aligned_storage_msa
{ {
union __type union __type
{ {
unsigned char __data[_Len]; unsigned char __data[_Len];
struct __attribute__((__aligned__)) { } __align; struct __attribute__((__aligned__)) { } __align;
}; };
}; };
...@@ -2039,11 +2039,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2039,11 +2039,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<std::size_t _Len, std::size_t _Align = template<std::size_t _Len, std::size_t _Align =
__alignof__(typename __aligned_storage_msa<_Len>::__type)> __alignof__(typename __aligned_storage_msa<_Len>::__type)>
struct aligned_storage struct aligned_storage
{ {
union type union type
{ {
unsigned char __data[_Len]; unsigned char __data[_Len];
struct __attribute__((__aligned__((_Align)))) { } __align; struct __attribute__((__aligned__((_Align)))) { } __align;
}; };
}; };
...@@ -2096,28 +2096,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2096,28 +2096,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Decay trait for arrays and functions, used for perfect forwarding // Decay trait for arrays and functions, used for perfect forwarding
// in make_pair, make_tuple, etc. // in make_pair, make_tuple, etc.
template<typename _Up, template<typename _Up,
bool _IsArray = is_array<_Up>::value, bool _IsArray = is_array<_Up>::value,
bool _IsFunction = is_function<_Up>::value> bool _IsFunction = is_function<_Up>::value>
struct __decay_selector; struct __decay_selector;
// NB: DR 705. // NB: DR 705.
template<typename _Up> template<typename _Up>
struct __decay_selector<_Up, false, false> struct __decay_selector<_Up, false, false>
{ typedef typename remove_cv<_Up>::type __type; }; { typedef typename remove_cv<_Up>::type __type; };
template<typename _Up> template<typename _Up>
struct __decay_selector<_Up, true, false> struct __decay_selector<_Up, true, false>
{ typedef typename remove_extent<_Up>::type* __type; }; { typedef typename remove_extent<_Up>::type* __type; };
template<typename _Up> template<typename _Up>
struct __decay_selector<_Up, false, true> struct __decay_selector<_Up, false, true>
{ typedef typename add_pointer<_Up>::type __type; }; { typedef typename add_pointer<_Up>::type __type; };
/// decay /// decay
template<typename _Tp> template<typename _Tp>
class decay class decay
{ {
typedef typename remove_reference<_Tp>::type __remove_type; typedef typename remove_reference<_Tp>::type __remove_type;
public: public:
...@@ -2151,7 +2151,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2151,7 +2151,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Primary template. // Primary template.
/// Define a member typedef @c type only if a boolean constant is true. /// Define a member typedef @c type only if a boolean constant is true.
template<bool, typename _Tp = void> template<bool, typename _Tp = void>
struct enable_if struct enable_if
{ }; { };
// Partial specialization for true. // Partial specialization for true.
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
*/ */
/** @file include/utility /** @file include/utility
* This is a Standard C++ Library header. * This is a Standard C++ Library header.
*/ */
#ifndef _GLIBCXX_UTILITY #ifndef _GLIBCXX_UTILITY
...@@ -150,7 +150,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -150,7 +150,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _Tp1, class _Tp2> template<class _Tp1, class _Tp2>
struct tuple_element<0, std::pair<_Tp1, _Tp2>> struct tuple_element<0, std::pair<_Tp1, _Tp2>>
{ typedef _Tp1 type; }; { typedef _Tp1 type; };
/// Partial specialization for std::pair /// Partial specialization for std::pair
template<class _Tp1, class _Tp2> template<class _Tp1, class _Tp2>
struct tuple_element<1, std::pair<_Tp1, _Tp2>> struct tuple_element<1, std::pair<_Tp1, _Tp2>>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
// <http://www.gnu.org/licenses/>. // <http://www.gnu.org/licenses/>.
/** @file include/valarray /** @file include/valarray
* This is a Standard C++ Library header. * This is a Standard C++ Library header.
*/ */
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
...@@ -45,11 +45,11 @@ namespace std _GLIBCXX_VISIBILITY(default) ...@@ -45,11 +45,11 @@ namespace std _GLIBCXX_VISIBILITY(default)
{ {
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _Clos, typename _Tp> template<class _Clos, typename _Tp>
class _Expr; class _Expr;
template<typename _Tp1, typename _Tp2> template<typename _Tp1, typename _Tp2>
class _ValArray; class _ValArray;
template<class _Oper, template<class, class> class _Meta, class _Dom> template<class _Oper, template<class, class> class _Meta, class _Dom>
struct _UnClos; struct _UnClos;
...@@ -57,22 +57,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -57,22 +57,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<class _Oper, template<class _Oper,
template<class, class> class _Meta1, template<class, class> class _Meta1,
template<class, class> class _Meta2, template<class, class> class _Meta2,
class _Dom1, class _Dom2> class _Dom1, class _Dom2>
class _BinClos; class _BinClos;
template<template<class, class> class _Meta, class _Dom> template<template<class, class> class _Meta, class _Dom>
class _SClos; class _SClos;
template<template<class, class> class _Meta, class _Dom> template<template<class, class> class _Meta, class _Dom>
class _GClos; class _GClos;
template<template<class, class> class _Meta, class _Dom> template<template<class, class> class _Meta, class _Dom>
class _IClos; class _IClos;
template<template<class, class> class _Meta, class _Dom> template<template<class, class> class _Meta, class _Dom>
class _ValFunClos; class _ValFunClos;
template<template<class, class> class _Meta, class _Dom> template<template<class, class> class _Meta, class _Dom>
class _RefFunClos; class _RefFunClos;
template<class _Tp> class valarray; // An array of type _Tp template<class _Tp> class valarray; // An array of type _Tp
...@@ -88,7 +88,7 @@ _GLIBCXX_END_NAMESPACE_VERSION ...@@ -88,7 +88,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
#include <bits/valarray_array.h> #include <bits/valarray_array.h>
#include <bits/valarray_before.h> #include <bits/valarray_before.h>
namespace std _GLIBCXX_VISIBILITY(default) namespace std _GLIBCXX_VISIBILITY(default)
{ {
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
...@@ -109,21 +109,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -109,21 +109,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* aliasing that can result from pointer representations. It represents a * aliasing that can result from pointer representations. It represents a
* one-dimensional array from which different multidimensional subsets can * one-dimensional array from which different multidimensional subsets can
* be accessed and modified. * be accessed and modified.
* *
* @tparam _Tp Type of object in the array. * @tparam _Tp Type of object in the array.
*/ */
template<class _Tp> template<class _Tp>
class valarray class valarray
{ {
template<class _Op> template<class _Op>
struct _UnaryOp struct _UnaryOp
{ {
typedef typename __fun<_Op, _Tp>::result_type __rt; typedef typename __fun<_Op, _Tp>::result_type __rt;
typedef _Expr<_UnClos<_Op, _ValArray, _Tp>, __rt> _Rt; typedef _Expr<_UnClos<_Op, _ValArray, _Tp>, __rt> _Rt;
}; };
public: public:
typedef _Tp value_type; typedef _Tp value_type;
// _lib.valarray.cons_ construct/destroy: // _lib.valarray.cons_ construct/destroy:
/// Construct an empty array. /// Construct an empty array.
valarray(); valarray();
...@@ -254,7 +254,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -254,7 +254,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// _lib.valarray.access_ element access: // _lib.valarray.access_ element access:
/** /**
* Return a reference to the i'th array element. * Return a reference to the i'th array element.
* *
* @param __i Index of element to return. * @param __i Index of element to return.
* @return Reference to the i'th element. * @return Reference to the i'th element.
...@@ -482,10 +482,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -482,10 +482,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Tp sum() const; _Tp sum() const;
/// Return the minimum element using operator<(). /// Return the minimum element using operator<().
_Tp min() const; _Tp min() const;
/// Return the maximum element using operator<(). /// Return the maximum element using operator<().
_Tp max() const; _Tp max() const;
/** /**
* @brief Return a shifted array. * @brief Return a shifted array.
...@@ -559,14 +559,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -559,14 +559,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
private: private:
size_t _M_size; size_t _M_size;
_Tp* __restrict__ _M_data; _Tp* __restrict__ _M_data;
friend class _Array<_Tp>; friend class _Array<_Tp>;
}; };
template<typename _Tp> template<typename _Tp>
inline const _Tp& inline const _Tp&
valarray<_Tp>::operator[](size_t __i) const valarray<_Tp>::operator[](size_t __i) const
{ {
__glibcxx_requires_subscript(__i); __glibcxx_requires_subscript(__i);
return _M_data[__i]; return _M_data[__i];
} }
...@@ -574,7 +574,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -574,7 +574,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
inline _Tp& inline _Tp&
valarray<_Tp>::operator[](size_t __i) valarray<_Tp>::operator[](size_t __i)
{ {
__glibcxx_requires_subscript(__i); __glibcxx_requires_subscript(__i);
return _M_data[__i]; return _M_data[__i];
} }
...@@ -605,8 +605,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -605,8 +605,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {} valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {}
template<typename _Tp> template<typename _Tp>
inline inline
valarray<_Tp>::valarray(size_t __n) valarray<_Tp>::valarray(size_t __n)
: _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n))
{ std::__valarray_default_construct(_M_data, _M_data + __n); } { std::__valarray_default_construct(_M_data, _M_data + __n); }
...@@ -620,9 +620,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -620,9 +620,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
inline inline
valarray<_Tp>::valarray(const _Tp* __restrict__ __p, size_t __n) valarray<_Tp>::valarray(const _Tp* __restrict__ __p, size_t __n)
: _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n)) : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n))
{ {
__glibcxx_assert(__p != 0 || __n == 0); __glibcxx_assert(__p != 0 || __n == 0);
std::__valarray_copy_construct(__p, __p + __n, _M_data); std::__valarray_copy_construct(__p, __p + __n, _M_data);
} }
template<typename _Tp> template<typename _Tp>
...@@ -917,7 +917,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -917,7 +917,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
template<class _Tp> template<class _Tp>
inline size_t inline size_t
valarray<_Tp>::size() const valarray<_Tp>::size() const
{ return _M_size; } { return _M_size; }
...@@ -1027,7 +1027,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1027,7 +1027,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
std::__valarray_fill_construct(_M_data, _M_data + __n, __c); std::__valarray_fill_construct(_M_data, _M_data + __n, __c);
} }
template<typename _Tp> template<typename _Tp>
inline _Tp inline _Tp
valarray<_Tp>::min() const valarray<_Tp>::min() const
...@@ -1043,7 +1043,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1043,7 +1043,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__glibcxx_assert(_M_size > 0); __glibcxx_assert(_M_size > 0);
return *std::max_element(_M_data, _M_data + _M_size); return *std::max_element(_M_data, _M_data + _M_size);
} }
template<class _Tp> template<class _Tp>
inline _Expr<_ValFunClos<_ValArray, _Tp>, _Tp> inline _Expr<_ValFunClos<_ValArray, _Tp>, _Tp>
valarray<_Tp>::apply(_Tp func(_Tp)) const valarray<_Tp>::apply(_Tp func(_Tp)) const
...@@ -1130,7 +1130,7 @@ _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, __shift_left) ...@@ -1130,7 +1130,7 @@ _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, __shift_left)
_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, __shift_right) _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, __shift_right)
#undef _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT #undef _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT
#define _DEFINE_BINARY_OPERATOR(_Op, _Name) \ #define _DEFINE_BINARY_OPERATOR(_Op, _Name) \
template<typename _Tp> \ template<typename _Tp> \
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
#include <bits/stl_construct.h> #include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h> #include <bits/stl_uninitialized.h>
#include <bits/stl_vector.h> #include <bits/stl_vector.h>
#include <bits/stl_bvector.h> #include <bits/stl_bvector.h>
#include <bits/range_access.h> #include <bits/range_access.h>
#ifndef _GLIBCXX_EXPORT_TEMPLATE #ifndef _GLIBCXX_EXPORT_TEMPLATE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment