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가 돼요.

더 알아보기 (Learn more)

cppreference