13#include <rpp/observables/constraints.hpp>
14#include <rpp/observables/details/member_overload.hpp>
24template<constra
int::decayed_type Type, constra
int::observable TTriggerObservable>
25struct take_until_impl;
27template<constra
int::decayed_type Type,
typename SpecificObservable>
71 template<constra
int::observable TTriggerObservable>
72 auto take_until(TTriggerObservable&& until_observable)
const&
requires is_header_included<take_until_tag, TTriggerObservable>
74 return cast_this()->template lift<Type>(
take_until_impl<Type, std::decay_t<TTriggerObservable>>{std::forward<TTriggerObservable>(until_observable)});
77 template<constra
int::observable TTriggerObservable>
78 auto take_until(TTriggerObservable&& until_observable) &&
requires is_header_included<take_until_tag, TTriggerObservable>
80 return move_this().template lift<Type>(
take_until_impl<Type, std::decay_t<TTriggerObservable>>{std::forward<TTriggerObservable>(until_observable)});
84 const SpecificObservable* cast_this()
const
86 return static_cast<const SpecificObservable*
>(
this);
89 SpecificObservable&& move_this()
91 return std::move(*
static_cast<SpecificObservable*
>(
this));
Definition: member_overload.hpp:19
"combine_latest" operator (an OperatorFn used by "lift").
Definition: take_until.hpp:61