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

 


stl_algobase.h

Включает:

Введение

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



Функции

копия
copy_backward
равный (_InputIterator1, _InputIterator1, _InputIterator2)
равный (_InputIterator1, _InputIterator1, _InputIterator2, _BinaryPredicate)
заливка
fill_n
lexicographical_compare (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2)
lexicographical_compare (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _Compare)
макс. (константа _Tp и, константа _Tp и)
макс. (константа _Tp и, константа _Tp и, _Compare)
минута (константа _Tp и, константа _Tp и)
минута (константа _Tp и, константа _Tp и, _Compare)
несоответствие (_InputIterator1, _InputIterator1, _InputIterator2)
несоответствие (_InputIterator1, _InputIterator1, _InputIterator2, _BinaryPredicate)
подкачка

копия


template<typename _InputIterator, typename _OutputIterator> inline _OutputIterator copy(
    _InputIterator __first,
    _InputIterator __last, 
    _OutputIterator __result) 
Параметры
first
Входной итератор.
last
Входной итератор.
result
Выходной итератор.
Возвращаемое значение

закончитесь + (сначала - в последний раз)

Эта подставляемая функция сведется к вызову к @c memmove, когда это возможно. Сбой этого, если итераторы произвольного доступа будут переданы, то количество цикла будет известно (и поэтому кандидат на оптимизацию компилятора, такую как разворачивание). Результат не может содержаться в [сначала, в последний раз); функция copy_backward должна использоваться вместо этого.

Обратите внимание на то, что концу выходного диапазона разрешают содержаться в [сначала, в последний раз).

Обсуждение

Копии @brief диапазон [сначала, в последний раз) в результат.


copy_backward


template <typename _BI1, typename _BI2> inline _BI2 copy_backward(
    _BI1 __first,
    _BI1 __last,
    _BI2 __result) 
Параметры
first
Двунаправленный итератор.
last
Двунаправленный итератор.
result
Двунаправленный итератор.
Возвращаемое значение

результат - (сначала - в последний раз)

Функция имеет тот же эффект как копия, но запускается в конце диапазона и прокладывает себе путь к запуску, возвращая запуск результата. Эта подставляемая функция сведется к вызову к @c memmove, когда это возможно. Сбой этого, если итераторы произвольного доступа будут переданы, то количество цикла будет известно (и поэтому кандидат на оптимизацию компилятора, такую как разворачивание).

Результат может не быть в диапазоне [сначала, в последний раз). Используйте копию вместо этого. Обратите внимание на то, что запуск выходного диапазона может наложиться [сначала, в последний раз).

Обсуждение

Копии @brief диапазон [сначала, в последний раз) в результат.


равный (_InputIterator1, _InputIterator1, _InputIterator2)


