ranges_all_view

ranges_all_view (전체 뷰 어댑터)

views::all은 자신의 범위 인자의 모든 요소를 포함하는 뷰를 반환하는 RangeAdaptorObject(동시에 RangeAdaptorClosureObject)예요. views::all_t는 그 결과 타입을 얻는 별칭이에요. C++20부터 사용할 수 있어요.

출처: cppreference

본문

<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

inline constexpr /* unspecified */ all = /* unspecified */;

(1) (since C++20)

template< ranges::viewable_range R >
using all_t = decltype(views::all(std::declval<R>()));

(2) (since C++20)

    1. 자신의 범위 인자의 모든 요소를 포함하는 뷰를 반환하는 RangeAdaptorObject(동시에 RangeAdaptorClosureObject)예요.
  • 타입 R의 표현식 e가 주어질 때, views::all(e)의 결과는 표현식 등가로:

    • e가 이미 view라면 뷰를 그대로 반환하고,
    • 아니면(뷰가 아닌 범위면) std::views::ref_view(e)를 반환해요 (lvalue) 또는 std::views::owning_view(std::move(e))를 반환해요 (rvalue).
    1. views::all의 결과 타입을 얻는 별칭 템플릿.

참고 (Notes)

views::all은 범위를 뷰로 통일하는 데 사용돼요. lvalue는 ref_view로, rvalue는 owning_view로 감싸요.

더 알아보기 (Learn more)

cppreference