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)
-
- 자신의 범위 인자의 모든 요소를 포함하는 뷰를 반환하는 RangeAdaptorObject(동시에 RangeAdaptorClosureObject)예요.
-
타입 R의 표현식 e가 주어질 때,
views::all(e)의 결과는 표현식 등가로:- e가 이미 view라면 뷰를 그대로 반환하고,
- 아니면(뷰가 아닌 범위면)
std::views::ref_view(e)를 반환해요 (lvalue) 또는std::views::owning_view(std::move(e))를 반환해요 (rvalue).
-
views::all의 결과 타입을 얻는 별칭 템플릿.
참고 (Notes)
views::all은 범위를 뷰로 통일하는 데 사용돼요. lvalue는 ref_view로, rvalue는 owning_view로 감싸요.