template<typename _InputIterator1, typename _InputIterator2> inline bool equal(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
first2
Входной итератор.
Возвращаемое значение

Булева истина или ложь.

Это сравнивает элементы двух диапазонов с помощью @c == и возвращает истину или ложь в зависимости от того, равны ли все соответствующие элементы диапазонов.

Обсуждение

Тесты @brief диапазон для поэлементного равенства.


равный (_InputIterator1, _InputIterator1, _InputIterator2, _BinaryPredicate)


template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate> inline bool equal(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2, 
    _BinaryPredicate __binary_pred) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
binary_pred
Двоичный предикат functorparam first2 входной итератор. @endlink.
Возвращаемое значение

Булева истина или ложь.

Это сравнивает элементы двух диапазонов с помощью binary_pred параметра и возвращает истину или ложь в зависимости от того, равны ли все соответствующие элементы диапазонов.

Обсуждение

Тесты @brief диапазон для поэлементного равенства.


заливка


template<typename _ForwardIterator, typename _Tp> void fill(
    _ForwardIterator __first,
    _ForwardIterator __last,
    const _Tp& __value) 
Параметры
first
Прямой итератор.
last
Прямой итератор.
value
Ссылка на константу произвольного типа.
Возвращаемое значение

Ничто.

Эта функция заполняет диапазон копиями того же значения. Для однобайтовых типов, заполняющих непрерывные области памяти, это становится встроенным вызовом к @c memset.

Обсуждение

Заливки @brief диапазон [сначала, в последний раз) с копиями имеющими значение.


fill_n


template<typename _OutputIterator, typename _Size, typename _Tp> _OutputIterator fill_n(
    _OutputIterator __first,
    _Size __n,
    const _Tp& __value) 
Параметры
first
Выходной итератор.
n
Количество копий для выполнения.
value
Ссылка на константу произвольного типа.
Возвращаемое значение

Итератор в first+n.

Эта функция заполняет диапазон копиями того же значения. Для однобайтовых типов, заполняющих непрерывные области памяти, это становится встроенным вызовом к @c memset.

Обсуждение

Заливки @brief диапазон [сначала, first+n) с копиями имеющими значение.


lexicographical_compare (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2)


template<typename _InputIterator1, typename _InputIterator2> bool lexicographical_compare(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2,
    _InputIterator2 __last2) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
first2
Входной итератор.
last2
Входной итератор.
Возвращаемое значение

Булева истина или ложь.

«Возвращает true, если последовательность элементов, определенных диапазоном [first1, last1), лексикографически меньше, чем последовательность элементов, определенных диапазоном [first2, last2). Возвращает false иначе». (Заключенный в кавычки от [25.3.8]/1.), Если итераторы являются всеми символьными указателями, то это - встроенный вызов к @c memcmp.

Обсуждение

@brief Выполняет сравнение «словаря» на диапазонах.


lexicographical_compare (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _Compare)


template<typename _InputIterator1, typename _InputIterator2, typename _Compare> bool lexicographical_compare(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2,
    _InputIterator2 __last2, 
    _Compare __comp) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
first2
Входной итератор.
comp
Сравнение functorparam last2 входной итератор. @endlink.
Возвращаемое значение

Булева истина или ложь.

То же как @c с четырьмя параметрами lexigraphical_compare, но использование параметр аккомпанемента вместо @c <.

Обсуждение

@brief Выполняет сравнение «словаря» на диапазонах.


макс. (константа _Tp и, константа _Tp и)


template<typename _Tp> inline const _Tp& max(
    const _Tp& __a,
    const _Tp& __b) 
Параметры
a
Вещь произвольного типа.
b
Другая вещь произвольного типа.
Возвращаемое значение

Большие из параметров.

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

Обсуждение

@brief Это делает то, что Вы думаете, что он делает.


макс. (константа _Tp и, константа _Tp и, _Compare)


template<typename _Tp, typename _Compare> inline const _Tp& max(
    const _Tp& __a,
    const _Tp& __b,
    _Compare __comp) 
Параметры
a
Вещь произвольного типа.
comp
Сравнение functorparam b Другая вещь произвольного типа. @endlink.
Возвращаемое значение

Большие из параметров.

Это будет работать над временными выражениями, так как они только оценены один раз, в отличие от макроса препроцессора.

Обсуждение

@brief Это делает то, что Вы думаете, что он делает.


минута (константа _Tp и, константа _Tp и)


template<typename _Tp> inline const _Tp& min(
    const _Tp& __a,
    const _Tp& __b) 
Параметры
a
Вещь произвольного типа.
b
Другая вещь произвольного типа.
Возвращаемое значение

Меньшие из параметров.

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

Обсуждение

@brief Это делает то, что Вы думаете, что он делает.


минута (константа _Tp и, константа _Tp и, _Compare)


template<typename _Tp, typename _Compare> inline const _Tp& min(
    const _Tp& __a,
    const _Tp& __b,
    _Compare __comp) 
Параметры
a
Вещь произвольного типа.
comp
Сравнение functorparam b Другая вещь произвольного типа. @endlink.
Возвращаемое значение

Меньшие из параметров.

Это будет работать над временными выражениями, так как они только оценены один раз, в отличие от макроса препроцессора.

Обсуждение

@brief Это делает то, что Вы думаете, что он делает.


несоответствие (_InputIterator1, _InputIterator1, _InputIterator2)


template<typename _InputIterator1, typename _InputIterator2> pair<_InputIterator1, _InputIterator2> mismatch(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
first2
Входной итератор.
Возвращаемое значение

Пара итераторов, указывающих на первое несоответствие.

Это сравнивает элементы двух диапазонов с помощью @c == и возвращает пару итераторов. Первые точки итератора в первый диапазон, вторые точки итератора во второй диапазон и элементы, на которые указывают итераторы, не равны.

Обсуждение

@brief Находит места в не соответствующих диапазонах.


несоответствие (_InputIterator1, _InputIterator1, _InputIterator2, _BinaryPredicate)


template<typename _InputIterator1, typename _InputIterator2, typename _BinaryPredicate> pair<_InputIterator1, _InputIterator2> mismatch(
    _InputIterator1 __first1,
    _InputIterator1 __last1, 
    _InputIterator2 __first2,
    _BinaryPredicate __binary_pred) 
Параметры
first1
Входной итератор.
last1
Входной итератор.
binary_pred
Двоичный предикат functorparam first2 входной итератор. @endlink.
Возвращаемое значение

Пара итераторов, указывающих на первое несоответствие.

Это сравнивает элементы двух диапазонов с помощью binary_pred параметра и возвращает пару итераторов. Первые точки итератора в первый диапазон, вторые точки итератора во второй диапазон и элементы, на которые указывают итераторы, не равны.

Обсуждение

@brief Находит места в не соответствующих диапазонах.


подкачка


template<typename _Tp> inline void swap(
    _Tp& __a,
    _Tp& __b) 
Параметры
a
Вещь произвольного типа.
b
Другая вещь произвольного типа.
Возвращаемое значение

Ничто.

Это - простая классическая универсальная реализация. Это будет работать над любым типом, имеющим конструктора копии и оператор присваивания.

Обсуждение

Подкачки @brief два значения.

Определения типов


iter_swap


template<typename _ForwardIterator1, typename _ForwardIterator2> inline void iter_swap(
    _ForwardIterator1 __a,
    _ForwardIterator2 __b) 
Обсуждение

Подкачки @brief содержание двух итераторов.

Последнее обновление: 20.06.2006