Namespaces
Variants

std::ranges:: reserve_hint

From cppreference.net
Ranges library
Range adaptors
헤더에 정의됨 <ranges>
헤더에 정의됨 <iterator>
inline namespace /* unspecified */ {

inline constexpr auto reserve_hint = /* unspecified */ ;

}
(C++26부터)
(customization point object)
호출 시그니처
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 ) 는 형식 오류입니다.

위에서 진단 가능한 형식 오류 사례들은 치환 실패 를 일으키며, 이는 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

예제

참고 항목

범위의 크기와 동일한 정수를 반환합니다
(customization point object)
범위의 크기와 동일한 부호 있는 정수를 반환합니다
(customization point object)
범위가 상수 시간에 크기를 추정할 수 있음을 지정합니다
(concept)