13#include <rpp/observables/details/member_overload.hpp>
22template<constra
int::decayed_type Type, std::predicate<const Type&> Predicate>
23struct take_while_impl;
25template<constra
int::decayed_type Type,
typename SpecificObservable>
60 template<std::predicate<const Type&> Predicate>
61 auto take_while(Predicate&& predicate)
const&
requires is_header_included<take_while_tag, Predicate>
63 return static_cast<const SpecificObservable*
>(
this)->
template lift<Type>(
take_while_impl<Type, std::decay_t<Predicate>>{std::forward<Predicate>(predicate)});
66 template<std::predicate<const Type&> Predicate>
67 auto take_while(Predicate&& predicate) &&
requires is_header_included<take_while_tag, Predicate>
69 return std::move(*
static_cast<SpecificObservable*
>(
this)).template lift<Type>(
take_while_impl<Type, std::decay_t<Predicate>>{std::forward<Predicate>(predicate)});
Definition: member_overload.hpp:19
Definition: take_while.hpp:41