13#include <rpp/observables/details/member_overload.hpp>
22template<constra
int::decayed_type Type, std::predicate<const Type&> Predicate>
25template<constra
int::decayed_type Type,
typename SpecificObservable>
59 template<std::predicate<const Type&> Predicate>
60 auto filter(Predicate&& predicate)
const&
requires is_header_included<filter_tag, Predicate>
62 return static_cast<const SpecificObservable*
>(
this)->
template lift <Type>(
filter_impl<Type, std::decay_t<Predicate>>{std::forward<Predicate>(predicate)});
65 template<std::predicate<const Type&> Predicate>
66 auto filter(Predicate&& predicate) &&
requires is_header_included<filter_tag, Predicate>
68 return std::move(*
static_cast<SpecificObservable*
>(
this)).template lift<Type>(
filter_impl<Type, std::decay_t<Predicate>>{std::forward<Predicate>(predicate)});
Definition: filter.hpp:40
Definition: member_overload.hpp:19