13#include <rpp/operators/fwd.hpp>
15#include <rpp/sources/concat.hpp>
16#include <rpp/sources/from.hpp>
18namespace rpp::operators::details
20 template<rpp::constraint::observable... TObservables>
25 template<rpp::constra
int::observable TObservable>
26 auto operator()(TObservable&&
observable)
const
29 return observables.apply(&apply<TObservable>, std::forward<TObservable>(
observable));
33 template<rpp::constra
int::observable TObservable>
34 static auto apply(TObservable&&
observable,
const TObservables&... observables)
40 template<rpp::constra
int::decayed_type PackedContainer, rpp::schedulers::constra
int::scheduler TScheduler>
41 struct start_with_values_t
43 RPP_NO_UNIQUE_ADDRESS PackedContainer container;
44 RPP_NO_UNIQUE_ADDRESS TScheduler scheduler;
46 template<
typename... Args>
47 start_with_values_t(
const TScheduler& scheduler, Args&&... args)
48 : container{std::forward<Args>(args)...}
49 , scheduler{scheduler}
53 template<rpp::constra
int::observable TObservable>
54 auto operator()(TObservable&&
observable)
const
62namespace rpp::operators
151 using inner_container = std::array<std::decay_t<T>,
sizeof...(Ts) + 1>;
166 auto start_with(
const TScheduler& scheduler, T&& v, Ts&&... vals)
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
Definition constraints.hpp:19
Definition memory_model.hpp:31
auto start_with_values(T &&v, Ts &&... vals)
Combines submissions from current observable with values into one but without overlapping and startin...
Definition start_with.hpp:112
auto start_with(TObservable &&observable, TObservables &&... observables)
Combines submissions from current observable with other observables into one but without overlapping ...
Definition start_with.hpp:85
auto concat(TObservable &&obs, TObservables &&... others)
Make observable which would merge emissions from underlying observables but without overlapping (curr...
Definition concat.hpp:168
auto from_iterable(Iterable &&iterable, const TScheduler &scheduler)
Creates observable that emits a items from provided iterable.
Definition from.hpp:175
Definition start_with.hpp:22
Definition start_with.hpp:42