Spec-Zone .ru
спецификации, руководства, описания, API
ADC домой > Ссылочная библиотека> Ссылка> Дарвин> Разное пространство пользователя ссылка API

 


stl_algo.h

Включает:

Введение

Это - внутренний заголовочный файл, включенный другими заголовками библиотеки. Вы не должны пытаться использовать его непосредственно.



Функции

__ final_insertion_sort (_RandomAccessIterator, _RandomAccessIterator)
__ final_insertion_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare)
__ GCD
__ inplace_stable_partition
__ inplace_stable_sort (_RandomAccessIterator, _RandomAccessIterator)
__ inplace_stable_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare)
__ insertion_sort (_RandomAccessIterator, _RandomAccessIterator)
__ insertion_sort (_RandomAccessIterator, _RandomAccessIterator, _Compare)
__ introsort_loop (_RandomAccessIterator, _RandomAccessIterator, _Size)
__ introsort_loop (_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare)
__ LG
__ медиана (константа _Tp и, константа _Tp и, константа _Tp и)
__ медиана (константа _Tp и, константа _Tp и, константа _Tp и, _Compare)
__ merge_adaptive (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance)
__ merge_adaptive (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Pointer, _Distance, _Compare)
__ merge_backward (_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator2, _BidirectionalIterator2, _BidirectionalIterator3)
__ merge_backward (_BidirectionalIterator1, _BidirectionalIterator1, _BidirectionalIterator2, _BidirectionalIterator2, _BidirectionalIterator3, _Compare)
__ merge_without_buffer (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance)
__ merge_without_buffer (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, _Distance, _Distance, _Compare)
__ раздел (_BidirectionalIterator, _BidirectionalIterator, _Predicate, bidirectional_iterator_tag)
__ раздел (_ForwardIterator, _ForwardIterator, _Predicate, forward_iterator_tag)
__ реверс (_BidirectionalIterator, _BidirectionalIterator, bidirectional_iterator_tag)
__ реверс (_RandomAccessIterator, _RandomAccessIterator, random_access_iterator_tag)
__ вращаться
__ вращайтесь (_BidirectionalIterator, _BidirectionalIterator, _BidirectionalIterator, bidirectional_iterator_tag)
__ вращайтесь (_ForwardIterator, _ForwardIterator, _ForwardIterator, forward_iterator_tag)
__ rotate_adaptive
__ stable_partition_adaptive
__ unguarded_linear_insert (_RandomAccessIterator, _Tp)
__ unguarded_linear_insert (_RandomAccessIterator, _Tp, _Compare)
__ unguarded_partition (_RandomAccessIterator, _RandomAccessIterator, _Tp)
__ unguarded_partition (_RandomAccessIterator, _RandomAccessIterator, _Tp, _Compare)
__ unique_copy (_InputIterator, _InputIterator, _ForwardIterator, forward_iterator_tag)
__ unique_copy (_InputIterator, _InputIterator, _ForwardIterator, _BinaryPredicate, forward_iterator_tag)
__ unique_copy (_InputIterator, _InputIterator, _OutputIterator, output_iterator_tag)
__ unique_copy (_InputIterator, _InputIterator, _OutputIterator, _BinaryPredicate, output_iterator_tag)
adjacent_find (_ForwardIterator, _ForwardIterator)
adjacent_find (_ForwardIterator, _ForwardIterator, _BinaryPredicate)
binary_search (_ForwardIterator, _ForwardIterator, константа _Tp и)
binary_search (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare)
количество
count_if
equal_range (_ForwardIterator, _ForwardIterator, константа _Tp и)
equal_range (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare)
найти
найдите (_InputIterator, _InputIterator, константа _Tp и, input_iterator_tag)
найдите (_RandomAccessIterator, _RandomAccessIterator, константа _Tp и, random_access_iterator_tag)
find_end (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)
find_end (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)
find_first_of (_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator)
find_first_of (_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator, _BinaryPredicate)
find_if
find_if (_InputIterator, _InputIterator, _Predicate, input_iterator_tag)
find_if (_RandomAccessIterator, _RandomAccessIterator, _Predicate, random_access_iterator_tag)
for_each
генерировать
generate_n
включает (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2)
включает (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _Compare)
lower_bound (_ForwardIterator, _ForwardIterator, константа _Tp и)
lower_bound (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare)
max_element (_ForwardIterator, _ForwardIterator)
max_element (_ForwardIterator, _ForwardIterator, _Compare)
слияние (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator)
слияние (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare)
min_element (_ForwardIterator, _ForwardIterator)
min_element (_ForwardIterator, _ForwardIterator, _Compare)
next_permutation (_BidirectionalIterator, _BidirectionalIterator)
next_permutation (_BidirectionalIterator, _BidirectionalIterator, _Compare)
nth_element (_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator)
nth_element (_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare)
partial_sort_copy (_InputIterator, _InputIterator, _RandomAccessIterator, _RandomAccessIterator)
partial_sort_copy (_InputIterator, _InputIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare)
раздел
prev_permutation (_BidirectionalIterator, _BidirectionalIterator)
prev_permutation (_BidirectionalIterator, _BidirectionalIterator, _Compare)
random_shuffle (_RandomAccessIterator, _RandomAccessIterator)
random_shuffle (_RandomAccessIterator, _RandomAccessIterator, _RandomNumberGenerator и)
удалить
remove_copy
remove_copy_if
remove_if
замена
replace_copy
replace_copy_if
replace_if
реверс
reverse_copy
rotate_copy
поиск (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2)
поиск (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator2, _BinaryPredicate)
search_n (_ForwardIterator, _ForwardIterator, _Integer, константа _Tp и)
search_n (_ForwardIterator, _ForwardIterator, _Integer, константа _Tp и, _BinaryPredicate)
set_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator)
set_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare)
set_intersection (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator)
set_intersection (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare)
set_symmetric_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator)
set_symmetric_difference (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare)
set_union (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator)
set_union (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _OutputIterator, _Compare)
вид (_RandomAccessIterator, _RandomAccessIterator)
вид (_RandomAccessIterator, _RandomAccessIterator, _Compare)
swap_ranges
преобразуйте (_InputIterator, _InputIterator, _OutputIterator, _UnaryOperation)
преобразуйте (_InputIterator1, _InputIterator1, _InputIterator2, _OutputIterator, _BinaryOperation)
уникальный (_ForwardIterator, _ForwardIterator)
уникальный (_ForwardIterator, _ForwardIterator, _BinaryPredicate)
upper_bound (_ForwardIterator, _ForwardIterator, константа _Tp и)
upper_bound (_ForwardIterator, _ForwardIterator, константа _Tp и, _Compare)

__ 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
Функтор RNG или функция.
Возвращаемое значение

Ничто.

Переупорядочивает элементы в диапазоне @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