|
@@ -811,7 +811,8 @@ struct __debug_less
|
|
// all_of
|
|
// all_of
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -824,7 +825,8 @@ all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
// any_of
|
|
// any_of
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -837,7 +839,8 @@ any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
// none_of
|
|
// none_of
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -882,7 +885,8 @@ for_each_n(_InputIterator __first, _Size __orig_n, _Function __f)
|
|
// find
|
|
// find
|
|
|
|
|
|
template <class _InputIterator, class _Tp>
|
|
template <class _InputIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_InputIterator
|
|
_InputIterator
|
|
find(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
find(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -895,7 +899,8 @@ find(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
// find_if
|
|
// find_if
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_InputIterator
|
|
_InputIterator
|
|
find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -908,7 +913,8 @@ find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
// find_if_not
|
|
// find_if_not
|
|
|
|
|
|
template<class _InputIterator, class _Predicate>
|
|
template<class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_InputIterator
|
|
_InputIterator
|
|
find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -1043,7 +1049,8 @@ __find_end(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
@@ -1055,7 +1062,8 @@ find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
@@ -1081,7 +1089,8 @@ __find_first_of_ce(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
|
|
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
@@ -1090,7 +1099,8 @@ find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
@@ -1103,7 +1113,8 @@ find_first_of(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
// adjacent_find
|
|
// adjacent_find
|
|
|
|
|
|
template <class _ForwardIterator, class _BinaryPredicate>
|
|
template <class _ForwardIterator, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
|
|
adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
|
|
{
|
|
{
|
|
@@ -1121,7 +1132,8 @@ adjacent_find(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicat
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator>
|
|
template <class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
|
|
adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -1132,7 +1144,8 @@ adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
|
|
// count
|
|
// count
|
|
|
|
|
|
template <class _InputIterator, class _Tp>
|
|
template <class _InputIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
typename iterator_traits<_InputIterator>::difference_type
|
|
typename iterator_traits<_InputIterator>::difference_type
|
|
count(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
count(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -1146,7 +1159,8 @@ count(_InputIterator __first, _InputIterator __last, const _Tp& __value_)
|
|
// count_if
|
|
// count_if
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
typename iterator_traits<_InputIterator>::difference_type
|
|
typename iterator_traits<_InputIterator>::difference_type
|
|
count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
@@ -1160,7 +1174,8 @@ count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
// mismatch
|
|
// mismatch
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_InputIterator1, _InputIterator2>
|
|
pair<_InputIterator1, _InputIterator2>
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _BinaryPredicate __pred)
|
|
_InputIterator2 __first2, _BinaryPredicate __pred)
|
|
@@ -1172,7 +1187,8 @@ mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_InputIterator1, _InputIterator2>
|
|
pair<_InputIterator1, _InputIterator2>
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
|
|
{
|
|
{
|
|
@@ -1183,7 +1199,8 @@ mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __fi
|
|
|
|
|
|
#if _LIBCPP_STD_VER > 11
|
|
#if _LIBCPP_STD_VER > 11
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_InputIterator1, _InputIterator2>
|
|
pair<_InputIterator1, _InputIterator2>
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2,
|
|
_InputIterator2 __first2, _InputIterator2 __last2,
|
|
@@ -1196,7 +1213,8 @@ mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_InputIterator1, _InputIterator2>
|
|
pair<_InputIterator1, _InputIterator2>
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|
|
@@ -1210,7 +1228,8 @@ mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
// equal
|
|
// equal
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred)
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __pred)
|
|
{
|
|
{
|
|
@@ -1221,7 +1240,8 @@ equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2)
|
|
{
|
|
{
|
|
@@ -1259,7 +1279,8 @@ __equal(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
template <class _InputIterator1, class _InputIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred )
|
|
_InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __pred )
|
|
@@ -1271,7 +1292,8 @@ equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|
|
@@ -1287,7 +1309,7 @@ equal(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
// is_permutation
|
|
// is_permutation
|
|
|
|
|
|
template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _BinaryPredicate __pred)
|
|
_ForwardIterator2 __first2, _BinaryPredicate __pred)
|
|
{
|
|
{
|
|
@@ -1334,7 +1356,8 @@ is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template<class _ForwardIterator1, class _ForwardIterator2>
|
|
template<class _ForwardIterator1, class _ForwardIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2)
|
|
_ForwardIterator2 __first2)
|
|
@@ -1413,7 +1436,8 @@ __is_permutation(_RandomAccessIterator1 __first1, _RandomAccessIterator2 __last1
|
|
}
|
|
}
|
|
|
|
|
|
template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
template<class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2,
|
|
@@ -1426,7 +1450,8 @@ is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template<class _ForwardIterator1, class _ForwardIterator2>
|
|
template<class _ForwardIterator1, class _ForwardIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
@@ -1444,7 +1469,8 @@ is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
// __search is in <functional>
|
|
// __search is in <functional>
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
template <class _ForwardIterator1, class _ForwardIterator2, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred)
|
|
@@ -1457,7 +1483,8 @@ search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
template <class _ForwardIterator1, class _ForwardIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator1
|
|
_ForwardIterator1
|
|
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
_ForwardIterator2 __first2, _ForwardIterator2 __last2)
|
|
@@ -1470,7 +1497,7 @@ search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
|
|
|
|
|
|
#if _LIBCPP_STD_VER > 14
|
|
#if _LIBCPP_STD_VER > 14
|
|
template <class _ForwardIterator, class _Searcher>
|
|
template <class _ForwardIterator, class _Searcher>
|
|
-_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
|
|
_ForwardIterator search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher &__s)
|
|
{ return __s(__f, __l).first; }
|
|
{ return __s(__f, __l).first; }
|
|
#endif
|
|
#endif
|
|
@@ -1555,7 +1582,8 @@ __search_n(_RandomAccessIterator __first, _RandomAccessIterator __last,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
|
|
template <class _ForwardIterator, class _Size, class _Tp, class _BinaryPredicate>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
search_n(_ForwardIterator __first, _ForwardIterator __last,
|
|
search_n(_ForwardIterator __first, _ForwardIterator __last,
|
|
_Size __count, const _Tp& __value_, _BinaryPredicate __pred)
|
|
_Size __count, const _Tp& __value_, _BinaryPredicate __pred)
|
|
@@ -1566,7 +1594,8 @@ search_n(_ForwardIterator __first, _ForwardIterator __last,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Size, class _Tp>
|
|
template <class _ForwardIterator, class _Size, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value_)
|
|
search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -1995,7 +2024,7 @@ generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen)
|
|
// generate_n
|
|
// generate_n
|
|
|
|
|
|
template <class _OutputIterator, class _Size, class _Generator>
|
|
template <class _OutputIterator, class _Size, class _Generator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_OutputIterator
|
|
_OutputIterator
|
|
generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen)
|
|
generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen)
|
|
{
|
|
{
|
|
@@ -2009,7 +2038,7 @@ generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen)
|
|
// remove
|
|
// remove
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp>
|
|
template <class _ForwardIterator, class _Tp>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
__first = _VSTD::find(__first, __last, __value_);
|
|
__first = _VSTD::find(__first, __last, __value_);
|
|
@@ -2031,7 +2060,7 @@ remove(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
// remove_if
|
|
// remove_if
|
|
|
|
|
|
template <class _ForwardIterator, class _Predicate>
|
|
template <class _ForwardIterator, class _Predicate>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
|
|
remove_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
__first = _VSTD::find_if<_ForwardIterator, typename add_lvalue_reference<_Predicate>::type>
|
|
__first = _VSTD::find_if<_ForwardIterator, typename add_lvalue_reference<_Predicate>::type>
|
|
@@ -2090,7 +2119,7 @@ remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __
|
|
// unique
|
|
// unique
|
|
|
|
|
|
template <class _ForwardIterator, class _BinaryPredicate>
|
|
template <class _ForwardIterator, class _BinaryPredicate>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
|
|
unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pred)
|
|
{
|
|
{
|
|
__first = _VSTD::adjacent_find<_ForwardIterator, typename add_lvalue_reference<_BinaryPredicate>::type>
|
|
__first = _VSTD::adjacent_find<_ForwardIterator, typename add_lvalue_reference<_BinaryPredicate>::type>
|
|
@@ -2109,7 +2138,8 @@ unique(_ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __pre
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator>
|
|
template <class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
unique(_ForwardIterator __first, _ForwardIterator __last)
|
|
unique(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -2432,7 +2462,8 @@ rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterato
|
|
// min_element
|
|
// min_element
|
|
|
|
|
|
template <class _ForwardIterator, class _Compare>
|
|
template <class _ForwardIterator, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2449,7 +2480,8 @@ min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator>
|
|
template <class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
min_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
min_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -2460,7 +2492,8 @@ min_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
// min
|
|
// min
|
|
|
|
|
|
template <class _Tp, class _Compare>
|
|
template <class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
const _Tp&
|
|
const _Tp&
|
|
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2468,7 +2501,8 @@ min(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
const _Tp&
|
|
const _Tp&
|
|
min(const _Tp& __a, const _Tp& __b)
|
|
min(const _Tp& __a, const _Tp& __b)
|
|
{
|
|
{
|
|
@@ -2478,7 +2512,8 @@ min(const _Tp& __a, const _Tp& __b)
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
|
|
|
|
template<class _Tp, class _Compare>
|
|
template<class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_Tp
|
|
_Tp
|
|
min(initializer_list<_Tp> __t, _Compare __comp)
|
|
min(initializer_list<_Tp> __t, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2486,7 +2521,8 @@ min(initializer_list<_Tp> __t, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _Tp>
|
|
template<class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_Tp
|
|
_Tp
|
|
min(initializer_list<_Tp> __t)
|
|
min(initializer_list<_Tp> __t)
|
|
{
|
|
{
|
|
@@ -2498,7 +2534,8 @@ min(initializer_list<_Tp> __t)
|
|
// max_element
|
|
// max_element
|
|
|
|
|
|
template <class _ForwardIterator, class _Compare>
|
|
template <class _ForwardIterator, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2516,7 +2553,8 @@ max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
|
|
|
|
|
|
|
|
template <class _ForwardIterator>
|
|
template <class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
max_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
max_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -2527,7 +2565,8 @@ max_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
// max
|
|
// max
|
|
|
|
|
|
template <class _Tp, class _Compare>
|
|
template <class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
const _Tp&
|
|
const _Tp&
|
|
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2535,7 +2574,8 @@ max(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template <class _Tp>
|
|
template <class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
const _Tp&
|
|
const _Tp&
|
|
max(const _Tp& __a, const _Tp& __b)
|
|
max(const _Tp& __a, const _Tp& __b)
|
|
{
|
|
{
|
|
@@ -2545,7 +2585,8 @@ max(const _Tp& __a, const _Tp& __b)
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
|
|
|
|
template<class _Tp, class _Compare>
|
|
template<class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_Tp
|
|
_Tp
|
|
max(initializer_list<_Tp> __t, _Compare __comp)
|
|
max(initializer_list<_Tp> __t, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2553,7 +2594,8 @@ max(initializer_list<_Tp> __t, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _Tp>
|
|
template<class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
_Tp
|
|
_Tp
|
|
max(initializer_list<_Tp> __t)
|
|
max(initializer_list<_Tp> __t)
|
|
{
|
|
{
|
|
@@ -2565,7 +2607,8 @@ max(initializer_list<_Tp> __t)
|
|
#if _LIBCPP_STD_VER > 14
|
|
#if _LIBCPP_STD_VER > 14
|
|
// clamp
|
|
// clamp
|
|
template<class _Tp, class _Compare>
|
|
template<class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
|
|
const _Tp&
|
|
const _Tp&
|
|
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
|
|
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2575,7 +2618,8 @@ clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _Tp>
|
|
template<class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
|
|
const _Tp&
|
|
const _Tp&
|
|
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
|
|
clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
|
|
{
|
|
{
|
|
@@ -2586,7 +2630,7 @@ clamp(const _Tp& __v, const _Tp& __lo, const _Tp& __hi)
|
|
// minmax_element
|
|
// minmax_element
|
|
|
|
|
|
template <class _ForwardIterator, class _Compare>
|
|
template <class _ForwardIterator, class _Compare>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
std::pair<_ForwardIterator, _ForwardIterator>
|
|
std::pair<_ForwardIterator, _ForwardIterator>
|
|
minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2636,7 +2680,8 @@ minmax_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __com
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator>
|
|
template <class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
std::pair<_ForwardIterator, _ForwardIterator>
|
|
std::pair<_ForwardIterator, _ForwardIterator>
|
|
minmax_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
minmax_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -2647,7 +2692,8 @@ minmax_element(_ForwardIterator __first, _ForwardIterator __last)
|
|
// minmax
|
|
// minmax
|
|
|
|
|
|
template<class _Tp, class _Compare>
|
|
template<class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
pair<const _Tp&, const _Tp&>
|
|
pair<const _Tp&, const _Tp&>
|
|
minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2656,7 +2702,8 @@ minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _Tp>
|
|
template<class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
pair<const _Tp&, const _Tp&>
|
|
pair<const _Tp&, const _Tp&>
|
|
minmax(const _Tp& __a, const _Tp& __b)
|
|
minmax(const _Tp& __a, const _Tp& __b)
|
|
{
|
|
{
|
|
@@ -2666,7 +2713,8 @@ minmax(const _Tp& __a, const _Tp& __b)
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
#ifndef _LIBCPP_CXX03_LANG
|
|
|
|
|
|
template<class _Tp, class _Compare>
|
|
template<class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
pair<_Tp, _Tp>
|
|
pair<_Tp, _Tp>
|
|
minmax(initializer_list<_Tp> __t, _Compare __comp)
|
|
minmax(initializer_list<_Tp> __t, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -2703,7 +2751,8 @@ minmax(initializer_list<_Tp> __t, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _Tp>
|
|
template<class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11
|
|
pair<_Tp, _Tp>
|
|
pair<_Tp, _Tp>
|
|
minmax(initializer_list<_Tp> __t)
|
|
minmax(initializer_list<_Tp> __t)
|
|
{
|
|
{
|
|
@@ -3130,7 +3179,7 @@ template<class _RandomAccessIterator, class _UniformRandomNumberGenerator>
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator, class _Predicate>
|
|
template <class _InputIterator, class _Predicate>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool
|
|
is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
|
|
{
|
|
{
|
|
for (; __first != __last; ++__first)
|
|
for (; __first != __last; ++__first)
|
|
@@ -3538,7 +3587,7 @@ stable_partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate _
|
|
// is_sorted_until
|
|
// is_sorted_until
|
|
|
|
|
|
template <class _ForwardIterator, class _Compare>
|
|
template <class _ForwardIterator, class _Compare>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
|
|
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
if (__first != __last)
|
|
if (__first != __last)
|
|
@@ -3555,7 +3604,8 @@ is_sorted_until(_ForwardIterator __first, _ForwardIterator __last, _Compare __co
|
|
}
|
|
}
|
|
|
|
|
|
template<class _ForwardIterator>
|
|
template<class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
|
|
is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -3565,7 +3615,8 @@ is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
|
|
// is_sorted
|
|
// is_sorted
|
|
|
|
|
|
template <class _ForwardIterator, class _Compare>
|
|
template <class _ForwardIterator, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -3573,7 +3624,8 @@ is_sorted(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
|
|
}
|
|
}
|
|
|
|
|
|
template<class _ForwardIterator>
|
|
template<class _ForwardIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_sorted(_ForwardIterator __first, _ForwardIterator __last)
|
|
is_sorted(_ForwardIterator __first, _ForwardIterator __last)
|
|
{
|
|
{
|
|
@@ -4122,7 +4174,8 @@ __lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -4131,7 +4184,8 @@ lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp>
|
|
template <class _ForwardIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -4164,7 +4218,8 @@ __upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -4173,7 +4228,8 @@ upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp>
|
|
template <class _ForwardIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_ForwardIterator
|
|
_ForwardIterator
|
|
upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -4218,7 +4274,8 @@ __equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_ForwardIterator, _ForwardIterator>
|
|
pair<_ForwardIterator, _ForwardIterator>
|
|
equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -4233,7 +4290,8 @@ equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp>
|
|
template <class _ForwardIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
pair<_ForwardIterator, _ForwardIterator>
|
|
pair<_ForwardIterator, _ForwardIterator>
|
|
equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -4253,7 +4311,8 @@ __binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
template <class _ForwardIterator, class _Tp, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -4268,7 +4327,8 @@ binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
|
|
}
|
|
}
|
|
|
|
|
|
template <class _ForwardIterator, class _Tp>
|
|
template <class _ForwardIterator, class _Tp>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value_)
|
|
{
|
|
{
|
|
@@ -4722,7 +4782,7 @@ stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
// is_heap_until
|
|
// is_heap_until
|
|
|
|
|
|
template <class _RandomAccessIterator, class _Compare>
|
|
template <class _RandomAccessIterator, class _Compare>
|
|
-_LIBCPP_CONSTEXPR_AFTER_CXX17 _RandomAccessIterator
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 _RandomAccessIterator
|
|
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
|
|
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
typedef typename _VSTD::iterator_traits<_RandomAccessIterator>::difference_type difference_type;
|
|
typedef typename _VSTD::iterator_traits<_RandomAccessIterator>::difference_type difference_type;
|
|
@@ -4749,7 +4809,8 @@ is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Comp
|
|
}
|
|
}
|
|
|
|
|
|
template<class _RandomAccessIterator>
|
|
template<class _RandomAccessIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
_RandomAccessIterator
|
|
_RandomAccessIterator
|
|
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
{
|
|
{
|
|
@@ -4759,7 +4820,8 @@ is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
// is_heap
|
|
// is_heap
|
|
|
|
|
|
template <class _RandomAccessIterator, class _Compare>
|
|
template <class _RandomAccessIterator, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
|
|
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
|
|
{
|
|
{
|
|
@@ -4767,7 +4829,8 @@ is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __
|
|
}
|
|
}
|
|
|
|
|
|
template<class _RandomAccessIterator>
|
|
template<class _RandomAccessIterator>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
|
|
{
|
|
{
|
|
@@ -5320,7 +5383,8 @@ __includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2, class _Compare>
|
|
template <class _InputIterator1, class _InputIterator2, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2,
|
|
includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2,
|
|
_Compare __comp)
|
|
_Compare __comp)
|
|
@@ -5336,7 +5400,8 @@ includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __fi
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
|
|
includes(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
|
|
{
|
|
{
|
|
@@ -5582,7 +5647,8 @@ __lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2, class _Compare>
|
|
template <class _InputIterator1, class _InputIterator2, class _Compare>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
|
|
_InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
|
|
@@ -5598,7 +5664,8 @@ lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
}
|
|
}
|
|
|
|
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
template <class _InputIterator1, class _InputIterator2>
|
|
-inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
|
|
|
|
+_LIBCPP_NODISCARD_EXT inline
|
|
|
|
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
|
|
bool
|
|
bool
|
|
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|
|
_InputIterator2 __first2, _InputIterator2 __last2)
|