std::experimental::ranges:: find_end
|
헤더에 정의됨
<experimental/ranges/algorithm>
|
||
|
template
<
ForwardIterator I1, Sentinel
<
I1
>
S1, ForwardIterator I2, Sentinel
<
I2
>
S2,
class
Proj
=
ranges::
identity
,
|
(1) | (ranges TS) |
|
template
<
ForwardRange R1, ForwardRange R2,
class
Proj
=
ranges::
identity
,
IndirectRelation
<
ranges::
iterator_t
<
R2
>
,
|
(2) | (ranges TS) |
[
first1
,
last1
)
에서 시퀀스
[
first2
,
last2
)
의 마지막 발생을 검색합니다
(
proj
를 사용한 투영 후).
위에 기술된 선언들과는 별개로, 알고리즘 선언의 실제 템플릿 매개변수 개수와 순서는 명시되지 않습니다. 따라서 알고리즘을 호출할 때 명시적 템플릿 인자를 사용하는 경우, 해당 프로그램은 이식성이 없을 가능성이 높습니다.
목차 |
매개변수
| first1, last1 | - | 검사할 요소들의 범위 |
| r1 | - | 검사할 요소들의 범위 |
| first2, last2 | - | 검색할 요소들의 범위 |
| r2 | - | 검색할 요소들의 범위 |
| pred | - | 요소들을 비교하기 위한 조건자 |
| proj | - | 첫 번째 범위의 요소들에 적용할 투영 |
반환값
범위
[
first1
,
last1
)
에서 시퀀스
[
first2
,
last2
)
의 마지막 발생 시작 부분에 대한 반복자
(투영
proj
적용 후).
만약
[
first2
,
last2
)
가 비어있거나 해당 시퀀스를 찾을 수 없는 경우,
last1
와 동일하게 비교되는 반복자가 반환됩니다.
복잡도
최대
S * (N - S + 1)
번의 predicate와 projection 적용, 여기서
S
=
last2
-
first2
이고
N
=
last1
-
first1
입니다.
참고 사항
투영은 범위
[
first1
,
last1
)
에만 적용됩니다.
가능한 구현
template<ForwardIterator I1, Sentinel<I1> S1, ForwardIterator I2, Sentinel<I2> S2, class Proj = ranges::identity, IndirectRelation<I2, projected<I1, Proj>> Pred = ranges::equal_to<>> I1 find_end(I1 first1, S1 last1, I2 first2, S2 last2, Pred pred = Pred{}, Proj proj = Proj{}) { I1 result = ranges::next(first1, last1); if (first2 == last2) return result; while (true) { I1 new_result = ranges::search(first1, last1, first2, last2, pred, proj); if (new_result == last1) break; else { result = new_result; first1 = result; ++first1; } } return result; } |
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
특정 범위에서 마지막 원소 시퀀스를 찾음
(function template) |
|
|
원소들의 범위를 검색함
(function template) |
|
|
한 집합이 다른 집합의 부분집합이면
true
를 반환함
(function template) |
|
|
서로 같은 (또는 주어진 조건자를 만족하는) 첫 번째 인접한 두 항목을 찾음
(function template) |
|
|
특정 기준을 만족하는 첫 번째 원소를 찾음
(function template) |
|
|
원소 집합 중 하나를 검색함
(function template) |
|
|
범위에서 연속된 특정 개수의 원소를 검색함
(function template) |