13#include <rpp/operators/fwd.hpp>
15#include <rpp/observables/connectable_observable.hpp>
17namespace rpp::operators::details
19 template<rpp::constra
int::subject Subject>
22 RPP_NO_UNIQUE_ADDRESS Subject m_subject;
24 template<rpp::constra
int::observable TObservable>
25 auto operator()(TObservable&&
observable)
const
27 static_assert(std::same_as<rpp::utils::extract_observable_type_t<TObservable>, rpp::subjects::utils::extract_subject_type_t<Subject>>,
"observable and subject should be of same type");
32 template<
template<
typename>
typename Subject>
35 template<rpp::constra
int::observable TObservable>
36 auto operator()(TObservable&&
observable)
const
41 Subject<rpp::utils::extract_observable_type_t<TObservable>>>{std::forward<TObservable>(
observable),
42 Subject<rpp::utils::extract_observable_type_t<TObservable>>{}};
48namespace rpp::operators
64 template<rpp::constra
int::subject Subject>
84 template<
template<
typename>
typename Subject>
Extension over raw observable with ability to be manually connected at any time or ref_counting (shar...
Definition fwd.hpp:86
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
auto multicast()
Converts ordinary observable to rpp::connectable_observable with help of inline instsantiated subject...
Definition multicast.hpp:85
Definition multicast.hpp:21
Definition multicast.hpp:34