std::experimental::ranges:: next
|
헤더에 정의됨
<experimental/ranges/iterator>
|
||
|
namespace
{
constexpr
/* unspecified */
next
=
/* unspecified */
;
|
(ranges TS)
(customization point object) |
|
|
호출 시그니처
|
||
|
template
<
Iterator I
>
constexpr I next ( I i ) ; |
(1) | |
|
template
<
Iterator I
>
constexpr I next ( I i, ranges :: difference_type_t < I > n ) ; |
(2) | |
|
template
<
Iterator I, Sentinel
<
I
>
S
>
constexpr I next ( I i, S bound ) ; |
(3) | |
|
template
<
Iterator I, Sentinel
<
I
>
S
>
constexpr I next ( I i, ranges :: difference_type_t < I > n, S bound ) ; |
(4) | |
반복자 i 를 n 회만큼 진행하거나 bound 에 도달할 때까지 진행하며(둘 중 먼저 도달하는 조건 적용), 진행된 반복자를 반환합니다.
목차 |
커스터마이제이션 포인트 객체
ranges::next
라는 이름은
커스터마이제이션 포인트 객체
를 나타내며, 이는
함수 객체
의 일종으로
리터럴
Semiregular
클래스 타입(설명 목적으로
NextT
로 표기)입니다.
NextT
의 모든 인스턴스는 동일합니다. 따라서
ranges::next
는 자유롭게 복사할 수 있으며 그 복사본들은 상호 교환적으로 사용될 수 있습니다.
주어진 타입 집합
Args...
에 대해,
std::
declval
<
Args
>
(
)
...
가 위의
ranges::next
에 대한 인수 요구사항을 만족하는 경우,
NextT
는
ranges
::
Invocable
<
const
NextT, Args...
>
를 만족합니다. 그렇지 않은 경우,
NextT
의 함수 호출 연산자 중 어느 것도 오버로드 해결에 참여하지 않습니다.
ranges::next
가 정의된 모든 번역 단위에서, 이것은 동일한 사용자 지정점 객체의 인스턴스를 참조합니다. (이는 인라인 함수나 함수 템플릿과 같은 것들에서
일 정의 규칙
을 위반하지 않으면서 자유롭게 사용될 수 있음을 의미합니다.)
반환값
고급 반복자.
참고 사항
오버로드 (2) 에서 n 을 생략하면 n 이 1인 것처럼 동작하지만, 오버로드 (4) 에서 n 을 생략하면 사실상 n 이 무한대인 것처럼 동작합니다(항상 bound 까지 진행).
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++11)
|
반복자를 증가시킴
(함수 템플릿) |
|
주어진 거리만큼 반복자를 전진시킴
(함수 템플릿) |
|
|
반복자를 감소시킴
(함수 템플릿) |
|
|
반복자와 센티넬 사이의 거리, 또는 범위의 시작과 끝 사이의 거리를 반환함
(함수 템플릿) |