ranges_approximately_sized_range
ranges_approximately_sized_range (근사 크기 범위 개념)
ranges::approximately_sized_range은 reserve_hint 함수로 상수 시간에 크기를 추정할 수 있는 range 타입의 요구사항을 지정하는 개념이에요. C++26부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< class T >
concept approximately_sized_range = ranges::range<T> &&
requires(T& t) {
ranges::reserve_hint(t);
};
(since C++26)
approximately_sized_range 개념은 reserve_hint 함수로 상수 시간에 크기를 추정할 수 있는 range 타입의 요구사항을 지정해요.
의미 요구사항 (Semantic requirements)
std::remove_reference_t<T> 타입의 lvalue t가 주어졌을 때 T는 다음을 만족할 때만 approximately_sized_range를 모델링해요:
- ranges::reserve_hint(t)가
- 분할 상환 상수 시간 복잡도를 갖고,
- equality-preserving 표현식에 관찰 가능한 방식으로 t 값을 변경하지 않고,
- 예약 최소 크기 추정치를 반환해야 해요.
참고 (Notes)
이 개념은 sized_range의 근사 버전이에요. 정확한 크기가 필요하면 sized_range를 사용해요.