std::ranges:: approximately_sized_range
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
헤더 파일에 정의됨
<ranges>
|
||
|
template
<
class
T
>
concept approximately_sized_range
=
ranges::
range
<
T
>
&&
|
(C++26부터) | |
approximately_sized_range
개념은
range
타입이
reserve_hint
함수를 통해 상수 시간 내에 자신의 크기를 추정할 수 있는 요구사항을 명시합니다.
목차 |
의미론적 요구사항
주어진 타입
t
의 lvalue
std::
remove_reference_t
<
T
>
에 대해,
T
가
approximately_sized_range
를 모델링하려면 다음 조건을 만족해야 합니다
- ranges :: reserve_hint ( t )
-
- 분할 상환된 상수 시간 복잡도를 가집니다,
- t 의 값을 동등성 보존 표현식에서 관찰 가능한 방식으로 변경하지 않으며,
- 음수가 아니고 ranges:: range_difference_t < T > 에 표현 가능한 값을 가집니다, 그리고
-
만약
ranges::
iterator_t
<
T
>
가
forward_iterator를 모델링하고, ranges :: reserve_hint ( t ) 가 ranges:: begin ( t ) 의 평가와 관계없이 잘 정의된다면 (즉, 단일 패스 대략 크기 범위는begin의 첫 호출 전에만reserve_hint호출을 지원할 수 있지만, 순방향 범위는 항상 크기를 지원해야 함).
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::approximately_sized_range |
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++20)
|
범위가 자신의 크기를 상수 시간에 알 수 있음을 지정함
(concept) |