ranges_elements_of
ranges_elements_of (요소 시퀀스 태그)
std::ranges::elements_of은 범위를 캡슐화하는 클래스 템플릿이에요. 오버로드 집합에서 범위를 단일 값이 아니라 시퀀스로 취급해야 함을 명확히 하는 태그로 작동해요. C++23부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< ranges::range R, class Allocator = std::allocator<std::byte> >
struct elements_of;
(since C++23)
범위를 캡슐화해요. elements_of의 특수화는 오버로드 집합에서 범위를 시퀀스로 취급해야 하는지 단일 값으로 취급해야 하는지를 구분하는 태그 역할을 해요.
템플릿 매개변수 (Template parameters)
- R — 캡슐화할 범위의 타입.
- Allocator — (선택) 컨테이너 구성에 사용할 할당자 타입.
참고 (Notes)
일반적으로 std::views::concat이 아닌 컨테이너 생성 오버로드(예: std::string 생성자)에 전달돼, 범위의 모든 요소를 시퀀스로 소비하라는 뜻을 나타내요.