13#include <rpp/observables/details/member_overload.hpp>
14#include <rpp/utils/function_traits.hpp>
23template<constra
int::decayed_type Type, std::invocable<Type> Callable>
26template<constra
int::decayed_type Type,
typename SpecificObservable>
64 template<std::invocable<Type> Callable>
65 auto map(Callable&& callable)
const &
requires is_header_included<map_tag, Callable>
67 return static_cast<const SpecificObservable*
>(
this)->
template lift<utils::decayed_invoke_result_t<Callable, Type>>(
map_impl<Type, std::decay_t<Callable>>{std::forward<Callable>(callable)});
70 template<std::invocable<Type> Callable>
71 auto map(Callable&& callable) &&
requires is_header_included<map_tag, Callable>
73 return std::move(*
static_cast<SpecificObservable*
>(
this)).template lift<utils::decayed_invoke_result_t<Callable, Type>>(
map_impl<Type, std::decay_t<Callable>>{std::forward<Callable>(callable)});
Definition: member_overload.hpp:19