Spec-Zone .ru
спецификации, руководства, описания, API
|
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API
|
stl_algo.h |
Включает: |
Это - внутренний заголовочный файл, включенный другими заголовками библиотеки. Вы не должны пытаться использовать его непосредственно.
__ final_insertion_sort (_RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> void __final_insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
@if maint Это является функцией помощника для программы сортировки. @endif
__ final_insertion_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _RandomAccessIterator, typename _Compare> void __final_insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
@if maint Это является функцией помощника для программы сортировки. @endif
__ GCD |
template<typename _EuclideanRingElement> _EuclideanRingElement __gcd( _EuclideanRingElement __m, _EuclideanRingElement __n)
@if maint Это является функцией помощника для поворачивать алгоритма, специализированного на RAIs. Это возвращает наибольший общий делитель двух целочисленных значений. @endif
__ inplace_stable_partition |
template<typename _ForwardIterator, typename _Predicate, typename _Distance> _ForwardIterator __inplace_stable_partition( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len)
@if maint Это является функцией помощника... @endif
__ inplace_stable_sort (_RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> void __inplace_stable_sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
@if maint Это является функцией помощника для стабильных программ сортировки. @endif
__ inplace_stable_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _RandomAccessIterator, typename _Compare> void __inplace_stable_sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
@if maint Это является функцией помощника для стабильных программ сортировки. @endif
__ insertion_sort (_RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> void __insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
@if maint Это является функцией помощника для программы сортировки. @endif
__ insertion_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _RandomAccessIterator, typename _Compare> void __insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
@if maint Это является функцией помощника для программы сортировки. @endif
__ introsort_loop (_RandomAccessIterator, _RandomAccessIterator, _Size) |
template<typename _RandomAccessIterator, typename _Size> void __introsort_loop( _RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit)
@if maint Это является функцией помощника для программы сортировки. @endif
__ introsort_loop (_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) |
template<typename _RandomAccessIterator, typename _Size, typename _Compare> void __introsort_loop( _RandomAccessIterator __first, _RandomAccessIterator __last, _Size __depth_limit, _Compare __comp)
@if maint Это является функцией помощника для программы сортировки. @endif
__ LG |
template<typename _Size> inline _Size __lg( _Size __n)
@if maint Это является функцией помощника для программы сортировки. @endif
__ медиана (константа _Tp и, константа _Tp и, константа _Tp и) |
template<typename _Tp> inline const _Tp& __median( const _Tp& __a, const _Tp& __b, const _Tp& __c)
a
b
c
Один из @p a, @p b или @p c.
Если @c {l, m, n} является некоторой сверткой @p {a, b, c} таким образом что @c l<=m<=n
then the value returned will be @c m.
This is an SGI extension.
@ingroup SGIextensions
@brief Находят медиану трех значений.
__ медиана (константа _Tp и, константа _Tp и, константа _Tp и, _Compare) |
template<typename _Tp, typename _Compare> inline const _Tp& __median( const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
a
b
c
comp
Один из @p a, @p b или @p c.
Если @c {l, m, n} является некоторой сверткой @p {a, b, c} таким образом, что @p аккомпанируют (l, m) и аккомпанемент @p (m, n) оба истина тогда, значение возвратилось, будет @c m. Это - расширение SGI. @ingroup SGIextensions
@brief Находят медиану трех значений с помощью предиката для сравнения.
__ merge_adaptive (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance) |
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer> void __merge_adaptive( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ merge_adaptive (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare) |
template<typename _BidirectionalIterator, typename _Distance, typename _Pointer, typename _Compare> void __merge_adaptive( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Pointer __buffer, _Distance __buffer_size, _Compare __comp)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ merge_backward (_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator2, _BidirectionalIterator2, _BidirectionalIterator3) |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3> _BidirectionalIterator3 __merge_backward( _BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ merge_backward (_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator2, _BidirectionalIterator2, _BidirectionalIterator3, _Compare) |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _BidirectionalIterator3, typename _Compare> _BidirectionalIterator3 __merge_backward( _BidirectionalIterator1 __first1, _BidirectionalIterator1 __last1, _BidirectionalIterator2 __first2, _BidirectionalIterator2 __last2, _BidirectionalIterator3 __result, _Compare __comp)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ merge_without_buffer (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance) |
template<typename _BidirectionalIterator, typename _Distance> void __merge_without_buffer( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ merge_without_buffer (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare) |
template<typename _BidirectionalIterator, typename _Distance, typename _Compare> void __merge_without_buffer( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Distance __len1, _Distance __len2, _Compare __comp)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ раздел (_BidirectionalIterator, _BidirectionalIterator, _Predicate, bidirectional_iterator_tag) |
template<typename _BidirectionalIterator, typename _Predicate> _BidirectionalIterator __partition( _BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred, bidirectional_iterator_tag)
@if maint Это является функцией помощника... @endif
__ раздел (_ForwardIterator, _ForwardIterator, _Predicate, forward_iterator_tag) |
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator __partition( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)
@if maint Это является функцией помощника... @endif
__ реверс (_BidirectionalIterator, _BidirectionalIterator, bidirectional_iterator_tag) |
template<typename _BidirectionalIterator> void __reverse( _BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)
@if maint Это является изуродованным реверсом (_BidirectionalIterator, _BidirectionalIterator) перегруженный для двунаправленных итераторов. @endif
__ реверс (_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag) |
template<typename _RandomAccessIterator> void __reverse( _RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
@if maint Это является изуродованным реверсом (_BidirectionalIterator, _BidirectionalIterator) перегруженный для итераторов произвольного доступа. @endif
__ вращаться |
template<typename _RandomAccessIterator> void __rotate( _RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, random_access_iterator_tag)
@if maint Это является функцией помощника для поворачивать алгоритма. @endif
__ вращайтесь (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, bidirectional_iterator_tag) |
template<typename _BidirectionalIterator> void __rotate( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, bidirectional_iterator_tag)
@if maint Это является функцией помощника для поворачивать алгоритма. @endif
__ вращайтесь (_ForwardIterator, _ForwardIterator, _ForwardIterator, forward_iterator_tag) |
template<typename _ForwardIterator> void __rotate( _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, forward_iterator_tag)
@if maint Это является функцией помощника для поворачивать алгоритма. @endif
__ rotate_adaptive |
template<typename _BidirectionalIterator1, typename _BidirectionalIterator2, typename _Distance> _BidirectionalIterator1 __rotate_adaptive( _BidirectionalIterator1 __first, _BidirectionalIterator1 __middle, _BidirectionalIterator1 __last, _Distance __len1, _Distance __len2, _BidirectionalIterator2 __buffer, _Distance __buffer_size)
@if maint Это является функцией помощника для подпрограмм слияния. @endif
__ stable_partition_adaptive |
template<typename _ForwardIterator, typename _Pointer, typename _Predicate, typename _Distance> _ForwardIterator __stable_partition_adaptive( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, _Distance __len, _Pointer __buffer, _Distance __buffer_size)
@if maint Это является функцией помощника... @endif
__ unguarded_linear_insert (_RandomAccessIterator, _Tp) |
template<typename _RandomAccessIterator, typename _Tp> void __unguarded_linear_insert( _RandomAccessIterator __last, _Tp __val)
@if maint Это является функцией помощника для программы сортировки. @endif
__ unguarded_linear_insert (_RandomAccessIterator, _Tp, _Compare) |
template<typename _RandomAccessIterator, typename _Tp, typename _Compare> void __unguarded_linear_insert( _RandomAccessIterator __last, _Tp __val, _Compare __comp)
@if maint Это является функцией помощника для программы сортировки. @endif
__ unguarded_partition (_RandomAccessIterator, _RandomAccessIterator, _Tp) |
template<typename _RandomAccessIterator, typename _Tp> _RandomAccessIterator __unguarded_partition( _RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot)
@if maint Это является функцией помощника... @endif
__ unguarded_partition (_RandomAccessIterator, _RandomAccessIterator, _Tp, _Compare) |
template<typename _RandomAccessIterator, typename _Tp, typename _Compare> _RandomAccessIterator __unguarded_partition( _RandomAccessIterator __first, _RandomAccessIterator __last, _Tp __pivot, _Compare __comp)
@if maint Это является функцией помощника... @endif
__ unique_copy (_InputIterator, _InputIterator, _ForwardIterator, forward_iterator_tag) |
template<typename _InputIterator, typename _ForwardIterator> _ForwardIterator __unique_copy( _InputIterator __first, _InputIterator __last, _ForwardIterator __result, forward_iterator_tag)
@if maint Это является изуродованным unique_copy (_InputIterator, _InputIterator, _OutputIterator) перегруженный для прямых итераторов. @endif
__ unique_copy (_InputIterator, _InputIterator, _ForwardIterator, _BinaryPredicate, forward_iterator_tag) |
template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate> _ForwardIterator __unique_copy( _InputIterator __first, _InputIterator __last, _ForwardIterator __result, _BinaryPredicate __binary_pred, forward_iterator_tag)
@if maint Это является изуродованным unique_copy (_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate) перегруженный для прямых итераторов. @endif
__ unique_copy (_InputIterator, _InputIterator, _OutputIterator, output_iterator_tag) |
template<typename _InputIterator, typename _OutputIterator> _OutputIterator __unique_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, output_iterator_tag)
@if maint Это является изуродованным unique_copy (_InputIterator, _InputIterator, _OutputIterator) перегруженный для выходных итераторов. @endif
__ unique_copy (_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate, output_iterator_tag) |
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> _OutputIterator __unique_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred, output_iterator_tag)
@if maint Это является изуродованным unique_copy (_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate) перегруженный для выходных итераторов. @endif
adjacent_find (_ForwardIterator, _ForwardIterator) |
template<typename _ForwardIterator> _ForwardIterator adjacent_find( _ForwardIterator __first, _ForwardIterator __last)
first
last
Первый итератор @c i таким образом, что @c i и @c i+1 являются оба допустимыми итераторами в @p [сначала, в последний раз) и таким образом, что @c *я == @c * (i+1), или @p продержался, если не существует никакой такой итератор.
@brief Находят два смежных значения в последовательности, которые равны.
adjacent_find (_ForwardIterator, _ForwardIterator, _BinaryPredicate) |
template<typename _ForwardIterator, typename _BinaryPredicate> _ForwardIterator adjacent_find( _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
first
last
binary_pred
Первый итератор @c i таким образом, что @c i и @c i+1 являются оба допустимыми итераторами в @p [сначала, в последний раз) и таким образом, что @p binary_pred (*i, * (i+1)) является истиной или @p в последний раз, если не существует никакой такой итератор.
@brief Находят два смежных значения в последовательности с помощью предиката.
binary_search (_ForwardIterator, _ForwardIterator, константа _Tp и) |
template<typename _ForwardIterator, typename _Tp> bool binary_search( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val)
first
last
val
Истина, если @a val (или его equivelent) находится в [@a first,@a, длится]. @ingroup binarysearch
Обратите внимание на то, что это фактически не возвращает итератор @a val. Для этого используйте станд.:: найдите или контейнер специализировался, находят функции членства.
@brief Определяет, существует ли элемент в диапазоне.
binary_search (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare) |
template<typename _ForwardIterator, typename _Tp, typename _Compare> bool binary_search( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp)
first
last
val
comp
Истина, если @a val (или его equivelent) находится в [@a first,@a, длится]. @ingroup binarysearch
Обратите внимание на то, что это фактически не возвращает итератор @a val. Для этого используйте станд.:: найдите или контейнер специализировался, находят функции членства.
Функция сравнения должна иметь те же эффекты на упорядочивание как функция, используемая для начального вида.
@brief Определяет, существует ли элемент в диапазоне.
количество |
template<typename _InputIterator, typename _Tp> typename iterator_traits<_InputIterator>::difference_type count( _InputIterator __first, _InputIterator __last, const _Tp& __value)
first
last
value
Число то, итераторов @c i в диапазоне @p [сначала, в последний раз), для который @c *я == @p значение
@brief считают число копий значения в последовательности.
count_if |
template<typename _InputIterator, typename _Predicate> typename iterator_traits<_InputIterator>::difference_type count_if( _InputIterator __first, _InputIterator __last, _Predicate __pred)
first
last
pred
Число итераторов @c i в диапазоне @p [сначала, в последний раз), для которого @p pred (*i) является истиной.
@brief считают элементы последовательности, для которой предикат является истиной.
equal_range (_ForwardIterator, _ForwardIterator, константа _Tp и) |
template<typename _ForwardIterator, typename _Tp> pair<_ForwardIterator, _ForwardIterator> equal_range( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val)
first
last
val
Пара итераторов, определяющих поддиапазон. @ingroup binarysearch
Это эквивалентно @code станд.:: make_pair (lower_bound (сначала, в последний раз, val), upper_bound (сначала, в последний раз, val)) @endcode, но фактически не вызывает те функции.
@brief Находит самый большой поддиапазон, в который @a val мог быть вставлен в любом месте в нем, не изменяя упорядочивание.
equal_range (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare) |
template<typename _ForwardIterator, typename _Tp, typename _Compare> pair<_ForwardIterator, _ForwardIterator> equal_range( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp)
first
last
val
comp
Пара итераторов, определяющих поддиапазон. @ingroup binarysearch
Это эквивалентно @code станд.:: make_pair (lower_bound (сначала, в последний раз, val, аккомпанемент), upper_bound (сначала, в последний раз, val, аккомпанемент)) @endcode, но фактически не вызывает те функции.
@brief Находит самый большой поддиапазон, в который @a val мог быть вставлен в любом месте в нем, не изменяя упорядочивание.
найти |
template<typename _InputIterator, typename _Tp> inline _InputIterator find( _InputIterator __first, _InputIterator __last, const _Tp& __val)
first
last
val
Первый итератор @c i в диапазоне @p [сначала, в последний раз) таким образом, что @c *я == @p val или @p продержался, если не существует никакой такой итератор.
@brief Находят первое возникновение значения в последовательности.
найдите (_InputIterator, _InputIterator, константа _Tp и, input_iterator_tag) |
template<typename _InputIterator, typename _Tp> inline _InputIterator find( _InputIterator __first, _InputIterator __last, const _Tp& __val, input_iterator_tag)
@if maint Это является перегрузкой, используемой находкой () для Входного случая Итератора. @endif
найдите (_RandomAccessIterator, _RandomAccessIterator, константа _Tp и, random_access_iterator_tag) |
template<typename _RandomAccessIterator, typename _Tp> _RandomAccessIterator find( _RandomAccessIterator __first, _RandomAccessIterator __last, const _Tp& __val, random_access_iterator_tag)
@if maint Это является перегрузкой, используемой находкой () для случая RAI. @endif
find_end (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2) |
template<typename _ForwardIterator1, typename _ForwardIterator2> inline _ForwardIterator1 find_end( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2)
first1
last1
first2
last2
Последний итератор @c i в диапазоне @p [first1, last1-(last2-first2)) таким образом, что @c * (i+N) == @p * (first2+N) для каждого @c N в диапазоне @p [0, last2-first2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для подпоследовательности, сравнивающей равную стоимость значением с последовательностью, данной @p [first2, last2), и возвращает итератор первому элементу подпоследовательности или @p last1, если не найдена подпоследовательность. Подпоследовательность будет последней такая подпоследовательность, содержавшаяся в [сначала, last1).
Поскольку подпоследовательность должна лечь полностью в диапазоне @p [first1, last1), это должно запустить в позиции меньше, чем @p last1-(last2-first2), где @p last2-first2 является длиной подпоследовательности. Это означает, что возвращенный итератор @c я буду в диапазоне @p [first1, last1-(last2-first2)),
@brief Находят в последний раз соответствие подпоследовательности в последовательности.
find_end (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate) |
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate> inline _ForwardIterator1 find_end( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __comp)
first1
last1
first2
last2
comp
Последний итератор @c i в диапазоне @p [first1, last1-(last2-first2)) таким образом, что @c предикат (* (i+N), @p (first2+N)) является истиной для каждого @c N в диапазоне @p [0, last2-first2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для подпоследовательности, сравнивающей равную стоимость значением с последовательностью, данной @p [first2, last2), использующий аккомпанемент в качестве предиката, и возвращает итератор первому элементу подпоследовательности или @p last1, если не найдена подпоследовательность. Подпоследовательность будет последней такая подпоследовательность, содержавшаяся в [сначала, last1).
Поскольку подпоследовательность должна лечь полностью в диапазоне @p [first1, last1), это должно запустить в позиции меньше, чем @p last1-(last2-first2), где @p last2-first2 является длиной подпоследовательности. Это означает, что возвращенный итератор @c я буду в диапазоне @p [first1, last1-(last2-first2)),
@brief Находят в последний раз соответствие подпоследовательности в последовательности с помощью предиката.
find_first_of (_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator) |
template<typename _InputIterator, typename _ForwardIterator> _InputIterator find_first_of( _InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2)
first1
last1
first2
last2
Первый итератор @c i в диапазоне @p [first1, last1) таким образом, что @c *я == @p * (i2) таким образом, что i2 является interator в [first2, last2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для элемента, который равен некоторому элементу в диапазоне [first2, last2). Если найдено, возвращает итератор в диапазоне [first1, last1), иначе @p last1 возвратов.
@brief Находят элемент от набора в последовательности.
find_first_of (_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator, _BinaryPredicate) |
template<typename _InputIterator, typename _ForwardIterator, typename _BinaryPredicate> _InputIterator find_first_of( _InputIterator __first1, _InputIterator __last1, _ForwardIterator __first2, _ForwardIterator __last2, _BinaryPredicate __comp)
first1
last1
first2
last2
comp
Первый итератор @c i в диапазоне @p [first1, last1), таким образом то, что @c аккомпанируют (*i, @p * (i2)) является истиной, и i2 является interator в [first2, last2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для элемента, который равен некоторому элементу в диапазоне [first2, last2). Если найдено, возвращает итератор в диапазоне [first1, last1), иначе @p last1 возвратов.
@brief Находят элемент от набора в последовательности с помощью предиката.
find_if |
template<typename _InputIterator, typename _Predicate> inline _InputIterator find_if( _InputIterator __first, _InputIterator __last, _Predicate __pred)
first
last
pred
Первый итератор @c i в диапазоне @p [сначала, в последний раз) таким образом, что @p pred (*i) является истиной или @p в последний раз, если не существует никакой такой итератор.
@brief Находят первый элемент в последовательности, для которой предикат является истиной.
find_if (_InputIterator, _InputIterator, _Predicate, input_iterator_tag) |
template<typename _InputIterator, typename _Predicate> inline _InputIterator find_if( _InputIterator __first, _InputIterator __last, _Predicate __pred, input_iterator_tag)
@if maint Это является перегрузкой, используемой find_if () для Входного случая Итератора. @endif
find_if (_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag) |
template<typename _RandomAccessIterator, typename _Predicate> _RandomAccessIterator find_if( _RandomAccessIterator __first, _RandomAccessIterator __last, _Predicate __pred, random_access_iterator_tag)
@if maint Это является перегрузкой, используемой find_if () для случая RAI. @endif
for_each |
template<typename _InputIterator, typename _Function> _Function for_each( _InputIterator __first, _InputIterator __last, _Function __f)
first
last
f
@p f.
Применяет функциональный объект @p f к каждому элементу в диапазоне @p [сначала, в последний раз). @p f не должен изменять порядок последовательности. Если @p f имеет возвращаемое значение, он проигнорирован.
@brief Применяют функцию к каждому элементу последовательности.
генерировать |
template<typename _ForwardIterator, typename _Generator> void generate( _ForwardIterator __first, _ForwardIterator __last, _Generator __gen)
first
last
gen
генерируйте () не, возвращает значения.
Выполняет присвоение @c *я = @p генерал () для каждого @c i в диапазоне @p [сначала, в последний раз).
@brief Присваивают результат функционального объекта к каждому значению в последовательности.
generate_n |
template<typename _OutputIterator, typename _Size, typename _Generator> _OutputIterator generate_n( _OutputIterator __first, _Size __n, _Generator __gen)
first
n
gen
Конец последовательности, @p first+n
Выполняет присвоение @c *я = @p генерал () для каждого @c i в диапазоне @p [сначала, first+n).
@brief Присваивают результат функционального объекта к каждому значению в последовательности.
включает (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2) |
template<typename _InputIterator1, typename _InputIterator2> bool includes( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
first1
last1
first2
last2
Истина, если каждый элемент в [first2, last2), содержится в порядке в [first1, last1). Ложь иначе. @ingroup setoperations
Эта работа ожидает обоих [first1, last1) и [first2, last2) быть сортированным. Поиски присутствия каждого элемента в [first2, last2) в [first1, last1). Итераторы по каждому диапазону только продвигаются, таким образом, это - линейный алгоритм. Если элемент в [first2, last2), не найден, прежде чем поисковый итератор достигает @a last2, false возвращается.
@brief Определяет, существуют ли все элементы последовательности в диапазоне.
включает (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _Compare> bool includes( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
first1
last1
first2
last2
comp
Истина, если каждый элемент в [first2, last2), содержится в порядке в [first1, last1) согласно аккомпанементу. Ложь иначе. @ingroup setoperations
Эта работа ожидает обоих [first1, last1) и [first2, last2) быть сортированным. Поиски присутствия каждого элемента в [first2, last2) в [first1, last1), с помощью аккомпанемента для решения. Итераторы по каждому диапазону только продвигаются, таким образом, это - линейный алгоритм. Если элемент в [first2, last2), не найден, прежде чем поисковый итератор достигает @a last2, false возвращается.
@brief Определяет, существуют ли все элементы последовательности в диапазоне с помощью сравнения.
lower_bound (_ForwardIterator, _ForwardIterator, константа _Tp и) |
template<typename _ForwardIterator, typename _Tp> _ForwardIterator lower_bound( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val)
first
last
val
Итератор, указывающий на первый элемент «не меньше, чем» @a val, или конец (), если каждый элемент является меньше, чем @a val. @ingroup binarysearch
@brief Находит первую позицию, в которую @a val мог быть вставлен, не изменяя упорядочивание.
lower_bound (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare) |
template<typename _ForwardIterator, typename _Tp, typename _Compare> _ForwardIterator lower_bound( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp)
first
last
val
comp
Итератор, указывающий на первый элемент «не меньше, чем» @a val, или конец (), если каждый элемент является меньше, чем @a val. @ingroup binarysearch
Функция сравнения должна иметь те же эффекты на упорядочивание как функция, используемая для начального вида.
@brief Находит первую позицию, в которую @a val мог быть вставлен, не изменяя упорядочивание.
max_element (_ForwardIterator, _ForwardIterator) |
template<typename _ForwardIterator> _ForwardIterator max_element( _ForwardIterator __first, _ForwardIterator __last)
first
last
Итератор, ссылающийся на первую инстанцию самого большого значения.
Возврат @brief максимальный элемент в диапазоне.
max_element (_ForwardIterator, _ForwardIterator, _Compare) |
template<typename _ForwardIterator, typename _Compare> _ForwardIterator max_element( _ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
first
last
comp
Итератор, ссылающийся на первую инстанцию самого большого значения согласно аккомпанементу.
Возврат @brief максимальный элемент в диапазоне с помощью функтора сравнения.
слияние (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> _OutputIterator merge( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
first1
first2
last1
last2
result
Итератор, указывающий на первый элемент «не меньше, чем» @a val.
Объединяет диапазоны [first1, last1) и [first2, last2) в сортированный диапазон [результат, результат + (last1-first1) + (last2-first2)). Должны быть сортированы оба входных диапазона, и выходной диапазон не должен накладываться ни с одним из входных диапазонов. Вид является @e конюшней, т.е. для эквивалентных элементов в двух диапазонах, элементы от первого диапазона будут всегда прибывать перед элементами из второго.
Слияния @brief два сортированных диапазона.
слияние (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> _OutputIterator merge( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
first1
first2
last1
last2
result
comp
Итератор, указывающий на первый элемент «не меньше, чем» @a val.
Объединяет диапазоны [first1, last1) и [first2, last2) в сортированный диапазон [результат, результат + (last1-first1) + (last2-first2)). Должны быть сортированы оба входных диапазона, и выходной диапазон не должен накладываться ни с одним из входных диапазонов. Вид является @e конюшней, т.е. для эквивалентных элементов в двух диапазонах, элементы от первого диапазона будут всегда прибывать перед элементами из второго.
Функция сравнения должна иметь те же эффекты на упорядочивание как функция, используемая для начального вида.
Слияния @brief два сортированных диапазона.
min_element (_ForwardIterator, _ForwardIterator) |
template<typename _ForwardIterator> _ForwardIterator min_element( _ForwardIterator __first, _ForwardIterator __last)
first
last
Итератор, ссылающийся на первую инстанцию самого маленького значения.
Возврат @brief минимальный элемент в диапазоне.
min_element (_ForwardIterator, _ForwardIterator, _Compare) |
template<typename _ForwardIterator, typename _Compare> _ForwardIterator min_element( _ForwardIterator __first, _ForwardIterator __last, _Compare __comp)
first
last
comp
Итератор, ссылающийся на первую инстанцию самого маленького значения согласно аккомпанементу.
Возврат @brief минимальный элемент в диапазоне с помощью функтора сравнения.
next_permutation (_BidirectionalIterator, _BidirectionalIterator) |
template<typename _BidirectionalIterator> bool next_permutation( _BidirectionalIterator __first, _BidirectionalIterator __last)
first
last
Ложь, если обернуто к первой перестановке, истина иначе.
Обработки все перестановки диапазона как ряд «словаря» сортировали последовательности. Переставляет текущую последовательность в следующую этого набора. Если существует больше последовательностей для генерации, возвращает true. Если последовательность является самой большой из набора, самое маленькое сгенерировано, и ложь возвратилась.
@brief Переставляют диапазон в следующее упорядочивание «словаря».
next_permutation (_BidirectionalIterator, _BidirectionalIterator, _Compare) |
template<typename _BidirectionalIterator, typename _Compare> bool next_permutation( _BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
first
last
comp
Ложь, если обернуто к первой перестановке, истина иначе.
Обработки все перестановки диапазона [сначала, в последний раз), поскольку ряд «словаря» сортировал последовательности, упорядоченные аккомпанементом @a. Переставляет текущую последовательность в следующую этого набора. Если существует больше последовательностей для генерации, возвращает true. Если последовательность является самой большой из набора, самое маленькое сгенерировано, и ложь возвратилась.
@brief Переставляют диапазон в следующее упорядочивание «словаря» с помощью функтора сравнения.
nth_element (_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> void nth_element( _RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last)
first
nth
last
Ничто.
Перестраивает элементы в диапазоне @p [сначала, в последний раз) так, чтобы @p *энный был тем же элементом, который был бы в той позиции, имел целую последовательность, сортированный. целая последовательность, сортированный. Элементы любая сторона @p *энный не полностью сортируется, но ни для какого итератора @i в диапазоне @p [первый, энный) и любой итератор @j в диапазоне @p [энный, в последний раз) это содержит это @p *j<*i is false.
@brief Сортируют последовательность как раз для нахождения определенной позиции.
nth_element (_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _RandomAccessIterator, typename _Compare> void nth_element( _RandomAccessIterator __first, _RandomAccessIterator __nth, _RandomAccessIterator __last, _Compare __comp)
first
nth
last
comp
Ничто.
Перестраивает элементы в диапазоне @p [сначала, в последний раз) так, чтобы @p *энный был тем же элементом, который был бы в той позиции, имел целую последовательность, сортированный. Элементы любая сторона @p *энный не полностью сортируется, но ни для какого итератора @i в диапазоне @p [первый, энный) и любой итератор @j в диапазоне @p [энный, в последний раз) это содержит это, аккомпанемент @p (*j, *i) является ложью.
@brief Сортируют последовательность как раз для нахождения определенной позиции с помощью предиката для сравнения.
partial_sort_copy (_InputIterator, _InputIterator, _RandomAccessIterator, _RandomAccessIterator) |
template<typename _InputIterator, typename _RandomAccessIterator> _RandomAccessIterator partial_sort_copy( _InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last)
first
last
result_first
result_last
Итератор, указывающий конец получающейся последовательности.
Копии и виды, которые самый маленький N оценивает от диапазона @p [сначала, в последний раз) к диапазону, начинающемуся в @p result_first, где число элементов, которое будет скопировано, @p N, является меньшим из @p (длятся сначала), и @p (result_last-result_first). После вида, если @p i и @j являются итераторами в диапазоне @p [result_first, result_first+N) таким образом, что @i предшествует @j тогда @p *j<*i is false.
The value returned is @p result_first+N.
Копия @brief самые маленькие элементы последовательности.
partial_sort_copy (_InputIterator, _InputIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare> _RandomAccessIterator partial_sort_copy( _InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp)
first
last
result_first
result_last
comp
Итератор, указывающий конец получающейся последовательности.
Копии и виды, которые самый маленький N оценивает от диапазона @p [сначала, в последний раз) к диапазону, начинающемуся в @p result_first, где число элементов, которое будет скопировано, @p N, является меньшим из @p (длятся сначала), и @p (result_last-result_first). После вида, если @p i и @j являются итераторами в диапазоне @p [result_first, result_first+N) таким образом то, что @i предшествует @j тогда @p аккомпанемент (*j, *i), является ложью. Значение возвратилось, @p result_first+N.
Копия @brief самые маленькие элементы последовательности с помощью предиката для сравнения.
раздел |
template<typename _ForwardIterator, typename _Predicate> inline _ForwardIterator partition( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
first
last
pred
Итератор @p середина, таким образом, что @p pred (i) является истиной для каждого итератора @p i в диапазоне @p [сначала, середина) и ложь для каждого @p i в диапазоне @p [середина, в последний раз).
@p pred не должен изменять свой операнд. раздел @p () не сохраняет относительное упорядочивание элементов в каждой группе, использует @p stable_partition (), если это необходимо.
Элементы Перемещения @brief, для которых предикат является истиной к началу последовательности.
prev_permutation (_BidirectionalIterator, _BidirectionalIterator) |
template<typename _BidirectionalIterator> bool prev_permutation( _BidirectionalIterator __first, _BidirectionalIterator __last)
first
last
Ложь, если обернуто для длительности перестановки, истина иначе.
Обработки все перестановки диапазона как ряд «словаря» сортировали последовательности. Переставляет текущую последовательность в предыдущую этого набора. Если существует больше последовательностей для генерации, возвращает true. Если последовательность является самой маленькой из набора, самое большое сгенерировано, и ложь возвратилась.
@brief Переставляют диапазон в предыдущее упорядочивание «словаря».
prev_permutation (_BidirectionalIterator, _BidirectionalIterator, _Compare) |
template<typename _BidirectionalIterator, typename _Compare> bool prev_permutation( _BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
first
last
comp
Ложь, если обернуто для длительности перестановки, истина иначе.
Обработки все перестановки диапазона [сначала, в последний раз), поскольку ряд «словаря» сортировал последовательности, упорядоченные аккомпанементом @a. Переставляет текущую последовательность в предыдущую этого набора. Если существует больше последовательностей для генерации, возвращает true. Если последовательность является самой маленькой из набора, самое большое сгенерировано, и ложь возвратилась.
@brief Переставляют диапазон в предыдущее упорядочивание «словаря» с помощью функтора сравнения.
random_shuffle (_RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> inline void random_shuffle( _RandomAccessIterator __first, _RandomAccessIterator __last)
first
last
Ничто.
Переупорядочьте элементы в диапазоне @p [сначала, в последний раз), использование случайного распределения, так, чтобы каждое возможное упорядочивание последовательности было одинаково вероятно.
@brief Случайным образом переставляют элементы последовательности.
random_shuffle (_RandomAccessIterator, _RandomAccessIterator, _RandomNumberGenerator и) |
template<typename _RandomAccessIterator, typename _RandomNumberGenerator> void random_shuffle( _RandomAccessIterator __first, _RandomAccessIterator __last, _RandomNumberGenerator& __rand)
first
last
rand
Ничто.
Переупорядочивает элементы в диапазоне @p [сначала, в последний раз), использующий @p рэнд для обеспечения случайное распределение. При вызове @p рэнда (N) для положительного целого числа @p N должен возвратить случайным образом выбранное целое число из диапазона [0, N).
Перестановка @brief элементы последовательности с помощью генератора случайных чисел.
удалить |
template<typename _ForwardIterator, typename _Tp> _ForwardIterator remove( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
first
last
value
Итератор, определяющий конец получающейся последовательности.
Все элементы, равные значению @p, удалены из диапазона @p [сначала, в последний раз).
удалите (), стабильно, таким образом, относительный порядок неудаленных элементов неизменен.
Элементы между концом получающейся последовательности и @p в последний раз все еще присутствуют, но их значение является неуказанным.
@brief Удаляют элементы из последовательности.
remove_copy |
template<typename _InputIterator, typename _OutputIterator, typename _Tp> _OutputIterator remove_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __value)
first
last
result
value
Итератор, определяющий конец получающейся последовательности.
Копии каждый элемент в диапазоне @p [сначала, в последний раз), не равный @p оценивают диапазону, начинающемуся в результате @p. remove_copy () стабилен, таким образом, относительный порядок копирующихся элементов неизменен.
Копия @brief последовательность, удаляя элементы данного значения.
remove_copy_if |
template<typename _InputIterator, typename _OutputIterator, typename _Predicate> _OutputIterator remove_copy_if( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred)
first
last
result
pred
Итератор, определяющий конец получающейся последовательности.
Копии каждый элемент в диапазоне @p [сначала, в последний раз), для которого @p pred возвращает true к диапазону, начинающемуся в результате @p.
remove_copy_if () стабилен, таким образом, относительный порядок копирующихся элементов неизменен.
@brief Копируют последовательность, удаляя элементы, для которых предикат является истиной.
remove_if |
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator remove_if( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
first
last
pred
Итератор, определяющий конец получающейся последовательности.
Все элементы, для которых @p pred возвращает true, удалены из диапазона @p [сначала, в последний раз).
remove_if () стабилен, таким образом, относительный порядок неудаленных элементов неизменен.
Элементы между концом получающейся последовательности и @p в последний раз все еще присутствуют, но их значение является неуказанным.
@brief Удаляют элементы из последовательности с помощью предиката.
замена |
template<typename _ForwardIterator, typename _Tp> void replace( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_value, const _Tp& __new_value)
first
last
old_value
new_value
замена () не возвращает значения.
Для каждого итератора @c i в диапазоне @p [сначала, в последний раз), если @c *я == @p old_value тогда присвоение @c *я = @p new_value выполняюсь.
Замена @brief каждое возникновение одного значения в последовательности с другим значением.
replace_copy |
template<typename _InputIterator, typename _OutputIterator, typename _Tp> _OutputIterator replace_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, const _Tp& __old_value, const _Tp& __new_value)
first
last
result
old_value
new_value
Конец выходной последовательности, @p результат + (длятся сначала).
Копии каждый элемент во входном диапазоне @p [сначала, в последний раз) к выходному диапазону @p [результат, результат + (длятся сначала)), замена элементов, равных @p old_value с @p new_value.
Копия @brief последовательность, заменяя каждый элемент одного значения с другим значением.
replace_copy_if |
template<typename _InputIterator, typename _OutputIterator, typename _Predicate, typename _Tp> _OutputIterator replace_copy_if( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _Predicate __pred, const _Tp& __new_value)
first
last
result
pred
new_value
Конец выходной последовательности, @p результат + (длятся сначала).
Копии каждый элемент в диапазоне @p [сначала, в последний раз) к диапазону @p [результат, результат + (длятся сначала)) замена элементов, для которых @p pred возвращает true с @p new_value.
@brief Копируют последовательность, заменяя каждое значение, для которого предикат возвращает true с другим значением.
replace_if |
template<typename _ForwardIterator, typename _Predicate, typename _Tp> void replace_if( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, const _Tp& __new_value)
first
last
pred
new_value
replace_if () не возвращает значения.
Для каждого итератора @c i в диапазоне @p [сначала, в последний раз), если @p pred (*i) является истиной тогда присвоение @c *, я = @p new_value выполняюсь.
@brief Заменяют каждое значение в последовательности, для которой предикат возвращает true с другим значением.
реверс |
template<typename _BidirectionalIterator> inline void reverse( _BidirectionalIterator __first, _BidirectionalIterator __last)
first
last
реверс () не возвращает значения.
Инвертирует порядок элементов в диапазоне @p [сначала, в последний раз), так, чтобы первый элемент стал последним и т.д. Для каждого @c i таким образом, что @p 0<=i<=(last-first)/2), @p reverse()
swaps @p *(first+i) and @p *(last-(i+1))
Реверс @brief последовательность.
reverse_copy |
template<typename _BidirectionalIterator, typename _OutputIterator> _OutputIterator reverse_copy( _BidirectionalIterator __first, _BidirectionalIterator __last, _OutputIterator __result)
first
last
result
Итератор, определяющий конец получающейся последовательности.
Копирует элементы в диапазоне @p [сначала, в последний раз) к диапазону @p [результат, результат + (продержитесь сначала)), таким образом, что инвертируется порядок элементов. Для каждого @c i таким образом, что @p 0<=i<=(last-first), @p reverse_copy()
performs the assignment @p *(result+(last-first)-i) = *(first+i).
The ranges @p [first,last) and @p [result,result+(last-first))
must not overlap.
Копия @brief последовательность, инвертируя ее элементы.
rotate_copy |
template<typename _ForwardIterator, typename _OutputIterator> _OutputIterator rotate_copy( _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last, _OutputIterator __result)
first
middle
last
result
Итератор, определяющий конец получающейся последовательности.
Копирует элементы диапазона @p [сначала, в последний раз) к диапазону, начинающемуся в @result, поворачивая скопированные элементы на @p (середина сначала) позиции так, чтобы элемент в @p середину был перемещен в результат @p, элемент в @p middle+1 перемещен в @result+1 и т.д. для каждого элемента в диапазоне @p [сначала, в последний раз).
Выполняет @p * (результат + (n + (последняя середина)), % (продержитесь сначала)), = * (first+n) для каждого @p n в диапазоне @p [0, продержитесь сначала).
Копия @brief последовательность, поворачивая ее элементы.
поиск (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2) |
template<typename _ForwardIterator1, typename _ForwardIterator2> _ForwardIterator1 search( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2)
first1
last1
first2
last2
Первый итератор @c i в диапазоне @p [first1, last1-(last2-first2)) таким образом, что @c * (i+N) == @p * (first2+N) для каждого @c N в диапазоне @p [0, last2-first2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для подпоследовательности, сравнивающей равную стоимость значением с последовательностью, данной @p [first2, last2), и возвращает итератор первому элементу подпоследовательности или @p last1, если не найдена подпоследовательность.
Поскольку подпоследовательность должна лечь полностью в диапазоне @p [first1, last1), это должно запустить в позиции меньше, чем @p last1-(last2-first2), где @p last2-first2 является длиной подпоследовательности. Это означает, что возвращенный итератор @c я буду в диапазоне @p [first1, last1-(last2-first2)),
Поиск @brief последовательность для соответствующей подпоследовательности.
поиск (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate) |
- _ForwardIter1, _ForwardIter2, _ForwardIter2)
template<typename _ForwardIterator1, typename _ForwardIterator2, typename _BinaryPredicate> _ForwardIterator1 search( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __predicate)
first1
last1
first2
last2
predicate
Первый итератор @c i в диапазоне @p [first1, last1-(last2-first2)) таким образом, что @p предикат (* (i+N), * (first2+N)) является истиной для каждого @c N в диапазоне @p [0, last2-first2), или @p last1, если не существует никакой такой итератор.
Ищет диапазон @p [first1, last1) для подпоследовательности, сравнивающей равную стоимость значением с последовательностью, данной @p [first2, last2), с помощью @p предикат для определения равенства, и возвращает итератор первому элементу подпоследовательности или @p last1, если не существует никакой такой итератор.
Поиск @brief последовательность для соответствующей подпоследовательности с помощью предиката.
search_n (_ForwardIterator, _ForwardIterator, _Integer, константа _Tp и) |
template<typename _ForwardIterator, typename _Integer, typename _Tp> _ForwardIterator search_n( _ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val)
first
last
count
val
Первый итератор @c i в диапазоне @p [сначала, последнее количество) таким образом, что @c * (i+N) == @p val для каждого @c N в диапазоне @p [0, количество), или @p длятся, если не существует никакой такой итератор.
Ищет диапазон @p [сначала, в последний раз) для @p считают последовательные элементы равными @p val.
Поиск @brief последовательность для многих последовательных значений.
search_n (_ForwardIterator, _ForwardIterator, _Integer, константа _Tp и, _BinaryPredicate) |
template<typename _ForwardIterator, typename _Integer, typename _Tp, typename _BinaryPredicate> _ForwardIterator search_n( _ForwardIterator __first, _ForwardIterator __last, _Integer __count, const _Tp& __val, _BinaryPredicate __binary_pred)
first
last
count
val
binary_pred
Первый итератор @c i в диапазоне @p [сначала, последнее количество) таким образом, что @p binary_pred (* (i+N), val) является истиной для каждого @c N в диапазоне @p [0, количество), или @p в последний раз, если не существует никакой такой итератор.
Ищет диапазон @p [сначала, в последний раз) для @p считают последовательные элементы, для которых предикат возвращает true.
Поиск @brief последовательность для многих последовательных значений с помощью предиката.
set_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> _OutputIterator set_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
first1
last1
first2
last2
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в первом диапазоне, но не втором чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока первого диапазона является меньше, чем второе, тот элемент копируется и усовершенствования итератора. Если элемент тока второго диапазона меньше, усовершенствования итератора, но не копируется никакой элемент. Если элемент содержится в обоих диапазонах, никакие элементы не копируются и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief различие двух сортированных диапазонов.
set_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> _OutputIterator set_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
first1
last1
first2
last2
comp
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в первом диапазоне, но не втором чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока первого диапазона является меньше, чем второе согласно аккомпанементу @a, тот элемент копируется и усовершенствования итератора. Если элемент тока второго диапазона меньше, никакой элемент не копируется и усовершенствования итератора. Если элемент содержится в обоих диапазонах согласно аккомпанементу @a, никакие элементы не копируются и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief различие двух сортированных диапазонов с помощью функтора сравнения.
set_intersection (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> _OutputIterator set_intersection( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
first1
last1
first2
last2
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в обоих диапазонах чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой, тот итератор усовершенствования. Если элемент содержится в обоих диапазонах, элемент от первого диапазона копируется и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief пересечение двух сортированных диапазонов.
set_intersection (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> _OutputIterator set_intersection( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
first1
last1
first2
last2
comp
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в обоих диапазонах чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой согласно аккомпанементу @a, тот итератор усовершенствования. Если элемент содержится в обоих диапазонах согласно аккомпанементу @a, элемент от первого диапазона копируется и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief пересечение двух сортированных диапазонов с помощью функтора сравнения.
set_symmetric_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> _OutputIterator set_symmetric_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
first1
last1
first2
last2
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в одном диапазоне, но не другом чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой, тот элемент копируется и усовершенствования итератора. Если элемент содержится в обоих диапазонах, никакие элементы не копируются и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief симметричное различие двух сортированных диапазонов.
set_symmetric_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> _OutputIterator set_symmetric_difference( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
first1
last1
first2
last2
comp
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в одном диапазоне, но не другом чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой согласно аккомпанементу @a, тот элемент копируется и усовершенствования итератора. Если элемент содержится в обоих диапазонах согласно аккомпанементу @a, никакие элементы не копируются и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief симметричное различие двух сортированных диапазонов с помощью функтора сравнения.
set_union (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator> _OutputIterator set_union( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result)
first1
last1
first2
last2
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в каждом диапазоне чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой, тот элемент копируется, и итератор совершенствуется. Если элемент содержится в обоих диапазонах, элемент от первого диапазона копируется и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief объединение двух сортированных диапазонов.
set_union (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _Compare> _OutputIterator set_union( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _OutputIterator __result, _Compare __comp)
first1
last1
first2
last2
comp
Конец выходного диапазона. @ingroup setoperations
Эта работа выполняет итерации по обоим диапазонам, копируя настоящее элементов в каждом диапазоне чтобы к выходному диапазону. Итераторы постепенно увеличиваются для каждого диапазона. Когда элемент тока одного диапазона является меньше, чем другой согласно аккомпанементу @a, тот элемент копируется, и итератор совершенствуется. Если эквивалентный элемент согласно аккомпанементу @a содержится в обоих диапазонах, элемент от первого диапазона копируется и оба усовершенствования диапазонов. Выходной диапазон может не перекрыть ни один входной диапазон.
Возврат @brief объединение двух сортированных диапазонов с помощью функтора сравнения.
вид (_RandomAccessIterator, _RandomAccessIterator) |
template<typename _RandomAccessIterator> inline void sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
first
last
Ничто.
Сортирует элементы в диапазоне @p [сначала, в последний раз), в порядке возрастания, такой, что @p * (i+1)<*i is false for each iterator @p i in the range
@p [first,last-1).
Относительное упорядочивание эквивалентных элементов не сохраняется, используйте @p stable_sort (), если это необходимо.
@brief Сортируют элементы последовательности.
вид (_RandomAccessIterator, _RandomAccessIterator, _Compare) |
template<typename _RandomAccessIterator, typename _Compare> inline void sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
first
last
comp
Ничто.
Сортирует элементы в диапазоне @p [сначала, в последний раз), в порядке возрастания, такой, что @p аккомпанируют (* (i+1), *i) ложь для каждого итератора @p i в диапазоне @p [сначала, последний 1).
Относительное упорядочивание эквивалентных элементов не сохраняется, используйте @p stable_sort (), если это необходимо.
@brief Сортируют элементы последовательности с помощью предиката для сравнения.
swap_ranges |
template<typename _ForwardIterator1, typename _ForwardIterator2> _ForwardIterator2 swap_ranges( _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2)
first1
last1
first2
Итератор, равный @p first2 + (last1-first1).
Подкачки каждый элемент в диапазоне @p [first1, last1) с соответствующим элементом в диапазоне @p [first2, (last1-first1)). Диапазоны не должны накладываться.
Подкачка @brief элементы двух последовательностей.
преобразуйте (_InputIterator, _InputIterator, _OutputIterator, _UnaryOperation) |
template<typename _InputIterator, typename _OutputIterator, typename _UnaryOperation> _OutputIterator transform( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op)
first
last
result
unary_op
Выходной итератор, равный результату @p + (длятся сначала).
Применяет оператора к каждому элементу во входном диапазоне и присваивает результаты последовательным элементам выходной последовательности. Оценивает @p * (result+N) =unary_op (* (first+N)) для каждого @c N в диапазоне @p [0, в последний раз сначала).
@p unary_op не должен изменять свой параметр.
@brief Выполняют работу на последовательности.
преобразуйте (_InputIterator1, _InputIterator1, _InputIterator2, _OutputIterator, _BinaryOperation) |
template<typename _InputIterator1, typename _InputIterator2, typename _OutputIterator, typename _BinaryOperation> _OutputIterator transform( _InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op)
first1
last1
first2
result
binary_op
Выходной итератор, равный результату @p + (длятся сначала).
Применяет оператора к соответствующим элементам в этих двух входных диапазонах и присваивает результаты последовательным элементам выходной последовательности. Оценивает @p * (result+N) =binary_op (* (first1+N), * (first2+N)) для каждого @c N в диапазоне @p [0, last1-first1).
@p binary_op не должен изменять ни один из своих параметров.
@brief Выполняют работу на соответствующих элементах двух последовательностей.
уникальный (_ForwardIterator, _ForwardIterator) |
template<typename _ForwardIterator> _ForwardIterator unique( _ForwardIterator __first, _ForwardIterator __last)
first
last
Итератор, определяющий конец получающейся последовательности.
Удаляет все кроме первого элемента от каждой группы последовательных значений, выдерживающих сравнение равный. уникальный () стабильно, таким образом, относительный порядок неудаленных элементов неизменен. Элементы между концом получающейся последовательности и @p в последний раз все еще присутствуют, но их значение является неуказанным.
@brief Удаляют последовательные двойные значения из последовательности.
уникальный (_ForwardIterator, _ForwardIterator, _BinaryPredicate) |
template<typename _ForwardIterator, typename _BinaryPredicate> _ForwardIterator unique( _ForwardIterator __first, _ForwardIterator __last, _BinaryPredicate __binary_pred)
first
last
binary_pred
Итератор, определяющий конец получающейся последовательности.
Удаляет все кроме первого элемента от каждой группы последовательных значений, для которых @p binary_pred возвращает true. уникальный () стабильно, таким образом, относительный порядок неудаленных элементов неизменен. Элементы между концом получающейся последовательности и @p в последний раз все еще присутствуют, но их значение является неуказанным.
@brief Удаляют последовательные значения из последовательности с помощью предиката.
upper_bound (_ForwardIterator, _ForwardIterator, константа _Tp и) |
template<typename _ForwardIterator, typename _Tp> _ForwardIterator upper_bound( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val)
first
last
val
Итератор, указывающий на первый элемент, больше, чем @a val или конец (), если никакие элементы не больше, чем @a val. @ingroup binarysearch
@brief Находит последнюю позицию, в которую @a val мог быть вставлен, не изменяя упорядочивание.
upper_bound (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare) |
template<typename _ForwardIterator, typename _Tp, typename _Compare> _ForwardIterator upper_bound( _ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp)
first
last
val
comp
Итератор, указывающий на первый элемент, больше, чем @a val или конец (), если никакие элементы не больше, чем @a val. @ingroup binarysearch
Функция сравнения должна иметь те же эффекты на упорядочивание как функция, используемая для начального вида.
@brief Находит последнюю позицию, в которую @a val мог быть вставлен, не изменяя упорядочивание.
__ unguarded_insertion_sort |
template<typename _RandomAccessIterator> inline void __unguarded_insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
@if maint Это является функцией помощника для программы сортировки. @endif
__ unguarded_insertion_sort |
template<typename _RandomAccessIterator, typename _Compare> inline void __unguarded_insertion_sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
@if maint Это является функцией помощника для программы сортировки. @endif
inplace_merge |
template<typename _BidirectionalIterator> void inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last)
Слияния @brief два сортированных диапазона на месте.
inplace_merge |
template<typename _BidirectionalIterator, typename _Compare> void inplace_merge( _BidirectionalIterator __first, _BidirectionalIterator __middle, _BidirectionalIterator __last, _Compare __comp)
Слияния @brief два сортированных диапазона на месте.
partial_sort |
template<typename _RandomAccessIterator> void partial_sort( _RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last)
@brief Сортируют самые маленькие элементы последовательности.
partial_sort |
template<typename _RandomAccessIterator, typename _Compare> void partial_sort( _RandomAccessIterator __first, _RandomAccessIterator __middle, _RandomAccessIterator __last, _Compare __comp)
@brief Сортируют самые маленькие элементы последовательности с помощью предиката для сравнения.
вращаться |
template<typename _ForwardIterator> inline void rotate( _ForwardIterator __first, _ForwardIterator __middle, _ForwardIterator __last)
@brief Поворачивают элементы последовательности.
stable_partition |
template<typename _ForwardIterator, typename _Predicate> _ForwardIterator stable_partition( _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
Элементы Перемещения @brief, для которых предикат является истиной к началу последовательности, сохраняя относительное упорядочивание.
stable_sort |
template<typename _RandomAccessIterator> inline void stable_sort( _RandomAccessIterator __first, _RandomAccessIterator __last)
@brief Сортируют элементы последовательности, сохраняя относительный порядок эквивалентных элементов.
stable_sort |
template<typename _RandomAccessIterator, typename _Compare> inline void stable_sort( _RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
@brief Сортируют элементы последовательности с помощью предиката для сравнения, сохраняя относительный порядок эквивалентных элементов.
unique_copy |
template<typename _InputIterator, typename _OutputIterator> inline _OutputIterator unique_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result)
Копия @brief последовательность, удаляя последовательные двойные значения.
unique_copy |
template<typename _InputIterator, typename _OutputIterator, typename _BinaryPredicate> inline _OutputIterator unique_copy( _InputIterator __first, _InputIterator __last, _OutputIterator __result, _BinaryPredicate __binary_pred)
Копия @brief последовательность, удаляя последовательные значения с помощью предиката.
Последнее обновление: 20.06.2006