ranges_ref_view
ranges_ref_view (참조 뷰)
std::ranges::ref_view은 어떤 다른 범위의 요소를 보여주는 뷰예요. 그 범위에 대한 참조를 래핑해요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< ranges::range R >
requires std::is_object_v<R>
class ref_view
: public ranges::view_interface<ref_view<R>>
(since C++20)
ref_view는 어떤 다른 범위의 요소를 보여주는 뷰예요. 그 범위에 대한 참조를 래핑해요.
데이터 멤버 (Data members)
| 멤버 | 설명 |
|---|---|
| R* r_ | 기본 범위에 대한 포인터 (설명 전용 멤버 객체) |
멤버 함수 (Member functions)
- (constructor) — ref_view 생성 (범위에서)
- base — 기본 범위에 대한 참조 반환
- begin — 기본 범위의 시작 반복자 반환
- end — 기본 범위의 센티널 반환
- size — 기본 범위의 크기 반환 (sized일 때)
- data — 기본 범위의 데이터 포인터 반환 (contiguous일 때)
참고 (Notes)
ref_view는 복사 가능하고 소유하지 않아요. views::all(lvalue)가 ref_view를 생성해요. rvalue는 owning_view가 돼요.