|
@@ -1217,38 +1217,38 @@ make_move_iterator(_Iter __i)
|
|
template <class _Iter> class __wrap_iter;
|
|
template <class _Iter> class __wrap_iter;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
auto
|
|
auto
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
-> decltype(__x.base() - __y.base());
|
|
-> decltype(__x.base() - __y.base());
|
|
@@ -1260,7 +1260,7 @@ operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBU
|
|
#endif
|
|
#endif
|
|
|
|
|
|
template <class _Iter>
|
|
template <class _Iter>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
__wrap_iter<_Iter>
|
|
__wrap_iter<_Iter>
|
|
operator+(typename __wrap_iter<_Iter>::difference_type, __wrap_iter<_Iter>) _NOEXCEPT_DEBUG;
|
|
operator+(typename __wrap_iter<_Iter>::difference_type, __wrap_iter<_Iter>) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
@@ -1272,7 +1272,7 @@ template <class _B1, class _B2> _B2 _LIBCPP_INLINE_VISIBILITY move_backward(_B1,
|
|
#if _LIBCPP_DEBUG_LEVEL < 2
|
|
#if _LIBCPP_DEBUG_LEVEL < 2
|
|
|
|
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
-_LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
typename enable_if
|
|
typename enable_if
|
|
<
|
|
<
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
@@ -1283,7 +1283,7 @@ __unwrap_iter(__wrap_iter<_Tp*>);
|
|
#else
|
|
#else
|
|
|
|
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
typename enable_if
|
|
typename enable_if
|
|
<
|
|
<
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
@@ -1306,7 +1306,7 @@ public:
|
|
private:
|
|
private:
|
|
iterator_type __i;
|
|
iterator_type __i;
|
|
public:
|
|
public:
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter() _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter() _NOEXCEPT_DEBUG
|
|
#if _LIBCPP_STD_VER > 11
|
|
#if _LIBCPP_STD_VER > 11
|
|
: __i{}
|
|
: __i{}
|
|
#endif
|
|
#endif
|
|
@@ -1315,22 +1315,23 @@ public:
|
|
__get_db()->__insert_i(this);
|
|
__get_db()->__insert_i(this);
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
- template <class _Up> _LIBCPP_INLINE_VISIBILITY __wrap_iter(const __wrap_iter<_Up>& __u,
|
|
|
|
- typename enable_if<is_convertible<_Up, iterator_type>::value>::type* = 0) _NOEXCEPT_DEBUG
|
|
|
|
- : __i(__u.base())
|
|
|
|
|
|
+ template <class _Up> _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
|
|
+ __wrap_iter(const __wrap_iter<_Up>& __u,
|
|
|
|
+ typename enable_if<is_convertible<_Up, iterator_type>::value>::type* = 0) _NOEXCEPT_DEBUG
|
|
|
|
+ : __i(__u.base())
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
__get_db()->__iterator_copy(this, &__u);
|
|
__get_db()->__iterator_copy(this, &__u);
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
- _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
__wrap_iter(const __wrap_iter& __x)
|
|
__wrap_iter(const __wrap_iter& __x)
|
|
: __i(__x.base())
|
|
: __i(__x.base())
|
|
{
|
|
{
|
|
__get_db()->__iterator_copy(this, &__x);
|
|
__get_db()->__iterator_copy(this, &__x);
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
__wrap_iter& operator=(const __wrap_iter& __x)
|
|
__wrap_iter& operator=(const __wrap_iter& __x)
|
|
{
|
|
{
|
|
if (this != &__x)
|
|
if (this != &__x)
|
|
@@ -1340,13 +1341,13 @@ public:
|
|
}
|
|
}
|
|
return *this;
|
|
return *this;
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
~__wrap_iter()
|
|
~__wrap_iter()
|
|
{
|
|
{
|
|
__get_db()->__erase_i(this);
|
|
__get_db()->__erase_i(this);
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
- _LIBCPP_INLINE_VISIBILITY reference operator*() const _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG reference operator*() const _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
@@ -1354,7 +1355,7 @@ public:
|
|
#endif
|
|
#endif
|
|
return *__i;
|
|
return *__i;
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY pointer operator->() const _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG pointer operator->() const _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
@@ -1362,7 +1363,7 @@ public:
|
|
#endif
|
|
#endif
|
|
return (pointer)_VSTD::addressof(*__i);
|
|
return (pointer)_VSTD::addressof(*__i);
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter& operator++() _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator++() _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
_LIBCPP_ASSERT(__get_const_db()->__dereferenceable(this),
|
|
@@ -1371,7 +1372,7 @@ public:
|
|
++__i;
|
|
++__i;
|
|
return *this;
|
|
return *this;
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter operator++(int) _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter operator++(int) _NOEXCEPT_DEBUG
|
|
{__wrap_iter __tmp(*this); ++(*this); return __tmp;}
|
|
{__wrap_iter __tmp(*this); ++(*this); return __tmp;}
|
|
_LIBCPP_INLINE_VISIBILITY __wrap_iter& operator--() _NOEXCEPT_DEBUG
|
|
_LIBCPP_INLINE_VISIBILITY __wrap_iter& operator--() _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1382,11 +1383,11 @@ public:
|
|
--__i;
|
|
--__i;
|
|
return *this;
|
|
return *this;
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter operator--(int) _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter operator--(int) _NOEXCEPT_DEBUG
|
|
{__wrap_iter __tmp(*this); --(*this); return __tmp;}
|
|
{__wrap_iter __tmp(*this); --(*this); return __tmp;}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter operator+ (difference_type __n) const _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter operator+ (difference_type __n) const _NOEXCEPT_DEBUG
|
|
{__wrap_iter __w(*this); __w += __n; return __w;}
|
|
{__wrap_iter __w(*this); __w += __n; return __w;}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter& operator+=(difference_type __n) _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator+=(difference_type __n) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
_LIBCPP_ASSERT(__get_const_db()->__addable(this, __n),
|
|
_LIBCPP_ASSERT(__get_const_db()->__addable(this, __n),
|
|
@@ -1395,11 +1396,11 @@ public:
|
|
__i += __n;
|
|
__i += __n;
|
|
return *this;
|
|
return *this;
|
|
}
|
|
}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter operator- (difference_type __n) const _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter operator- (difference_type __n) const _NOEXCEPT_DEBUG
|
|
{return *this + (-__n);}
|
|
{return *this + (-__n);}
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter& operator-=(difference_type __n) _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter& operator-=(difference_type __n) _NOEXCEPT_DEBUG
|
|
{*this += -__n; return *this;}
|
|
{*this += -__n; return *this;}
|
|
- _LIBCPP_INLINE_VISIBILITY reference operator[](difference_type __n) const _NOEXCEPT_DEBUG
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG reference operator[](difference_type __n) const _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
_LIBCPP_ASSERT(__get_const_db()->__subscriptable(this, __n),
|
|
_LIBCPP_ASSERT(__get_const_db()->__subscriptable(this, __n),
|
|
@@ -1408,67 +1409,68 @@ public:
|
|
return __i[__n];
|
|
return __i[__n];
|
|
}
|
|
}
|
|
|
|
|
|
- _LIBCPP_INLINE_VISIBILITY iterator_type base() const _NOEXCEPT_DEBUG {return __i;}
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG iterator_type base() const _NOEXCEPT_DEBUG {return __i;}
|
|
|
|
|
|
private:
|
|
private:
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
#if _LIBCPP_DEBUG_LEVEL >= 2
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter(const void* __p, iterator_type __x) : __i(__x)
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter(const void* __p, iterator_type __x) : __i(__x)
|
|
{
|
|
{
|
|
__get_db()->__insert_ic(this, __p);
|
|
__get_db()->__insert_ic(this, __p);
|
|
}
|
|
}
|
|
#else
|
|
#else
|
|
- _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT_DEBUG : __i(__x) {}
|
|
|
|
|
|
+ _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG __wrap_iter(iterator_type __x) _NOEXCEPT_DEBUG : __i(__x) {}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
template <class _Up> friend class __wrap_iter;
|
|
template <class _Up> friend class __wrap_iter;
|
|
template <class _CharT, class _Traits, class _Alloc> friend class basic_string;
|
|
template <class _CharT, class _Traits, class _Alloc> friend class basic_string;
|
|
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
|
|
template <class _Tp, class _Alloc> friend class _LIBCPP_TEMPLATE_VIS vector;
|
|
|
|
+ template <class _Tp, ptrdiff_t> friend class _LIBCPP_TEMPLATE_VIS span;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator==(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator<(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator!=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator>(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator>=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
bool
|
|
bool
|
|
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator<=(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
auto
|
|
auto
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
-> decltype(__x.base() - __y.base());
|
|
-> decltype(__x.base() - __y.base());
|
|
#else
|
|
#else
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
typename __wrap_iter<_Iter1>::difference_type
|
|
typename __wrap_iter<_Iter1>::difference_type
|
|
operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
operator-(const __wrap_iter<_Iter1>&, const __wrap_iter<_Iter2>&) _NOEXCEPT_DEBUG;
|
|
#endif
|
|
#endif
|
|
|
|
|
|
template <class _Iter1>
|
|
template <class _Iter1>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
__wrap_iter<_Iter1>
|
|
__wrap_iter<_Iter1>
|
|
operator+(typename __wrap_iter<_Iter1>::difference_type, __wrap_iter<_Iter1>) _NOEXCEPT_DEBUG;
|
|
operator+(typename __wrap_iter<_Iter1>::difference_type, __wrap_iter<_Iter1>) _NOEXCEPT_DEBUG;
|
|
|
|
|
|
@@ -1479,7 +1481,7 @@ private:
|
|
|
|
|
|
#if _LIBCPP_DEBUG_LEVEL < 2
|
|
#if _LIBCPP_DEBUG_LEVEL < 2
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
- friend
|
|
|
|
|
|
+ _LIBCPP_CONSTEXPR_IF_NODEBUG friend
|
|
typename enable_if
|
|
typename enable_if
|
|
<
|
|
<
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
@@ -1488,7 +1490,7 @@ private:
|
|
__unwrap_iter(__wrap_iter<_Tp*>);
|
|
__unwrap_iter(__wrap_iter<_Tp*>);
|
|
#else
|
|
#else
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
- inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+ inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
typename enable_if
|
|
typename enable_if
|
|
<
|
|
<
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
is_trivially_copy_assignable<_Tp>::value,
|
|
@@ -1499,7 +1501,7 @@ private:
|
|
};
|
|
};
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1507,7 +1509,7 @@ operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1519,7 +1521,7 @@ operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXC
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1527,7 +1529,7 @@ operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1535,7 +1537,7 @@ operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXC
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1543,7 +1545,7 @@ operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1551,7 +1553,7 @@ operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1>
|
|
template <class _Iter1>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1559,7 +1561,7 @@ operator!=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1>
|
|
template <class _Iter1>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1567,7 +1569,7 @@ operator>(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXC
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1>
|
|
template <class _Iter1>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1575,7 +1577,7 @@ operator>=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEX
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Iter1>
|
|
template <class _Iter1>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
bool
|
|
bool
|
|
operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1584,7 +1586,7 @@ operator<=(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter1>& __y) _NOEX
|
|
|
|
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
auto
|
|
auto
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
-> decltype(__x.base() - __y.base())
|
|
-> decltype(__x.base() - __y.base())
|
|
@@ -1597,7 +1599,7 @@ operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXC
|
|
}
|
|
}
|
|
#else
|
|
#else
|
|
template <class _Iter1, class _Iter2>
|
|
template <class _Iter1, class _Iter2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
typename __wrap_iter<_Iter1>::difference_type
|
|
typename __wrap_iter<_Iter1>::difference_type
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT_DEBUG
|
|
{
|
|
{
|
|
@@ -1610,7 +1612,7 @@ operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXC
|
|
#endif
|
|
#endif
|
|
|
|
|
|
template <class _Iter>
|
|
template <class _Iter>
|
|
-inline _LIBCPP_INLINE_VISIBILITY
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_IF_NODEBUG
|
|
__wrap_iter<_Iter>
|
|
__wrap_iter<_Iter>
|
|
operator+(typename __wrap_iter<_Iter>::difference_type __n,
|
|
operator+(typename __wrap_iter<_Iter>::difference_type __n,
|
|
__wrap_iter<_Iter> __x) _NOEXCEPT_DEBUG
|
|
__wrap_iter<_Iter> __x) _NOEXCEPT_DEBUG
|