13#include <rpp/observables/constraints.hpp>
14#include <rpp/observables/details/member_overload.hpp>
18 struct switch_on_next_tag;
23template<constra
int::decayed_type Type>
24struct switch_on_next_impl;
26template<constra
int::decayed_type Type,
typename SpecificObservable>
65 template<
typename ...Args>
68 return static_cast<const SpecificObservable*
>(
this)->
template lift<utils::extract_observable_type_t<Type>>(
switch_on_next_impl<Type>());
71 template<
typename ...Args>
74 return std::move(*
static_cast<SpecificObservable*
>(
this)).template lift<utils::extract_observable_type_t<Type>>(
switch_on_next_impl<Type>());
Definition: constraints.hpp:19
Definition: member_overload.hpp:19
Definition: switch_on_next.hpp:89