ranges_filter_view
ranges_filter_view (필터 뷰)
std::ranges::filter_view은 술어(predicate)를 만족하는 기본 뷰의 요소만을 생성하는 뷰예요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< ranges::input_range V,
std::indirect_unary_predicate<ranges::iterator_t<V>> Pred >
requires ranges::view<V> && std::is_object_v<Pred>
class filter_view
: public ranges::view_interface<filter_view<V, Pred>>
(1) (since C++20)
namespace views {
inline constexpr /* unspecified */ filter = /* unspecified */;
}
(2) (since C++20)
-
- 술어 Pred를 만족하는 기본 뷰 V의 요소만을 포함하는 뷰. 술어는 지연 평가돼요.
-
- filter 뷰를 생성하는 뷰 팩토리 객체.
멤버 함수 (Member functions)
- (constructor) — filter 뷰 생성
- base — 기본 뷰 반환
- begin / end — 반복자/센티널 반환 (술어를 만족하는 첫/끝 요소를 찾음)
- pred — 술어 접근
참고 (Notes)
views::filter(range, pred)로 생성해요. 기본 뷰에서 pred를 만족하는 요소만 순회해요. pred가 가변 상태가 아니어야 해요.