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)

    1. 술어 Pred를 만족하는 기본 뷰 V의 요소만을 포함하는 뷰. 술어는 지연 평가돼요.
    1. filter 뷰를 생성하는 뷰 팩토리 객체.

멤버 함수 (Member functions)

  • (constructor) — filter 뷰 생성
  • base — 기본 뷰 반환
  • begin / end — 반복자/센티널 반환 (술어를 만족하는 첫/끝 요소를 찾음)
  • pred — 술어 접근

참고 (Notes)

views::filter(range, pred)로 생성해요. 기본 뷰에서 pred를 만족하는 요소만 순회해요. pred가 가변 상태가 아니어야 해요.

더 알아보기 (Learn more)

cppreference