std::ranges::reserve_hint
| 헤더 <ranges>
|
||
| 에 정의됨 <iterator>
|
||
inline namespace /* unspecified */ {
inline constexpr auto reserve_hint = /* unspecified */;
}
|
(C++26 이후) (사용자 정의 포인트 객체) |
|
| 호출 시그니처 |
||
template< class T >
requires /* see below */
constexpr auto reserve_hint( T&& t );
|
(C++26 이후) | |
t의 요소 개수를 상수 시간에 추정합니다.
하위 표현식에서 t이 (잠재적으로 구체화된) 결과 객체를 E로 나타내고, E의 타입을 T로 할 때:
ranges::size(E)이 유효한 표현식이면,ranges::reserve_hint(E)는 표현식-동등하게ranges::size(E)입니다.- 그렇지 않고,
auto(t.reserve_hint())가 정수형 타입의 유효한 표현식이면,ranges::reserve_hint(E)는 표현식-동등하게auto(t.reserve_hint())입니다. - 그렇지 않고, 다음 조건이 모두 만족되면,
ranges::reserve_hint(E)는 표현식-동등하게auto(reserve_hint(t))입니다:T는 클래스 또는 열거형 타입입니다.auto(reserve_hint(t))는 정수형 타입의 유효한 표현식이며, 여기서reserve_hint의 의미는 오직 인자 종속 조회를 수행한 것처럼 확립됩니다.
- 그렇지 않으면,
ranges::reserve_hint(E)는 잘못된 형태(ill-formed)입니다.
위의 진단 가능한 잘못된 형태의 경우는 치환 실패로 이어지며, 이는 ranges::reserve_hint(E)가 템플릿 인스턴스화의 즉시 문맥에 나타날 때 발생합니다.
커스터마이제이션 포인트 객체
ranges::reserve_hint
이름은
커스터마이제이션 포인트 객체
를 나타내며, 이는
함수 객체
의 리터럴
리터럴
semiregular
클래스 타입의 const 객체입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
참고 사항
ranges :: reserve_hint ( e ) 표현식이 유효할 때마다, 반환 타입은 integer-like 입니다.
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::reserve_hint |
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
(C++20)
|
범위의 크기와 동일한 정수를 반환합니다
(customization point object) |
|
(C++20)
|
범위의 크기와 동일한 부호 있는 정수를 반환합니다
(customization point object) |
|
범위가 상수 시간에 크기를 추정할 수 있음을 지정합니다
(concept) |