std::experimental::ranges:: Iterator
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| Iterator concepts | |||||||||||||||||||||||
|
|||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||
| Concept utilities | |||||||||||||||||||||||
| Iterator utilities and operations | |||||||||||||||||||||||
| Iterator traits | |||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||
| Stream iterators | |||||||||||||||||||||||
|
헤더 파일에 정의됨
<experimental/ranges/iterator>
|
||
|
template
<
class
I
>
concept
bool
Iterator
=
|
(ranges TS) | |
Iterator
개념은 반복자 개념 분류체계의 기초를 형성합니다. 모든 반복자는
Iterator
요구사항을 충족합니다.
등식 보존
표현식은 동일한 입력이 주어졌을 때 동일한 출력을 결과로 내놓는다면 등식 보존(equality preserving) 합니다.
- 표현식의 입력은 피연산자들로 구성됩니다.
- 표현식의 출력은 결과와 표현식에 의해 수정된 모든 피연산자들(있는 경우)로 구성됩니다.
동등성 보존이 요구되는 모든 표현식은 추가로 안정적(stable) 이어야 합니다: 동일한 입력 객체에 대한 이러한 표현식의 두 평가는 해당 입력 객체에 대한 명시적인 중간 수정이 없는 경우 동일한 출력을 가져야 합니다.
달리 명시되지 않는 한, requires-expression 에서 사용되는 모든 표현식은 등식 보존적이고 안정적이어야 하며, 표현식의 평가는 비상수 피연산자만 수정할 수 있습니다. 상수인 피연산자는 수정되어서는 안 됩니다.
참고 사항
Iterator
자체는 반복자를 역참조하고 증가시키는 연산만을 지정합니다. 대부분의 알고리즘은 추가적인 연산을 필요로 할 것입니다, 예를 들어:
-
반복자와 센티넬 비교하기 (참조:
Sentinel); -
반복자로부터 값 읽기 (참조:
Readable및InputIterator); -
반복자에 값 쓰기 (참조:
Writable및OutputIterator); -
더 풍부한 반복자 이동 연산 (참조:
ForwardIterator,BidirectionalIterator,RandomAccessIterator).
- > auto && 제약 조건은 역참조 결과 타입이 void 일 수 없음을 의미합니다.