std::experimental::ranges:: find, std::experimental::ranges:: find_if, std::experimental::ranges:: find_if_not
|
Определено в заголовке
<experimental/ranges/algorithm>
|
||
|
template
<
InputIterator I, Sentinel
<
I
>
S,
class
T,
class
Proj
=
ranges::
identity
>
requires IndirectRelation
<
ranges::
equal_to
<>
,
projected
<
I, Proj
>
,
const
T
*
>
|
(1) | (ranges TS) |
|
template
<
InputRange R,
class
T,
class
Proj
=
ranges::
identity
>
requires IndirectRelation
<
ranges::
equal_to
<>
,
|
(2) | (ranges TS) |
|
template
<
InputIterator I, Sentinel
<
I
>
S,
class
Proj
=
ranges::
identity
,
IndirectUnaryPredicate
<
projected
<
I, Proj
>>
Pred
>
|
(3) | (ranges TS) |
|
template
<
InputRange R,
class
Proj
=
ranges::
identity
,
IndirectUnaryPredicate
<
projected
<
ranges::
iterator_t
<
R
>
, Proj
>>
Pred
>
|
(4) | (ranges TS) |
|
template
<
InputIterator I, Sentinel
<
I
>
S,
class
Proj
=
ranges::
identity
,
IndirectUnaryPredicate
<
projected
<
I, Proj
>>
Pred
>
|
(5) | (ranges TS) |
|
template
<
InputRange R,
class
Proj
=
ranges::
identity
,
IndirectUnaryPredicate
<
projected
<
ranges::
iterator_t
<
R
>
, Proj
>>
Pred
>
|
(6) | (ranges TS) |
Возвращает первый элемент в диапазоне
[
first
,
last
)
, удовлетворяющий определённым критериям:
find
выполняет поиск элемента, чье проецируемое значение равно
value
(т.е.,
value
==
ranges::
invoke
(
proj,
*
i
)
).
find_if
ищет элемент, для спроецированного значения которого предикат
p
возвращает
true
(т.е.,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj,
*
i
)
)
) равно
true
).
find_if_not
ищет элемент, для которого спроецированное значение предикат
q
возвращает
false
(т.е.,
ranges::
invoke
(
pred,
ranges::
invoke
(
proj,
*
i
)
)
) равно
false
).
Несмотря на приведённые выше объявления, фактическое количество и порядок параметров шаблона для объявлений алгоритмов не определено. Таким образом, если при вызове алгоритма используются явные аргументы шаблона, программа, вероятно, является непереносимой.
СодержаниеПараметры
Возвращаемое значениеИтератор на первый элемент, удовлетворяющий условию. Если такой элемент не найден, возвращает итератор, который сравнивается равным с last . СложностьНе более last - first применений предиката и проекции. Возможная реализация
Пример
Смотрите также
|