13#include <rpp/defs.hpp>
14#include <rpp/observables/blocking_observable.hpp>
15#include <rpp/observables/constraints.hpp>
16#include <rpp/observables/fwd.hpp>
17#include <rpp/operators/fwd.hpp>
18#include <rpp/utils/function_traits.hpp>
24template<
typename T,
typename TObservable>
35template<constra
int::decayed_type Type,
typename SpecificObservable>
84 template<details::op_fn<SpecificObservable> OperatorFn>
85 auto op(OperatorFn&& fn)
const &
87 return fn(CastThis());
90 template<details::op_fn<SpecificObservable> OperatorFn>
91 auto op(OperatorFn&& fn) &&
93 return fn(MoveThis());
110 const SpecificObservable& CastThis()
const
112 return *
static_cast<const SpecificObservable*
>(
this);
115 SpecificObservable&& MoveThis()
117 return std::move(*
static_cast<SpecificObservable*
>(
this));
blocking alternative of observable: provides interface where each function do blocking subscribe on o...
Definition: blocking_observable.hpp:34
Definition: constraints.hpp:19
Definition: interface_observable.hpp:25
auto op(OperatorFn &&fn) const &
The apply function to observable which returns observable of another type.
Definition: interface_observable.hpp:85
Definition: member_overload.hpp:19
Base part of observable. Mostly used to provide some interface functions used by all observables.
Definition: interface_observable.hpp:74
auto as_blocking() const &
Converts existing observable to rpp::blocking_observable which has another interface and abilities.
Definition: interface_observable.hpp:99