From 6269b8d4614d09e0dbddf6a29d85742a353c3d34 Mon Sep 17 00:00:00 2001 From: victimsnino Date: Tue, 26 Mar 2024 17:36:41 +0000 Subject: [PATCH] deploy: cf14a07a4bd4eca159ae3a1db5063677a1d3edb8 --- .../blocking__observable_8hpp_source.html | 2 +- v2/docs/html/buffer_8hpp_source.html | 2 +- v2/docs/html/chain__strategy_8hpp_source.html | 2 +- .../classrpp_1_1blocking__observable.html | 6 - ...ervables_1_1dynamic__strategy-members.html | 2 - ...s_1_1observables_1_1dynamic__strategy.html | 6 - ..._1_1details_1_1observer__impl-members.html | 2 - ...classrpp_1_1details_1_1observer__impl.html | 6 - ...bservers_1_1dynamic__strategy-members.html | 2 - ...ils_1_1observers_1_1dynamic__strategy.html | 6 - .../html/classrpp_1_1dynamic__observable.html | 6 - .../html/classrpp_1_1dynamic__observer.html | 6 - ...assrpp_1_1grouped__observable-members.html | 2 - .../html/classrpp_1_1grouped__observable.html | 6 - .../html/classrpp_1_1observable-members.html | 2 - v2/docs/html/classrpp_1_1observable.html | 6 - v2/docs/html/classrpp_1_1observer.html | 6 - ...y_00_01_disposable_strategy_01_4_01_4.html | 6 - ..._strategy_3_01_type_01_4_01_4-members.html | 2 - ...dynamic__strategy_3_01_type_01_4_01_4.html | 12 - v2/docs/html/combine__latest_8hpp_source.html | 4 +- .../html/combining__strategy_8hpp_source.html | 2 +- ...1_1constraint_1_1observable__strategy.html | 2 +- ...eptrpp_1_1constraint_1_1on__subscribe.html | 2 +- ...ptrpp_1_1constraint_1_1operator__lift.html | 2 +- ...tor__lift__with__disposable__strategy.html | 2 +- ..._1_1constraint_1_1operator__subscribe.html | 2 +- .../connectable__observable_8hpp_source.html | 2 +- v2/docs/html/debounce_8hpp_source.html | 6 +- v2/docs/html/delay_8hpp_source.html | 2 +- v2/docs/html/distinct_8hpp_source.html | 12 +- .../distinct__until__changed_8hpp_source.html | 12 +- v2/docs/html/doxygen_crawl.html | 216 ++++----- .../html/dynamic__observable_8hpp_source.html | 103 ++-- .../html/dynamic__observer_8hpp_source.html | 137 +++--- v2/docs/html/filter_8hpp_source.html | 12 +- v2/docs/html/finally_8hpp_source.html | 4 +- v2/docs/html/first_8hpp_source.html | 12 +- .../html/forwarding__subject_8hpp_source.html | 2 +- v2/docs/html/from_8hpp_source.html | 2 +- v2/docs/html/group__by_8hpp_source.html | 12 +- v2/docs/html/interval_8hpp_source.html | 6 +- .../html/lambda__observer_8hpp_source.html | 2 +- v2/docs/html/last_8hpp_source.html | 12 +- v2/docs/html/map_8hpp_source.html | 12 +- v2/docs/html/md_docs_2readme.html | 12 +- v2/docs/html/merge_8hpp_source.html | 2 +- v2/docs/html/observable_8hpp_source.html | 453 +++++++++--------- v2/docs/html/observer_8hpp_source.html | 386 ++++++++------- .../on__error__resume__next_8hpp_source.html | 8 +- .../html/operators_2concat_8hpp_source.html | 4 +- .../html/publish__subject_8hpp_source.html | 2 +- v2/docs/html/reduce_8hpp_source.html | 12 +- v2/docs/html/replay__subject_8hpp_source.html | 2 +- .../rpp_2observables_2fwd_8hpp_source.html | 4 +- .../html/rpp_2observers_2fwd_8hpp_source.html | 4 +- .../html/rpp_2sources_2fwd_8hpp_source.html | 2 +- v2/docs/html/scan_8hpp_source.html | 12 +- v2/docs/html/skip_8hpp_source.html | 12 +- v2/docs/html/sources_2concat_8hpp_source.html | 4 +- v2/docs/html/strategy_8hpp_source.html | 2 +- v2/docs/html/subject__state_8hpp_source.html | 10 +- v2/docs/html/subscribe_8hpp_source.html | 6 +- v2/docs/html/subscribe__on_8hpp_source.html | 6 +- .../html/switch__on__next_8hpp_source.html | 2 +- v2/docs/html/take_8hpp_source.html | 12 +- v2/docs/html/take__last_8hpp_source.html | 2 +- v2/docs/html/take__until_8hpp_source.html | 4 +- v2/docs/html/take__while_8hpp_source.html | 12 +- v2/docs/html/tap_8hpp_source.html | 12 +- v2/docs/html/throttle_8hpp_source.html | 12 +- v2/docs/html/timeout_8hpp_source.html | 2 +- v2/docs/html/window_8hpp_source.html | 2 +- v2/docs/html/window__toggle_8hpp_source.html | 2 +- .../html/with__latest__from_8hpp_source.html | 2 +- v2/docs/html/zip_8hpp_source.html | 4 +- .../classrpp_1_1blocking__observable.pdf | Bin 6067 -> 6067 bytes .../classrpp_1_1blocking__observable.tex | 4 - .../classrpp_1_1callback__disposable.pdf | Bin 5968 -> 5968 bytes .../classrpp_1_1composite__disposable.pdf | Bin 8424 -> 8424 bytes ...lassrpp_1_1composite__disposable__impl.pdf | Bin 6863 -> 6863 bytes ...p_1_1details_1_1base__disposable__impl.pdf | Bin 6376 -> 6376 bytes ..._1details_1_1disposable__wrapper__base.pdf | Bin 6872 -> 6872 bytes ...les_1_1dynamic__disposables__container.pdf | Bin 5701 -> 5701 bytes ...1dynamic__disposables__container__base.pdf | Bin 5699 -> 5699 bytes ..._1_1observables_1_1blocking__disposble.pdf | Bin 6189 -> 6189 bytes ...ls_1_1observables_1_1dynamic__strategy.tex | 6 - .../classrpp_1_1details_1_1observer__impl.tex | 6 - ...ails_1_1observers_1_1dynamic__strategy.tex | 6 - ...details_1_1refocunt__disposable__inner.pdf | Bin 6403 -> 6403 bytes .../classrpp_1_1disposable__wrapper__impl.pdf | Bin 5485 -> 5485 bytes .../latex/classrpp_1_1dynamic__observable.pdf | Bin 5939 -> 5939 bytes .../latex/classrpp_1_1dynamic__observable.tex | 4 - .../latex/classrpp_1_1dynamic__observer.pdf | Bin 6309 -> 6309 bytes .../latex/classrpp_1_1dynamic__observer.tex | 4 - .../latex/classrpp_1_1grouped__observable.pdf | Bin 5869 -> 5869 bytes .../latex/classrpp_1_1grouped__observable.tex | 4 - v2/docs/latex/classrpp_1_1observable.pdf | Bin 5865 -> 5865 bytes v2/docs/latex/classrpp_1_1observable.tex | 6 - v2/docs/latex/classrpp_1_1observer.pdf | Bin 6118 -> 6118 bytes v2/docs/latex/classrpp_1_1observer.tex | 4 - ...gy_00_01_disposable_strategy_01_4_01_4.pdf | Bin 6272 -> 6272 bytes ...gy_00_01_disposable_strategy_01_4_01_4.tex | 4 - ...1dynamic__strategy_3_01_type_01_4_01_4.pdf | Bin 5951 -> 5951 bytes ...1dynamic__strategy_3_01_type_01_4_01_4.tex | 10 - ...details_1_1combine__latest__disposable.pdf | Bin 6951 -> 6951 bytes ...rs_1_1details_1_1combining__disposable.pdf | Bin 6560 -> 6560 bytes ...erators_1_1details_1_1concat__state__t.pdf | Bin 6883 -> 6883 bytes ...ors_1_1details_1_1debounce__disposable.pdf | Bin 6798 -> 6798 bytes ...rators_1_1details_1_1merge__disposable.pdf | Bin 6456 -> 6456 bytes ..._1details_1_1merge__observer__strategy.pdf | Bin 5790 -> 5790 bytes ...1details_1_1switch__on__next__state__t.pdf | Bin 6949 -> 6949 bytes ..._1_1details_1_1take__until__disposable.pdf | Bin 6490 -> 6490 bytes ...tors_1_1details_1_1timeout__disposable.pdf | Bin 6496 -> 6496 bytes ...ails_1_1with__latest__from__disposable.pdf | Bin 7196 -> 7196 bytes ...perators_1_1details_1_1zip__disposable.pdf | Bin 7012 -> 7012 bytes .../classrpp_1_1refcount__disposable.pdf | Bin 7080 -> 7080 bytes ...dulers_1_1details_1_1schedulable__base.pdf | Bin 6625 -> 6625 bytes ...rs_1_1details_1_1specific__schedulable.pdf | Bin 6628 -> 6628 bytes ...1subjects_1_1details_1_1subject__state.pdf | Bin 6906 -> 6906 bytes ...assrpp_1_1subjects_1_1publish__subject.pdf | Bin 5674 -> 5674 bytes ...lassrpp_1_1subjects_1_1replay__subject.pdf | Bin 5565 -> 5565 bytes ...bjects_1_1serialized__publish__subject.pdf | Bin 5654 -> 5654 bytes ...ubjects_1_1serialized__replay__subject.pdf | Bin 5564 -> 5564 bytes .../latex/dynamic__observable_8hpp_source.tex | 95 ++-- .../latex/dynamic__observer_8hpp_source.tex | 131 +++-- v2/docs/latex/observable_8hpp_source.tex | 385 ++++++++------- v2/docs/latex/observer_8hpp_source.tex | 342 +++++++------ ...ructrpp_1_1details_1_1concat__state__t.pdf | Bin 6690 -> 6690 bytes ...pp_1_1interface__composite__disposable.pdf | Bin 8905 -> 8905 bytes .../structrpp_1_1interface__disposable.pdf | Bin 8904 -> 8904 bytes ...p_1_1operators_1_1details_1_1buffer__t.pdf | Bin 5316 -> 5316 bytes ...1_1combine__latest__observer__strategy.pdf | Bin 6439 -> 6439 bytes ...ators_1_1details_1_1combine__latest__t.pdf | Bin 6294 -> 6294 bytes ...s_1_1concat__inner__observer__strategy.pdf | Bin 5908 -> 5908 bytes ...1details_1_1concat__observer__strategy.pdf | Bin 5899 -> 5899 bytes ...ls_1_1concat__observer__strategy__base.pdf | Bin 5988 -> 5988 bytes ...p_1_1operators_1_1details_1_1concat__t.pdf | Bin 5158 -> 5158 bytes ...rators_1_1details_1_1delay__disposable.pdf | Bin 6448 -> 6448 bytes ...1_1operators_1_1details_1_1distinct__t.pdf | Bin 5159 -> 5159 bytes ...details_1_1distinct__until__changed__t.pdf | Bin 6117 -> 6117 bytes ...p_1_1operators_1_1details_1_1filter__t.pdf | Bin 5262 -> 5262 bytes ...pp_1_1operators_1_1details_1_1first__t.pdf | Bin 4960 -> 4960 bytes ..._1operators_1_1details_1_1group__by__t.pdf | Bin 6376 -> 6376 bytes ...rpp_1_1operators_1_1details_1_1last__t.pdf | Bin 4959 -> 4959 bytes ...trpp_1_1operators_1_1details_1_1map__t.pdf | Bin 5408 -> 5408 bytes ...ils_1_1merge__observer__base__strategy.pdf | Bin 5962 -> 5962 bytes ...ls_1_1merge__observer__inner__strategy.pdf | Bin 5900 -> 5902 bytes ...pp_1_1operators_1_1details_1_1merge__t.pdf | Bin 5325 -> 5325 bytes ...1details_1_1on__error__resume__next__t.pdf | Bin 5838 -> 5838 bytes ...tors_1_1details_1_1reduce__no__seed__t.pdf | Bin 5611 -> 5611 bytes ...p_1_1operators_1_1details_1_1reduce__t.pdf | Bin 5668 -> 5668 bytes ...rators_1_1details_1_1scan__no__seed__t.pdf | Bin 5357 -> 5357 bytes ...rpp_1_1operators_1_1details_1_1scan__t.pdf | Bin 5597 -> 5597 bytes ...rpp_1_1operators_1_1details_1_1skip__t.pdf | Bin 5264 -> 5264 bytes ...tors_1_1details_1_1switch__on__next__t.pdf | Bin 5563 -> 5563 bytes ...1operators_1_1details_1_1take__last__t.pdf | Bin 5250 -> 5250 bytes ...rpp_1_1operators_1_1details_1_1take__t.pdf | Bin 5248 -> 5248 bytes ...ils_1_1take__until__observer__strategy.pdf | Bin 5980 -> 5980 bytes ...1take__until__observer__strategy__base.pdf | Bin 6156 -> 6156 bytes ...e__until__throttle__observer__strategy.pdf | Bin 6092 -> 6092 bytes ...operators_1_1details_1_1take__while__t.pdf | Bin 5660 -> 5660 bytes ...trpp_1_1operators_1_1details_1_1tap__t.pdf | Bin 5920 -> 5920 bytes ...1_1operators_1_1details_1_1throttle__t.pdf | Bin 5643 -> 5643 bytes ...p_1_1operators_1_1details_1_1window__t.pdf | Bin 5366 -> 5366 bytes ...rators_1_1details_1_1window__toggle__t.pdf | Bin 6409 -> 6409 bytes ..._1_1details_1_1zip__observer__strategy.pdf | Bin 6518 -> 6518 bytes ...trpp_1_1operators_1_1details_1_1zip__t.pdf | Bin 6345 -> 6345 bytes ...1_1constraint_1_1details_1_1is__worker.pdf | Bin 5856 -> 5856 bytes ...lers_1_1worker_3_01_strategy_01_4_01_4.pdf | Bin 6091 -> 6091 bytes ...t_1_1utils_1_1no__active__qapplication.pdf | Bin 5395 -> 5395 bytes 171 files changed, 1261 insertions(+), 1433 deletions(-) diff --git a/v2/docs/html/blocking__observable_8hpp_source.html b/v2/docs/html/blocking__observable_8hpp_source.html index d2a84f587..a00bd5fa9 100644 --- a/v2/docs/html/blocking__observable_8hpp_source.html +++ b/v2/docs/html/blocking__observable_8hpp_source.html @@ -201,7 +201,7 @@
Definition blocking_observable.hpp:48
static disposable_wrapper_impl make(TArgs &&... args)
Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
Definition disposable_wrapper.hpp:133
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
diff --git a/v2/docs/html/buffer_8hpp_source.html b/v2/docs/html/buffer_8hpp_source.html index 964a8d708..92f2c96b5 100644 --- a/v2/docs/html/buffer_8hpp_source.html +++ b/v2/docs/html/buffer_8hpp_source.html @@ -199,7 +199,7 @@
111 }
112} // namespace rpp::operators
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition buffer.hpp:24
Definition strategy.hpp:28
auto buffer(size_t count)
Periodically gather emissions emitted by an original Observable into bundles and emit these bundles r...
Definition buffer.hpp:104
diff --git a/v2/docs/html/chain__strategy_8hpp_source.html b/v2/docs/html/chain__strategy_8hpp_source.html index c5d047253..879d3a43a 100644 --- a/v2/docs/html/chain__strategy_8hpp_source.html +++ b/v2/docs/html/chain__strategy_8hpp_source.html @@ -216,7 +216,7 @@
105 using make_chain_observable_t = typename make_chain_observable<New, Old>::type;
106} // namespace rpp
Definition chain_strategy.hpp:22
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:112
Definition fwd.hpp:105
Definition chain_strategy.hpp:94
diff --git a/v2/docs/html/classrpp_1_1blocking__observable.html b/v2/docs/html/classrpp_1_1blocking__observable.html index 3c4c905e6..63d60d027 100644 --- a/v2/docs/html/classrpp_1_1blocking__observable.html +++ b/v2/docs/html/classrpp_1_1blocking__observable.html @@ -131,12 +131,6 @@  observable (Args &&... args)   - - observable (const observable &)=default -  - - observable (observable &&) noexcept=default -  void subscribe (observer< Type, ObserverStrategy > &&observer) const  Subscribes passed observer to emissions from this observable.
  diff --git a/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy-members.html b/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy-members.html index 4ba83be40..4d622ca7b 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy-members.html +++ b/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy-members.html @@ -106,8 +106,6 @@ - -
dynamic_strategy(observable< Type, Strategy > &&obs) (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >inlineexplicit
dynamic_strategy(const observable< Type, Strategy > &obs) (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >inlineexplicit
dynamic_strategy(const dynamic_strategy &)=default (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >
dynamic_strategy(dynamic_strategy &&) noexcept=default (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >
subscribe(observer< Type, ObserverStrategy > &&observer) const (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >inline
value_type typedef (defined in rpp::details::observables::dynamic_strategy< Type >)rpp::details::observables::dynamic_strategy< Type >
diff --git a/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy.html b/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy.html index 7bef72674..55480fcc7 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy.html +++ b/v2/docs/html/classrpp_1_1details_1_1observables_1_1dynamic__strategy.html @@ -124,12 +124,6 @@ requires (!rpp::constraint::decayed_same_as<Strategy, dynamic_strategy<Type>>)  dynamic_strategy (const observable< Type, Strategy > &obs)   -dynamic_strategy (const dynamic_strategy &)=default -  -dynamic_strategy (dynamic_strategy &&) noexcept=default -  template<rpp::constraint::observer_strategy< Type > ObserverStrategy> void subscribe (observer< Type, ObserverStrategy > &&observer) const diff --git a/v2/docs/html/classrpp_1_1details_1_1observer__impl-members.html b/v2/docs/html/classrpp_1_1details_1_1observer__impl-members.html index 7138d1334..38cc00a5e 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observer__impl-members.html +++ b/v2/docs/html/classrpp_1_1details_1_1observer__impl-members.html @@ -106,8 +106,6 @@ - - diff --git a/v2/docs/html/classrpp_1_1details_1_1observer__impl.html b/v2/docs/html/classrpp_1_1details_1_1observer__impl.html index c95f363bc..b6a81cf51 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observer__impl.html +++ b/v2/docs/html/classrpp_1_1details_1_1observer__impl.html @@ -147,12 +147,6 @@ requires constraint::is_constructible_from<Strategy, Args&&...> - - - -
is_disposed() const noexceptrpp::details::observer_impl< Type, Strategy, DisposablesStrategy >inline
observer_impl(DisposablesStrategy strategy, Args &&... args) (defined in rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >)rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >inlineexplicitprotected
observer_impl(const observer_impl &)=default (defined in rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >)rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >protected
observer_impl(observer_impl &&) noexcept=default (defined in rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >)rpp::details::observer_impl< Type, Strategy, DisposablesStrategy >protected
on_completed() const noexceptrpp::details::observer_impl< Type, Strategy, DisposablesStrategy >inline
on_error(const std::exception_ptr &err) const noexceptrpp::details::observer_impl< Type, Strategy, DisposablesStrategy >inline
on_next(const Type &v) const noexceptrpp::details::observer_impl< Type, Strategy, DisposablesStrategy >inline
 observer_impl (DisposablesStrategy strategy, Args &&... args)
 
observer_impl (const observer_impl &)=default
 
observer_impl (observer_impl &&) noexcept=default
 

Member Function Documentation

diff --git a/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy-members.html b/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy-members.html index 46f487824..ef4f4df96 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy-members.html +++ b/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy-members.html @@ -105,8 +105,6 @@

This is the complete list of members for rpp::details::observers::dynamic_strategy< Type >, including all inherited members.

- - diff --git a/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy.html b/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy.html index bb1804857..4806a8794 100644 --- a/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy.html +++ b/v2/docs/html/classrpp_1_1details_1_1observers_1_1dynamic__strategy.html @@ -112,12 +112,6 @@ requires (!rpp::constraint::decayed_same_as<Strategy, dynamic_strategy<Type>>) - - - - diff --git a/v2/docs/html/classrpp_1_1dynamic__observable.html b/v2/docs/html/classrpp_1_1dynamic__observable.html index 414af37eb..6c22ccf8f 100644 --- a/v2/docs/html/classrpp_1_1dynamic__observable.html +++ b/v2/docs/html/classrpp_1_1dynamic__observable.html @@ -131,12 +131,6 @@ - - - - diff --git a/v2/docs/html/classrpp_1_1dynamic__observer.html b/v2/docs/html/classrpp_1_1dynamic__observer.html index 64bbfebb3..186496de2 100644 --- a/v2/docs/html/classrpp_1_1dynamic__observer.html +++ b/v2/docs/html/classrpp_1_1dynamic__observer.html @@ -188,12 +188,6 @@ - - - -
dynamic_strategy(observer< Type, Strategy > &&obs) (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >inlineexplicit
dynamic_strategy(const dynamic_strategy &)=default (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >
dynamic_strategy(dynamic_strategy &&) noexcept=default (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >
is_disposed() const noexcept (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >inline
on_completed() const noexcept (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >inline
on_error(const std::exception_ptr &err) const noexcept (defined in rpp::details::observers::dynamic_strategy< Type >)rpp::details::observers::dynamic_strategy< Type >inline
 dynamic_strategy (observer< Type, Strategy > &&obs)
 
dynamic_strategy (const dynamic_strategy &)=default
 
dynamic_strategy (dynamic_strategy &&) noexcept=default
 
void set_upstream (const disposable_wrapper &d) noexcept
 
 observable (Args &&... args)
 
observable (const observable &)=default
 
observable (observable &&) noexcept=default
 
void subscribe (observer< Type, ObserverStrategy > &&observer) const
 Subscribes passed observer to emissions from this observable.
 
 observer_impl (DisposablesStrategy strategy, Args &&... args)
 
observer_impl (const observer_impl &)=default
 
observer_impl (observer_impl &&) noexcept=default
 

Detailed Description

template<constraint::decayed_type Type>
diff --git a/v2/docs/html/classrpp_1_1grouped__observable-members.html b/v2/docs/html/classrpp_1_1grouped__observable-members.html index c2e6b83b1..92e00d7ee 100644 --- a/v2/docs/html/classrpp_1_1grouped__observable-members.html +++ b/v2/docs/html/classrpp_1_1grouped__observable-members.html @@ -111,8 +111,6 @@ grouped_observable(KeyType key, const Strategy &strategy) (defined in rpp::grouped_observable< KeyType, Type, Strategy >)rpp::grouped_observable< KeyType, Type, Strategy >inline grouped_observable(KeyType key, Strategy &&strategy) (defined in rpp::grouped_observable< KeyType, Type, Strategy >)rpp::grouped_observable< KeyType, Type, Strategy >inline observable(Args &&... args) (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline - observable(const observable &)=default (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy > - observable(observable &&) noexcept=default (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy > operator|(Op &&op) const & (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline operator|(Op &&op) && (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline operator|(Op &&op) const & (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline diff --git a/v2/docs/html/classrpp_1_1grouped__observable.html b/v2/docs/html/classrpp_1_1grouped__observable.html index 7636e7da5..d44b1ffd2 100644 --- a/v2/docs/html/classrpp_1_1grouped__observable.html +++ b/v2/docs/html/classrpp_1_1grouped__observable.html @@ -136,12 +136,6 @@ requires (!constraint::variadic_decayed_same_as<observable<Type, Strategy>, Args...> && constraint::is_constructible_from<Strategy, Args && ...>)  observable (Args &&... args)   - - observable (const observable &)=default -  - - observable (observable &&) noexcept=default -  template<constraint::observer_strategy< Type > ObserverStrategy> void subscribe (observer< Type, ObserverStrategy > &&observer) const  Subscribes passed observer to emissions from this observable.
diff --git a/v2/docs/html/classrpp_1_1observable-members.html b/v2/docs/html/classrpp_1_1observable-members.html index cf59c1844..2e9c30f7d 100644 --- a/v2/docs/html/classrpp_1_1observable-members.html +++ b/v2/docs/html/classrpp_1_1observable-members.html @@ -108,8 +108,6 @@ as_dynamic() &&rpp::observable< Type, Strategy >inline expected_disposable_strategy typedef (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy > observable(Args &&... args) (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline - observable(const observable &)=default (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy > - observable(observable &&) noexcept=default (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy > operator|(Op &&op) const & (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline operator|(Op &&op) && (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline operator|(Op &&op) const & (defined in rpp::observable< Type, Strategy >)rpp::observable< Type, Strategy >inline diff --git a/v2/docs/html/classrpp_1_1observable.html b/v2/docs/html/classrpp_1_1observable.html index 690815ba3..ab46b9b3c 100644 --- a/v2/docs/html/classrpp_1_1observable.html +++ b/v2/docs/html/classrpp_1_1observable.html @@ -136,12 +136,6 @@ requires (!constraint::variadic_decayed_same_as<observable<Type, Strategy>, Args...> && constraint::is_constructible_from<Strategy, Args && ...>)  observable (Args &&... args)   -observable (const observable &)=default -  -observable (observable &&) noexcept=default -  template<constraint::observer_strategy< Type > ObserverStrategy> void subscribe (observer< Type, ObserverStrategy > &&observer) const  Subscribes passed observer to emissions from this observable.
diff --git a/v2/docs/html/classrpp_1_1observer.html b/v2/docs/html/classrpp_1_1observer.html index 044f66456..2579e1bc0 100644 --- a/v2/docs/html/classrpp_1_1observer.html +++ b/v2/docs/html/classrpp_1_1observer.html @@ -185,12 +185,6 @@  observer_impl (DisposablesStrategy strategy, Args &&... args)   - - observer_impl (const observer_impl &)=default -  - - observer_impl (observer_impl &&) noexcept=default - 

Detailed Description

template<constraint::decayed_type Type, constraint::observer_strategy< Type > Strategy>
diff --git a/v2/docs/html/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.html b/v2/docs/html/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.html index e41d69902..f9e645b02 100644 --- a/v2/docs/html/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.html +++ b/v2/docs/html/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.html @@ -179,12 +179,6 @@  observer_impl (DisposablesStrategy strategy, Args &&... args)   - - observer_impl (const observer_impl &)=default -  - - observer_impl (observer_impl &&) noexcept=default - 
The documentation for this class was generated from the following file:
diff --git a/v2/docs/html/conceptrpp_1_1constraint_1_1on__subscribe.html b/v2/docs/html/conceptrpp_1_1constraint_1_1on__subscribe.html index 5dcb7bdd7..d919b809e 100644 --- a/v2/docs/html/conceptrpp_1_1constraint_1_1on__subscribe.html +++ b/v2/docs/html/conceptrpp_1_1constraint_1_1on__subscribe.html @@ -108,7 +108,7 @@

Concept definition

strategy(std::move(observer))
} -> std::same_as<void>;
}
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:235
Definition fwd.hpp:27
diff --git a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift.html b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift.html index e7b54112c..0a4d8a65c 100644 --- a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift.html +++ b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift.html @@ -108,7 +108,7 @@

Concept definition

op.template lift<Type>(std::move(observer))
} -> rpp::constraint::observer_of_type<Type>;
}
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:238
Definition fwd.hpp:235
Definition fwd.hpp:95
diff --git a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift__with__disposable__strategy.html b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift__with__disposable__strategy.html index 125ce157e..1f645ffd2 100644 --- a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift__with__disposable__strategy.html +++ b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__lift__with__disposable__strategy.html @@ -108,7 +108,7 @@

Concept definition

op.template lift_with_disposable_strategy<Type, DisposableStrategy>(std::move(observer))
} -> rpp::constraint::observer_of_type<Type>;
}
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:238
Definition fwd.hpp:235
Definition fwd.hpp:95
diff --git a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__subscribe.html b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__subscribe.html index 1ae829f69..832e156cc 100644 --- a/v2/docs/html/conceptrpp_1_1constraint_1_1operator__subscribe.html +++ b/v2/docs/html/conceptrpp_1_1constraint_1_1operator__subscribe.html @@ -108,7 +108,7 @@

Concept definition

op.subscribe(std::move(observer), chain)
};
}
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:235
Definition fwd.hpp:95
Definition fwd.hpp:98
diff --git a/v2/docs/html/connectable__observable_8hpp_source.html b/v2/docs/html/connectable__observable_8hpp_source.html index 9cc082b24..dc7c2cd09 100644 --- a/v2/docs/html/connectable__observable_8hpp_source.html +++ b/v2/docs/html/connectable__observable_8hpp_source.html @@ -264,7 +264,7 @@
static disposable_wrapper_impl make(TArgs &&... args)
Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
Definition disposable_wrapper.hpp:133
static disposable_wrapper_impl empty()
Creates disposable_wrapper which behaves like disposed disposable.
Definition disposable_wrapper.hpp:147
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition fwd.hpp:40
auto ref_count() const
Forces rpp::connectable_observable to behave like common observable.
Definition connectable_observable.hpp:127
Definition connectable_observable.hpp:22
diff --git a/v2/docs/html/debounce_8hpp_source.html b/v2/docs/html/debounce_8hpp_source.html index 7ca4e40b5..fd929bb70 100644 --- a/v2/docs/html/debounce_8hpp_source.html +++ b/v2/docs/html/debounce_8hpp_source.html @@ -305,10 +305,10 @@
214} // namespace rpp::operators
Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
Definition composite_disposable.hpp:31
Definition disposable_wrapper.hpp:221
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition debounce.hpp:37
Definition utils.hpp:38
auto debounce(rpp::schedulers::duration period, Scheduler &&scheduler)
Only emit emission if specified period of time has passed without any other emission....
Definition debounce.hpp:206
diff --git a/v2/docs/html/delay_8hpp_source.html b/v2/docs/html/delay_8hpp_source.html index ae6961c5b..d916d879a 100644 --- a/v2/docs/html/delay_8hpp_source.html +++ b/v2/docs/html/delay_8hpp_source.html @@ -321,7 +321,7 @@
229} // namespace rpp::operators
Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
Definition composite_disposable.hpp:31
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
auto delay(rpp::schedulers::duration delay_duration, Scheduler &&scheduler)
Shift the emissions from an Observable forward in time by a particular amount.
Definition delay.hpp:221
Definition disposable_strategy.hpp:51
Definition delay.hpp:66
diff --git a/v2/docs/html/distinct_8hpp_source.html b/v2/docs/html/distinct_8hpp_source.html index 1d4e913bd..373aaf822 100644 --- a/v2/docs/html/distinct_8hpp_source.html +++ b/v2/docs/html/distinct_8hpp_source.html @@ -183,13 +183,13 @@
88 return details::distinct_t{};
89 }
90} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto distinct()
For each item from this observable, filter out repeated values and emit only items that have not alre...
Definition distinct.hpp:82
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/distinct__until__changed_8hpp_source.html b/v2/docs/html/distinct__until__changed_8hpp_source.html index baf4e0b46..a4adbf191 100644 --- a/v2/docs/html/distinct__until__changed_8hpp_source.html +++ b/v2/docs/html/distinct__until__changed_8hpp_source.html @@ -186,13 +186,13 @@
103 return details::distinct_until_changed_t<std::decay_t<EqualityFn>>{std::forward<EqualityFn>(equality_fn)};
104 }
105} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto distinct_until_changed(EqualityFn &&equality_fn)
Suppress consecutive duplicates of emissions from original observable.
Definition distinct_until_changed.hpp:97
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/doxygen_crawl.html b/v2/docs/html/doxygen_crawl.html index 450700c6d..8750c1eba 100644 --- a/v2/docs/html/doxygen_crawl.html +++ b/v2/docs/html/doxygen_crawl.html @@ -70,8 +70,8 @@ - + @@ -137,8 +137,8 @@ - + @@ -181,21 +181,21 @@ - + - - + + - + - + - + @@ -203,19 +203,19 @@ - + - + - + - + @@ -236,18 +236,18 @@ - - - + + + - + @@ -283,9 +283,9 @@ - + @@ -296,49 +296,49 @@ - - + - + + - + - + - - + - + - + - + + - - - + + + @@ -346,21 +346,21 @@ - + + + + + - - - - - - + + @@ -372,31 +372,31 @@ - - - + - - + + + + + + - - - + - - + + @@ -424,11 +424,11 @@ - - + + @@ -455,20 +455,20 @@ - - - + + + - + - + @@ -482,21 +482,21 @@ - - - + + + - - - - - + + + + + @@ -511,23 +511,23 @@ - - - + - - - + - + + + - + + + @@ -541,29 +541,29 @@ - - + + - - - + - + + + - + @@ -575,9 +575,9 @@ - - - + + + @@ -595,9 +595,9 @@ - - - + + + @@ -613,51 +613,51 @@ - - - + + + - + + + - - - + - + - - - - + + - - + + - - + + + + @@ -668,18 +668,18 @@ - - + + - - + + @@ -688,27 +688,27 @@ + - - + - - + + + - diff --git a/v2/docs/html/dynamic__observable_8hpp_source.html b/v2/docs/html/dynamic__observable_8hpp_source.html index 85f94168e..77da9fb7e 100644 --- a/v2/docs/html/dynamic__observable_8hpp_source.html +++ b/v2/docs/html/dynamic__observable_8hpp_source.html @@ -151,64 +151,61 @@
47 {
48 }
49
-
50 dynamic_strategy(const dynamic_strategy&) = default;
-
51 dynamic_strategy(dynamic_strategy&&) noexcept = default;
-
52
-
53 template<rpp::constraint::observer_strategy<Type> ObserverStrategy>
-
54 void subscribe(observer<Type, ObserverStrategy>&& observer) const
-
55 {
-
56 m_vtable->subscribe(m_forwarder.get(), std::move(observer).as_dynamic());
-
57 }
-
58
-
59 private:
-
60 struct vtable
-
61 {
-
62 void (*subscribe)(const void*, dynamic_observer<Type>&&){};
-
63
-
64 template<rpp::constraint::observable Observable>
-
65 static const vtable* create() noexcept
-
66 {
-
67 static vtable s_res{
-
68 .subscribe = forwarding_subscribe<Type, Observable>};
-
69 return &s_res;
-
70 }
-
71 };
-
72
-
73 private:
-
74 std::shared_ptr<void> m_forwarder;
-
75 const vtable* m_vtable;
-
76 };
+
50 template<rpp::constraint::observer_strategy<Type> ObserverStrategy>
+
51 void subscribe(observer<Type, ObserverStrategy>&& observer) const
+
52 {
+
53 m_vtable->subscribe(m_forwarder.get(), std::move(observer).as_dynamic());
+
54 }
+
55
+
56 private:
+
57 struct vtable
+
58 {
+
59 void (*subscribe)(const void*, dynamic_observer<Type>&&){};
+
60
+
61 template<rpp::constraint::observable Observable>
+
62 static const vtable* create() noexcept
+
63 {
+
64 static vtable s_res{
+
65 .subscribe = forwarding_subscribe<Type, Observable>};
+
66 return &s_res;
+
67 }
+
68 };
+
69
+
70 private:
+
71 std::shared_ptr<void> m_forwarder;
+
72 const vtable* m_vtable;
+
73 };
-
77} // namespace rpp::details::observables
-
78
-
79namespace rpp
-
80{
-
89 template<constraint::decayed_type Type>
-
-
90 class dynamic_observable : public observable<Type, details::observables::dynamic_strategy<Type>>
-
91 {
- +
74} // namespace rpp::details::observables
+
75
+
76namespace rpp
+
77{
+
86 template<constraint::decayed_type Type>
+
+
87 class dynamic_observable : public observable<Type, details::observables::dynamic_strategy<Type>>
+
88 {
+ +
90
+
91 public:
+
92 using base::base;
93
-
94 public:
-
95 using base::base;
-
96
- -
98 : base{std::move(b)}
-
99 {
-
100 }
-
101
-
102 dynamic_observable(const base& b)
-
103 : base{b}
-
104 {
-
105 }
-
106 };
+ +
95 : base{std::move(b)}
+
96 {
+
97 }
+
98
+
99 dynamic_observable(const base& b)
+
100 : base{b}
+
101 {
+
102 }
+
103 };
-
107} // namespace rpp
+
104} // namespace rpp
Definition dynamic_observable.hpp:30
-
Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
Definition dynamic_observable.hpp:91
-
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:113
+
Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
Definition dynamic_observable.hpp:88
+
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:110
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
auto subscribe(observer< Type, ObserverStrategy > &&observer)
Subscribes passed observer to emissions from this observable.
Definition subscribe.hpp:226
diff --git a/v2/docs/html/dynamic__observer_8hpp_source.html b/v2/docs/html/dynamic__observer_8hpp_source.html index 0c045d020..fa4b070cb 100644 --- a/v2/docs/html/dynamic__observer_8hpp_source.html +++ b/v2/docs/html/dynamic__observer_8hpp_source.html @@ -156,82 +156,79 @@
50 {
51 }
52
-
53 dynamic_strategy(const dynamic_strategy&) = default;
-
54 dynamic_strategy(dynamic_strategy&&) noexcept = default;
-
55
-
56 void set_upstream(const disposable_wrapper& d) noexcept { m_vtable->set_upstream(m_forwarder.get(), d); }
-
57
-
58 bool is_disposed() const noexcept { return m_vtable->is_disposed(m_forwarder.get()); }
-
59
-
60 void on_next(const Type& v) const noexcept { m_vtable->on_next_lvalue(m_forwarder.get(), v); }
-
61
-
62 void on_next(Type&& v) const noexcept { m_vtable->on_next_rvalue(m_forwarder.get(), std::move(v)); }
-
63
-
64 void on_error(const std::exception_ptr& err) const noexcept { m_vtable->on_error(m_forwarder.get(), err); }
-
65
-
66 void on_completed() const noexcept { m_vtable->on_completed(m_forwarder.get()); }
-
67
-
68 private:
-
69 struct vtable
-
70 {
-
71 void (*on_next_lvalue)(const void*, const Type&){};
-
72 void (*on_next_rvalue)(const void*, Type&&){};
-
73 void (*on_error)(const void*, const std::exception_ptr&){};
-
74 void (*on_completed)(const void*){};
+
53 void set_upstream(const disposable_wrapper& d) noexcept { m_vtable->set_upstream(m_forwarder.get(), d); }
+
54
+
55 bool is_disposed() const noexcept { return m_vtable->is_disposed(m_forwarder.get()); }
+
56
+
57 void on_next(const Type& v) const noexcept { m_vtable->on_next_lvalue(m_forwarder.get(), v); }
+
58
+
59 void on_next(Type&& v) const noexcept { m_vtable->on_next_rvalue(m_forwarder.get(), std::move(v)); }
+
60
+
61 void on_error(const std::exception_ptr& err) const noexcept { m_vtable->on_error(m_forwarder.get(), err); }
+
62
+
63 void on_completed() const noexcept { m_vtable->on_completed(m_forwarder.get()); }
+
64
+
65 private:
+
66 struct vtable
+
67 {
+
68 void (*on_next_lvalue)(const void*, const Type&){};
+
69 void (*on_next_rvalue)(const void*, Type&&){};
+
70 void (*on_error)(const void*, const std::exception_ptr&){};
+
71 void (*on_completed)(const void*){};
+
72
+
73 void (*set_upstream)(void*, const disposable_wrapper&){};
+
74 bool (*is_disposed)(const void*){};
75
-
76 void (*set_upstream)(void*, const disposable_wrapper&){};
-
77 bool (*is_disposed)(const void*){};
-
78
-
79 template<rpp::constraint::observer Strategy>
-
80 static const vtable* create() noexcept
-
81 {
-
82 static vtable s_res{
-
83 .on_next_lvalue = &member_ptr_caller<static_cast<typename Strategy::on_next_lvalue>(&Strategy::on_next)>::call,
-
84 .on_next_rvalue = &member_ptr_caller<static_cast<typename Strategy::on_next_rvalue>(&Strategy::on_next)>::call,
-
85 .on_error = &member_ptr_caller<&Strategy::on_error>::call,
-
86 .on_completed = &member_ptr_caller<&Strategy::on_completed>::call,
-
87 .set_upstream = &member_ptr_caller<&Strategy::set_upstream>::call,
-
88 .is_disposed = &member_ptr_caller<&Strategy::is_disposed>::call,
-
89 };
-
90 return &s_res;
-
91 }
-
92 };
-
93
-
94 private:
-
95 std::shared_ptr<void> m_forwarder;
-
96 const vtable* m_vtable;
-
97 };
+
76 template<rpp::constraint::observer Strategy>
+
77 static const vtable* create() noexcept
+
78 {
+
79 static vtable s_res{
+
80 .on_next_lvalue = &member_ptr_caller<static_cast<typename Strategy::on_next_lvalue>(&Strategy::on_next)>::call,
+
81 .on_next_rvalue = &member_ptr_caller<static_cast<typename Strategy::on_next_rvalue>(&Strategy::on_next)>::call,
+
82 .on_error = &member_ptr_caller<&Strategy::on_error>::call,
+
83 .on_completed = &member_ptr_caller<&Strategy::on_completed>::call,
+
84 .set_upstream = &member_ptr_caller<&Strategy::set_upstream>::call,
+
85 .is_disposed = &member_ptr_caller<&Strategy::is_disposed>::call,
+
86 };
+
87 return &s_res;
+
88 }
+
89 };
+
90
+
91 private:
+
92 std::shared_ptr<void> m_forwarder;
+
93 const vtable* m_vtable;
+
94 };
-
98} // namespace rpp::details::observers
-
99
-
100
-
101namespace rpp
-
102{
-
111 template<constraint::decayed_type Type>
-
-
112 class dynamic_observer final : public observer<Type, details::observers::dynamic_strategy<Type>>
-
113 {
- +
95} // namespace rpp::details::observers
+
96
+
97
+
98namespace rpp
+
99{
+
108 template<constraint::decayed_type Type>
+
+
109 class dynamic_observer final : public observer<Type, details::observers::dynamic_strategy<Type>>
+
110 {
+ +
112
+
113 public:
+
114 using base::base;
115
-
116 public:
-
117 using base::base;
-
118
- -
120 : base{std::move(b)}
-
121 {
-
122 }
-
123
-
124 dynamic_observer(const base& b)
-
125 : base{b}
-
126 {
-
127 }
-
128 };
+ +
117 : base{std::move(b)}
+
118 {
+
119 }
+
120
+
121 dynamic_observer(const base& b)
+
122 : base{b}
+
123 {
+
124 }
+
125 };
-
129} // namespace rpp
+
126} // namespace rpp
Definition dynamic_observer.hpp:43
-
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:113
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:110
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition dynamic_observer.hpp:23
diff --git a/v2/docs/html/filter_8hpp_source.html b/v2/docs/html/filter_8hpp_source.html index 9a156db46..bbfbe046f 100644 --- a/v2/docs/html/filter_8hpp_source.html +++ b/v2/docs/html/filter_8hpp_source.html @@ -182,13 +182,13 @@
97 return details::filter_t<std::decay_t<Fn>>{std::forward<Fn>(predicate)};
98 }
99} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto filter(Fn &&predicate)
Emit only those items from an Observable that satisfies a provided predicate.
Definition filter.hpp:91
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/finally_8hpp_source.html b/v2/docs/html/finally_8hpp_source.html index c537c3bb0..730fc0c74 100644 --- a/v2/docs/html/finally_8hpp_source.html +++ b/v2/docs/html/finally_8hpp_source.html @@ -157,8 +157,8 @@
60 }
61} // namespace rpp::operators
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition finally.hpp:25
Definition finally.hpp:22
diff --git a/v2/docs/html/first_8hpp_source.html b/v2/docs/html/first_8hpp_source.html index 2b79da4ff..a55c3623f 100644 --- a/v2/docs/html/first_8hpp_source.html +++ b/v2/docs/html/first_8hpp_source.html @@ -177,13 +177,13 @@
93 return details::first_t{};
94 }
95} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto first()
Emit only the first item.
Definition first.hpp:87
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/forwarding__subject_8hpp_source.html b/v2/docs/html/forwarding__subject_8hpp_source.html index 0be20d2dc..59114ea27 100644 --- a/v2/docs/html/forwarding__subject_8hpp_source.html +++ b/v2/docs/html/forwarding__subject_8hpp_source.html @@ -182,7 +182,7 @@
78} // namespace rpp::operators::details
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition forwarding_subject.hpp:26
Definition fwd.hpp:238
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/from_8hpp_source.html b/v2/docs/html/from_8hpp_source.html index cb292c555..f67b953b8 100644 --- a/v2/docs/html/from_8hpp_source.html +++ b/v2/docs/html/from_8hpp_source.html @@ -303,7 +303,7 @@
270} // namespace rpp::source
Definition from.hpp:30
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Schedules execution of schedulables via queueing tasks to the caller thread with priority to time_poi...
Definition current_thread.hpp:86
Definition memory_model.hpp:31
Definition fwd.hpp:196
diff --git a/v2/docs/html/group__by_8hpp_source.html b/v2/docs/html/group__by_8hpp_source.html index 7a52a41d3..dd7b47504 100644 --- a/v2/docs/html/group__by_8hpp_source.html +++ b/v2/docs/html/group__by_8hpp_source.html @@ -310,15 +310,15 @@
226 std::forward<KeyComparator>(comparator)};
227 }
228} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
static disposable_wrapper_impl make(TArgs &&... args)
Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
Definition disposable_wrapper.hpp:133
Extension over rpp::observable for some "subset" of values from original observable grouped by some k...
Definition grouped_observable.hpp:28
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
Subject which just multicasts values to observers subscribed on it. It contains two parts: observer a...
Definition publish_subject.hpp:81
Definition fwd.hpp:235
diff --git a/v2/docs/html/interval_8hpp_source.html b/v2/docs/html/interval_8hpp_source.html index 0ecfde016..21f848c66 100644 --- a/v2/docs/html/interval_8hpp_source.html +++ b/v2/docs/html/interval_8hpp_source.html @@ -184,10 +184,10 @@
121 return interval(period, period, std::forward<TScheduler>(scheduler));
122 }
123} // namespace rpp::source
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
auto interval(rpp::schedulers::duration initial, rpp::schedulers::duration period, TScheduler &&scheduler)
Creates rpp::observable that emits a sequential integer every specified time interval,...
Definition interval.hpp:78
Definition interval.hpp:20
Definition interval.hpp:30
diff --git a/v2/docs/html/lambda__observer_8hpp_source.html b/v2/docs/html/lambda__observer_8hpp_source.html index 0b368b5b3..496e537ee 100644 --- a/v2/docs/html/lambda__observer_8hpp_source.html +++ b/v2/docs/html/lambda__observer_8hpp_source.html @@ -194,7 +194,7 @@
86} // namespace rpp
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
auto make_lambda_observer(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) -> lambda_observer< Type, std::decay_t< OnNext >, std::decay_t< OnError >, std::decay_t< OnCompleted > >
Constructs observer specialized with passed callbacks. Most easiesest way to construct observer "on t...
Definition lambda_observer.hpp:49
Definition lambda_observer.hpp:24
diff --git a/v2/docs/html/last_8hpp_source.html b/v2/docs/html/last_8hpp_source.html index c239079ba..8bae413db 100644 --- a/v2/docs/html/last_8hpp_source.html +++ b/v2/docs/html/last_8hpp_source.html @@ -185,13 +185,13 @@
101 return details::last_t{};
102 }
103} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto last()
Emit only the last item provided before on_completed.
Definition last.hpp:95
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/map_8hpp_source.html b/v2/docs/html/map_8hpp_source.html index 2b2ea7cd0..c03bc8a10 100644 --- a/v2/docs/html/map_8hpp_source.html +++ b/v2/docs/html/map_8hpp_source.html @@ -181,13 +181,13 @@
100 return details::map_t<std::decay_t<Fn>>{std::forward<Fn>(callable)};
101 }
102} // namespace rpp::operators
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:52
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:77
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void set_upstream(const disposable_wrapper &d) noexcept
Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
Definition observer.hpp:49
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
bool is_disposed() const noexcept
Observable calls this method to check if observer interested or not in emissions.
Definition observer.hpp:74
-
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:175
+
Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
Definition observer.hpp:172
Definition strategy.hpp:28
auto map(Fn &&callable)
Transforms the items emitted by an Observable via applying a function to each item and emitting resul...
Definition map.hpp:94
Definition disposable_strategy.hpp:99
diff --git a/v2/docs/html/md_docs_2readme.html b/v2/docs/html/md_docs_2readme.html index d1629aebd..4bd8b8906 100644 --- a/v2/docs/html/md_docs_2readme.html +++ b/v2/docs/html/md_docs_2readme.html @@ -319,12 +319,12 @@

};);
}
}
-
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:87
-
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:138
-
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:123
-
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:113
+
void on_next(const Type &v) const noexcept
Observable calls this method to notify observer about new value.
Definition observer.hpp:84
+
void on_completed() const noexcept
Observable calls this method to notify observer about completion of emissions.
Definition observer.hpp:135
+
void on_error(const std::exception_ptr &err) const noexcept
Observable calls this method to notify observer about some error during generation next data.
Definition observer.hpp:120
+
Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
Definition dynamic_observer.hpp:110
Base class for any observable used in RPP. It handles core callbacks of observable.
Definition observable.hpp:38
-
void subscribe(observer< Type, ObserverStrategy > &&observer) const
Subscribes passed observer to emissions from this observable.
Definition observable.hpp:60
+
void subscribe(observer< Type, ObserverStrategy > &&observer) const
Subscribes passed observer to emissions from this observable.
Definition observable.hpp:57

It is template for such an functor-adaptor. Provided example - is simplest possible way to implement new operators - just provide function for transformation of observable. For example, it is fully valid example:

| [](const auto& observable) { return rpp::source::concat(observable, rpp::source::just(2)); };
auto concat(TObservable &&obs, TObservables &&... others)
Make observable which would merge emissions from underlying observables but without overlapping (curr...
Definition concat.hpp:168
@@ -443,7 +443,7 @@

v.observable.subscribe(v.observer);
}
-
Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
Definition dynamic_observable.hpp:91
+
Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
Definition dynamic_observable.hpp:88
auto make_lambda_observer(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) -> lambda_observer< Type, std::decay_t< OnNext >, std::decay_t< OnError >, std::decay_t< OnCompleted > >
Constructs observer specialized with passed callbacks. Most easiesest way to construct observer "on t...
Definition lambda_observer.hpp:49

  • to convert observable/observer to dynamic_* version you could manually call as_dynamic() member function or just pass them to ctor
  • diff --git a/v2/docs/html/merge_8hpp_source.html b/v2/docs/html/merge_8hpp_source.html index e1289d00a..9ed5322a9 100644 --- a/v2/docs/html/merge_8hpp_source.html +++ b/v2/docs/html/merge_8hpp_source.html @@ -327,7 +327,7 @@
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:175
    Definition chain_strategy.hpp:22
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    diff --git a/v2/docs/html/observable_8hpp_source.html b/v2/docs/html/observable_8hpp_source.html index 6d8a9dd2e..ad0408264 100644 --- a/v2/docs/html/observable_8hpp_source.html +++ b/v2/docs/html/observable_8hpp_source.html @@ -139,254 +139,251 @@
    48 {
    49 }
    50
    -
    51 observable(const observable&) = default;
    -
    52 observable(observable&&) noexcept = default;
    -
    53
    -
    59 template<constraint::observer_strategy<Type> ObserverStrategy>
    -
    - -
    61 {
    -
    62 if (!observer.is_disposed())
    -
    63 m_strategy.subscribe(std::move(observer));
    -
    64 }
    +
    56 template<constraint::observer_strategy<Type> ObserverStrategy>
    +
    + +
    58 {
    +
    59 if (!observer.is_disposed())
    +
    60 m_strategy.subscribe(std::move(observer));
    +
    61 }
    -
    65
    -
    - -
    71 {
    -
    72 subscribe<details::observers::dynamic_strategy<Type>>(std::move(observer));
    -
    73 }
    +
    62
    +
    + +
    68 {
    +
    69 subscribe<details::observers::dynamic_strategy<Type>>(std::move(observer));
    +
    70 }
    -
    74
    -
    78 template<constraint::observer_strategy<Type> ObserverStrategy>
    - -
    -
    80 void subscribe(ObserverStrategy&& observer_strategy) const
    -
    81 {
    - -
    83 subscribe(rpp::observer<Type, std::decay_t<ObserverStrategy>>{std::forward<ObserverStrategy>(observer_strategy)});
    -
    84 else
    -
    85 subscribe(rpp::observer_with_disposable<Type, std::decay_t<ObserverStrategy>, typename expected_disposable_strategy::disposable_strategy>{std::forward<ObserverStrategy>(observer_strategy)});
    -
    86 }
    +
    71
    +
    75 template<constraint::observer_strategy<Type> ObserverStrategy>
    + +
    +
    77 void subscribe(ObserverStrategy&& observer_strategy) const
    +
    78 {
    + +
    80 subscribe(rpp::observer<Type, std::decay_t<ObserverStrategy>>{std::forward<ObserverStrategy>(observer_strategy)});
    +
    81 else
    +
    82 subscribe(rpp::observer_with_disposable<Type, std::decay_t<ObserverStrategy>, typename expected_disposable_strategy::disposable_strategy>{std::forward<ObserverStrategy>(observer_strategy)});
    +
    83 }
    -
    87
    -
    110 template<constraint::observer_strategy<Type> ObserverStrategy>
    -
    - -
    112 {
    -
    113 if (!d.is_disposed())
    -
    114 m_strategy.subscribe(observer_with_disposable<Type, observer<Type, ObserverStrategy>>{d, std::move(obs)});
    -
    115 return d;
    -
    116 }
    +
    84
    +
    107 template<constraint::observer_strategy<Type> ObserverStrategy>
    +
    + +
    109 {
    +
    110 if (!d.is_disposed())
    +
    111 m_strategy.subscribe(observer_with_disposable<Type, observer<Type, ObserverStrategy>>{d, std::move(obs)});
    +
    112 return d;
    +
    113 }
    -
    117
    -
    126 template<constraint::observer_strategy<Type> ObserverStrategy>
    - -
    -
    128 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, ObserverStrategy&& observer_strategy) const
    -
    129 {
    -
    130 subscribe(observer_with_disposable<Type, std::decay_t<ObserverStrategy>>{d, std::forward<ObserverStrategy>(observer_strategy)});
    -
    131 return d;
    -
    132 }
    +
    114
    +
    123 template<constraint::observer_strategy<Type> ObserverStrategy>
    + +
    +
    125 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, ObserverStrategy&& observer_strategy) const
    +
    126 {
    +
    127 subscribe(observer_with_disposable<Type, std::decay_t<ObserverStrategy>>{d, std::forward<ObserverStrategy>(observer_strategy)});
    +
    128 return d;
    +
    129 }
    -
    133
    -
    143 template<constraint::observer_strategy<Type> ObserverStrategy>
    -
    -
    144 [[nodiscard("Use returned disposable or use subscribe(observer) instead")]] composite_disposable_wrapper subscribe_with_disposable(observer<Type, ObserverStrategy>&& observer) const
    -
    145 {
    -
    146 if (!observer.is_disposed())
    - - -
    149 }
    +
    130
    +
    140 template<constraint::observer_strategy<Type> ObserverStrategy>
    + -
    150
    -
    158 template<constraint::observer_strategy<Type> ObserverStrategy>
    - -
    -
    160 [[nodiscard("Use returned disposable or use subscribe(observer) instead")]] composite_disposable_wrapper subscribe_with_disposable(ObserverStrategy&& observer_strategy) const
    -
    161 {
    - -
    163 }
    +
    147
    +
    155 template<constraint::observer_strategy<Type> ObserverStrategy>
    + +
    +
    157 [[nodiscard("Use returned disposable or use subscribe(observer) instead")]] composite_disposable_wrapper subscribe_with_disposable(ObserverStrategy&& observer_strategy) const
    +
    158 {
    + +
    160 }
    -
    164
    -
    -
    174 [[nodiscard("Use returned disposable or use subscribe(observer) instead")]] composite_disposable_wrapper subscribe_with_disposable(dynamic_observer<Type> observer) const
    -
    175 {
    -
    176 return subscribe<details::observers::dynamic_strategy<Type>>(rpp::composite_disposable_wrapper::make<rpp::composite_disposable_impl<typename expected_disposable_strategy::disposable_container>>(), std::move(observer));
    -
    177 }
    +
    161
    +
    +
    171 [[nodiscard("Use returned disposable or use subscribe(observer) instead")]] composite_disposable_wrapper subscribe_with_disposable(dynamic_observer<Type> observer) const
    +
    172 {
    +
    173 return subscribe<details::observers::dynamic_strategy<Type>>(rpp::composite_disposable_wrapper::make<rpp::composite_disposable_impl<typename expected_disposable_strategy::disposable_container>>(), std::move(observer));
    +
    174 }
    -
    178
    -
    182 template<std::invocable<Type> OnNext,
    -
    183 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    -
    184 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    -
    -
    185 void subscribe(OnNext&& on_next,
    -
    186 OnError&& on_error = {},
    -
    187 OnCompleted&& on_completed = {}) const
    -
    188 {
    -
    189 using strategy = rpp::details::observers::lambda_strategy<Type, std::decay_t<OnNext>, std::decay_t<OnError>, std::decay_t<OnCompleted>>;
    -
    190
    -
    191 subscribe(observer_with_disposable<Type, strategy, typename expected_disposable_strategy::disposable_strategy>{std::forward<OnNext>(on_next),
    -
    192 std::forward<OnError>(on_error),
    -
    193 std::forward<OnCompleted>(on_completed)});
    -
    194 }
    +
    175
    +
    179 template<std::invocable<Type> OnNext,
    +
    180 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    +
    181 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    +
    +
    182 void subscribe(OnNext&& on_next,
    +
    183 OnError&& on_error = {},
    +
    184 OnCompleted&& on_completed = {}) const
    +
    185 {
    +
    186 using strategy = rpp::details::observers::lambda_strategy<Type, std::decay_t<OnNext>, std::decay_t<OnError>, std::decay_t<OnCompleted>>;
    +
    187
    +
    188 subscribe(observer_with_disposable<Type, strategy, typename expected_disposable_strategy::disposable_strategy>{std::forward<OnNext>(on_next),
    +
    189 std::forward<OnError>(on_error),
    +
    190 std::forward<OnCompleted>(on_completed)});
    +
    191 }
    -
    195
    -
    199 template<std::invocable<Type> OnNext,
    -
    200 std::invocable<> OnCompleted>
    -
    -
    201 void subscribe(OnNext&& on_next,
    -
    202 OnCompleted&& on_completed) const
    -
    203 {
    -
    204 subscribe(std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    -
    205 }
    +
    192
    +
    196 template<std::invocable<Type> OnNext,
    +
    197 std::invocable<> OnCompleted>
    +
    +
    198 void subscribe(OnNext&& on_next,
    +
    199 OnCompleted&& on_completed) const
    +
    200 {
    +
    201 subscribe(std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    +
    202 }
    -
    206
    -
    214 template<std::invocable<Type> OnNext,
    -
    215 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    -
    216 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    -
    -
    217 [[nodiscard("Use returned disposable or use subscribe(on_next, on_error, on_completed) instead")]] composite_disposable_wrapper subscribe_with_disposable(OnNext&& on_next, OnError&& on_error = {}, OnCompleted&& on_completed = {}) const
    -
    218 {
    -
    219 auto res = rpp::composite_disposable_wrapper::make<rpp::composite_disposable_impl<typename expected_disposable_strategy::disposable_container>>();
    -
    220 subscribe(make_lambda_observer<Type>(res,
    -
    221 std::forward<OnNext>(on_next),
    -
    222 std::forward<OnError>(on_error),
    -
    223 std::forward<OnCompleted>(on_completed)));
    -
    224 return res;
    -
    225 }
    +
    203
    +
    211 template<std::invocable<Type> OnNext,
    +
    212 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    +
    213 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    +
    +
    214 [[nodiscard("Use returned disposable or use subscribe(on_next, on_error, on_completed) instead")]] composite_disposable_wrapper subscribe_with_disposable(OnNext&& on_next, OnError&& on_error = {}, OnCompleted&& on_completed = {}) const
    +
    215 {
    +
    216 auto res = rpp::composite_disposable_wrapper::make<rpp::composite_disposable_impl<typename expected_disposable_strategy::disposable_container>>();
    +
    217 subscribe(make_lambda_observer<Type>(res,
    +
    218 std::forward<OnNext>(on_next),
    +
    219 std::forward<OnError>(on_error),
    +
    220 std::forward<OnCompleted>(on_completed)));
    +
    221 return res;
    +
    222 }
    -
    226
    -
    234 template<std::invocable<Type> OnNext,
    -
    235 std::invocable<> OnCompleted>
    -
    -
    236 [[nodiscard("Use returned disposable or use subscribe(on_next, on_error, on_completed) instead")]] composite_disposable_wrapper subscribe_with_disposable(OnNext&& on_next, OnCompleted&& on_completed) const
    -
    237 {
    -
    238 return subscribe_with_disposable(std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    -
    239 }
    +
    223
    +
    231 template<std::invocable<Type> OnNext,
    +
    232 std::invocable<> OnCompleted>
    +
    +
    233 [[nodiscard("Use returned disposable or use subscribe(on_next, on_error, on_completed) instead")]] composite_disposable_wrapper subscribe_with_disposable(OnNext&& on_next, OnCompleted&& on_completed) const
    +
    234 {
    +
    235 return subscribe_with_disposable(std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    +
    236 }
    -
    240
    -
    263 template<std::invocable<Type> OnNext,
    -
    264 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    -
    265 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    -
    -
    266 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, OnNext&& on_next, OnError&& on_error = {}, OnCompleted&& on_completed = {}) const
    -
    267 {
    -
    268 if (!d.is_disposed())
    -
    269 subscribe(make_lambda_observer<Type>(d,
    -
    270 std::forward<OnNext>(on_next),
    -
    271 std::forward<OnError>(on_error),
    -
    272 std::forward<OnCompleted>(on_completed)));
    -
    273 return d;
    -
    274 }
    +
    237
    +
    260 template<std::invocable<Type> OnNext,
    +
    261 std::invocable<const std::exception_ptr&> OnError = rpp::utils::rethrow_error_t,
    +
    262 std::invocable<> OnCompleted = rpp::utils::empty_function_t<>>
    +
    +
    263 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, OnNext&& on_next, OnError&& on_error = {}, OnCompleted&& on_completed = {}) const
    +
    264 {
    +
    265 if (!d.is_disposed())
    +
    266 subscribe(make_lambda_observer<Type>(d,
    +
    267 std::forward<OnNext>(on_next),
    +
    268 std::forward<OnError>(on_error),
    +
    269 std::forward<OnCompleted>(on_completed)));
    +
    270 return d;
    +
    271 }
    -
    275
    -
    298 template<std::invocable<Type> OnNext,
    -
    299 std::invocable<> OnCompleted>
    -
    -
    300 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, OnNext&& on_next, OnCompleted&& on_completed) const
    -
    301 {
    -
    302 return subscribe(d, std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    -
    303 }
    +
    272
    +
    295 template<std::invocable<Type> OnNext,
    +
    296 std::invocable<> OnCompleted>
    +
    +
    297 composite_disposable_wrapper subscribe(const composite_disposable_wrapper& d, OnNext&& on_next, OnCompleted&& on_completed) const
    +
    298 {
    +
    299 return subscribe(d, std::forward<OnNext>(on_next), rpp::utils::rethrow_error_t{}, std::forward<OnCompleted>(on_completed));
    +
    300 }
    -
    304
    -
    308 auto as_dynamic() const & { return rpp::dynamic_observable<Type>{*this}; }
    -
    309
    -
    313 auto as_dynamic() && { return rpp::dynamic_observable<Type>{std::move(*this)}; }
    -
    314
    -
    315 template<constraint::operator_base<Type> Op>
    -
    316 auto operator|(Op&& op) const &
    -
    317 {
    -
    318 RPP_CHECK_IF_TRAIT_ASSERTS_SATISFIED(Op, Type)
    -
    319 return inner_make_chain_operator(std::forward<Op>(op));
    -
    320 }
    -
    321
    -
    322 template<constraint::operator_base<Type> Op>
    -
    323 auto operator|(Op&& op) &&
    -
    324 {
    -
    325 RPP_CHECK_IF_TRAIT_ASSERTS_SATISFIED(Op, Type)
    -
    326 return std::move(*this).inner_make_chain_operator(std::forward<Op>(op));
    -
    327 }
    -
    328
    -
    329 template<constraint::operator_observable_transform<const observable&> Op>
    -
    330 auto operator|(Op&& op) const &
    -
    331 {
    -
    332 return std::forward<Op>(op)(*this);
    -
    333 }
    -
    334
    -
    335 template<constraint::operator_observable_transform<observable&&> Op>
    -
    336 auto operator|(Op&& op) &&
    -
    337 {
    -
    338 return std::forward<Op>(op)(std::move(*this));
    -
    339 }
    -
    340
    -
    341 template<typename... Args>
    -
    342 auto operator|(const rpp::operators::details::subscribe_t<Args...>& op) const
    -
    343 {
    -
    344 return op(*this);
    -
    345 }
    -
    346
    -
    347 template<typename... Args>
    -
    348 auto operator|(rpp::operators::details::subscribe_t<Args...>&& op) const
    -
    349 {
    -
    350 return std::move(op)(*this);
    -
    351 }
    -
    352
    -
    353 template<typename Op>
    -
    354 auto pipe(Op&& op) const &
    -
    355 {
    -
    356 return *this | std::forward<Op>(op);
    -
    357 }
    -
    358
    -
    359 template<typename Op>
    -
    360 auto pipe(Op&& op) &&
    -
    361 {
    -
    362 return std::move(*this) | std::forward<Op>(op);
    -
    363 }
    -
    364
    -
    365 private:
    -
    366 template<constraint::operator_chain<Type, expected_disposable_strategy> Op>
    -
    367 auto inner_make_chain_operator(Op&& op) const &
    -
    368 {
    -
    369 return observable<typename std::decay_t<Op>::template operator_traits<Type>::result_type, make_chain_observable_t<std::decay_t<Op>, Strategy>>{std::forward<Op>(op), m_strategy};
    -
    370 }
    -
    371
    -
    372 template<constraint::operator_chain<Type, expected_disposable_strategy> Op>
    -
    373 auto inner_make_chain_operator(Op&& op) &&
    -
    374 {
    -
    375 return observable<typename std::decay_t<Op>::template operator_traits<Type>::result_type, make_chain_observable_t<std::decay_t<Op>, Strategy>>{std::forward<Op>(op), std::move(m_strategy)};
    -
    376 }
    -
    377
    -
    378 private:
    -
    379 RPP_NO_UNIQUE_ADDRESS Strategy m_strategy;
    -
    380 };
    +
    301
    +
    305 auto as_dynamic() const & { return rpp::dynamic_observable<Type>{*this}; }
    +
    306
    +
    310 auto as_dynamic() && { return rpp::dynamic_observable<Type>{std::move(*this)}; }
    +
    311
    +
    312 template<constraint::operator_base<Type> Op>
    +
    313 auto operator|(Op&& op) const &
    +
    314 {
    +
    315 RPP_CHECK_IF_TRAIT_ASSERTS_SATISFIED(Op, Type)
    +
    316 return inner_make_chain_operator(std::forward<Op>(op));
    +
    317 }
    +
    318
    +
    319 template<constraint::operator_base<Type> Op>
    +
    320 auto operator|(Op&& op) &&
    +
    321 {
    +
    322 RPP_CHECK_IF_TRAIT_ASSERTS_SATISFIED(Op, Type)
    +
    323 return std::move(*this).inner_make_chain_operator(std::forward<Op>(op));
    +
    324 }
    +
    325
    +
    326 template<constraint::operator_observable_transform<const observable&> Op>
    +
    327 auto operator|(Op&& op) const &
    +
    328 {
    +
    329 return std::forward<Op>(op)(*this);
    +
    330 }
    +
    331
    +
    332 template<constraint::operator_observable_transform<observable&&> Op>
    +
    333 auto operator|(Op&& op) &&
    +
    334 {
    +
    335 return std::forward<Op>(op)(std::move(*this));
    +
    336 }
    +
    337
    +
    338 template<typename... Args>
    +
    339 auto operator|(const rpp::operators::details::subscribe_t<Args...>& op) const
    +
    340 {
    +
    341 return op(*this);
    +
    342 }
    +
    343
    +
    344 template<typename... Args>
    +
    345 auto operator|(rpp::operators::details::subscribe_t<Args...>&& op) const
    +
    346 {
    +
    347 return std::move(op)(*this);
    +
    348 }
    +
    349
    +
    350 template<typename Op>
    +
    351 auto pipe(Op&& op) const &
    +
    352 {
    +
    353 return *this | std::forward<Op>(op);
    +
    354 }
    +
    355
    +
    356 template<typename Op>
    +
    357 auto pipe(Op&& op) &&
    +
    358 {
    +
    359 return std::move(*this) | std::forward<Op>(op);
    +
    360 }
    +
    361
    +
    362 private:
    +
    363 template<constraint::operator_chain<Type, expected_disposable_strategy> Op>
    +
    364 auto inner_make_chain_operator(Op&& op) const &
    +
    365 {
    +
    366 return observable<typename std::decay_t<Op>::template operator_traits<Type>::result_type, make_chain_observable_t<std::decay_t<Op>, Strategy>>{std::forward<Op>(op), m_strategy};
    +
    367 }
    +
    368
    +
    369 template<constraint::operator_chain<Type, expected_disposable_strategy> Op>
    +
    370 auto inner_make_chain_operator(Op&& op) &&
    +
    371 {
    +
    372 return observable<typename std::decay_t<Op>::template operator_traits<Type>::result_type, make_chain_observable_t<std::decay_t<Op>, Strategy>>{std::forward<Op>(op), std::move(m_strategy)};
    +
    373 }
    +
    374
    +
    375 private:
    +
    376 RPP_NO_UNIQUE_ADDRESS Strategy m_strategy;
    +
    377 };
    -
    381} // namespace rpp
    +
    378} // namespace rpp
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:31
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    static disposable_wrapper_impl empty()
    Creates disposable_wrapper which behaves like disposed disposable.
    Definition disposable_wrapper.hpp:147
    -
    Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
    Definition dynamic_observable.hpp:91
    -
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:113
    +
    Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
    Definition dynamic_observable.hpp:88
    +
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:110
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:300
    -
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, observer< Type, ObserverStrategy > &&obs) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:111
    -
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:60
    -
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, ObserverStrategy &&observer_strategy) const
    Subscribes passed observer strategy to emissions from this observable via construction of observer.
    Definition observable.hpp:128
    -
    auto as_dynamic() &&
    Convert observable to type-erased version.
    Definition observable.hpp:313
    -
    composite_disposable_wrapper subscribe_with_disposable(ObserverStrategy &&observer_strategy) const
    Subscribes observer strategy to emissions from this observable.
    Definition observable.hpp:160
    -
    void subscribe(dynamic_observer< Type > observer) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:70
    -
    composite_disposable_wrapper subscribe_with_disposable(OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:236
    -
    auto as_dynamic() const &
    Convert observable to type-erased version.
    Definition observable.hpp:308
    -
    void subscribe(ObserverStrategy &&observer_strategy) const
    Subscribes passed observer strategy to emissions from this observable via construction of observer.
    Definition observable.hpp:80
    -
    void subscribe(OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:201
    -
    composite_disposable_wrapper subscribe_with_disposable(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:144
    -
    composite_disposable_wrapper subscribe_with_disposable(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:217
    -
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:266
    -
    void subscribe(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:185
    -
    composite_disposable_wrapper subscribe_with_disposable(dynamic_observer< Type > observer) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:174
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:297
    +
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, observer< Type, ObserverStrategy > &&obs) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:108
    +
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:57
    +
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, ObserverStrategy &&observer_strategy) const
    Subscribes passed observer strategy to emissions from this observable via construction of observer.
    Definition observable.hpp:125
    +
    auto as_dynamic() &&
    Convert observable to type-erased version.
    Definition observable.hpp:310
    +
    composite_disposable_wrapper subscribe_with_disposable(ObserverStrategy &&observer_strategy) const
    Subscribes observer strategy to emissions from this observable.
    Definition observable.hpp:157
    +
    void subscribe(dynamic_observer< Type > observer) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:67
    +
    composite_disposable_wrapper subscribe_with_disposable(OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:233
    +
    auto as_dynamic() const &
    Convert observable to type-erased version.
    Definition observable.hpp:305
    +
    void subscribe(ObserverStrategy &&observer_strategy) const
    Subscribes passed observer strategy to emissions from this observable via construction of observer.
    Definition observable.hpp:77
    +
    void subscribe(OnNext &&on_next, OnCompleted &&on_completed) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:198
    +
    composite_disposable_wrapper subscribe_with_disposable(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:141
    +
    composite_disposable_wrapper subscribe_with_disposable(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:214
    +
    composite_disposable_wrapper subscribe(const composite_disposable_wrapper &d, OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:263
    +
    void subscribe(OnNext &&on_next, OnError &&on_error={}, OnCompleted &&on_completed={}) const
    Construct rpp::lambda_observer on the fly and subscribe it to emissions from this observable.
    Definition observable.hpp:182
    +
    composite_disposable_wrapper subscribe_with_disposable(dynamic_observer< Type > observer) const
    Subscribe passed observer to emissions from this observable.
    Definition observable.hpp:171
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition subscribe.hpp:27
    Definition fwd.hpp:235
    diff --git a/v2/docs/html/observer_8hpp_source.html b/v2/docs/html/observer_8hpp_source.html index ae87f7e0a..6f4123b89 100644 --- a/v2/docs/html/observer_8hpp_source.html +++ b/v2/docs/html/observer_8hpp_source.html @@ -140,222 +140,216 @@
    36 {
    37 }
    38
    -
    39 observer_impl(const observer_impl&) = default;
    -
    40 observer_impl(observer_impl&&) noexcept = default;
    +
    39 public:
    +
    41
    -
    42 public:
    - +
    42 using on_next_lvalue = void (observer_impl::*)(const Type&) const noexcept;
    +
    43 using on_next_rvalue = void (observer_impl::*)(Type&&) const noexcept;
    44
    -
    45 using on_next_lvalue = void (observer_impl::*)(const Type&) const noexcept;
    -
    46 using on_next_rvalue = void (observer_impl::*)(Type&&) const noexcept;
    -
    47
    -
    -
    52 void set_upstream(const disposable_wrapper& d) noexcept
    -
    53 {
    -
    54 if (is_disposed())
    -
    55 {
    -
    56 d.dispose();
    -
    57 return;
    -
    58 }
    -
    59
    -
    60 try
    -
    61 {
    -
    62 m_disposable.add(d);
    -
    63 m_strategy.set_upstream(d);
    -
    64 }
    -
    65 catch (...)
    -
    66 {
    -
    67 on_error(std::current_exception());
    -
    68 }
    -
    69 }
    +
    +
    49 void set_upstream(const disposable_wrapper& d) noexcept
    +
    50 {
    +
    51 if (is_disposed())
    +
    52 {
    +
    53 d.dispose();
    +
    54 return;
    +
    55 }
    +
    56
    +
    57 try
    +
    58 {
    +
    59 m_disposable.add(d);
    +
    60 m_strategy.set_upstream(d);
    +
    61 }
    +
    62 catch (...)
    +
    63 {
    +
    64 on_error(std::current_exception());
    +
    65 }
    +
    66 }
    -
    70
    -
    -
    77 bool is_disposed() const noexcept
    -
    78 {
    -
    79 return m_disposable.is_disposed() || m_strategy.is_disposed();
    -
    80 }
    +
    67
    +
    +
    74 bool is_disposed() const noexcept
    +
    75 {
    +
    76 return m_disposable.is_disposed() || m_strategy.is_disposed();
    +
    77 }
    -
    81
    -
    -
    87 void on_next(const Type& v) const noexcept
    -
    88 {
    -
    89 try
    -
    90 {
    -
    91 if (!is_disposed())
    -
    92 m_strategy.on_next(v);
    -
    93 }
    -
    94 catch (...)
    -
    95 {
    -
    96 on_error(std::current_exception());
    -
    97 }
    -
    98 }
    +
    78
    +
    +
    84 void on_next(const Type& v) const noexcept
    +
    85 {
    +
    86 try
    +
    87 {
    +
    88 if (!is_disposed())
    +
    89 m_strategy.on_next(v);
    +
    90 }
    +
    91 catch (...)
    +
    92 {
    +
    93 on_error(std::current_exception());
    +
    94 }
    +
    95 }
    -
    99
    -
    -
    105 void on_next(Type&& v) const noexcept
    -
    106 {
    -
    107 try
    -
    108 {
    -
    109 if (!is_disposed())
    -
    110 m_strategy.on_next(std::move(v));
    -
    111 }
    -
    112 catch (...)
    -
    113 {
    -
    114 on_error(std::current_exception());
    -
    115 }
    -
    116 }
    +
    96
    +
    +
    102 void on_next(Type&& v) const noexcept
    +
    103 {
    +
    104 try
    +
    105 {
    +
    106 if (!is_disposed())
    +
    107 m_strategy.on_next(std::move(v));
    +
    108 }
    +
    109 catch (...)
    +
    110 {
    +
    111 on_error(std::current_exception());
    +
    112 }
    +
    113 }
    -
    117
    -
    -
    123 void on_error(const std::exception_ptr& err) const noexcept
    -
    124 {
    -
    125 if (!is_disposed())
    -
    126 {
    -
    127 rpp::utils::finally_action finally{[&] {
    -
    128 m_disposable.dispose();
    -
    129 }};
    -
    130 m_strategy.on_error(err);
    -
    131 }
    -
    132 }
    +
    114
    +
    +
    120 void on_error(const std::exception_ptr& err) const noexcept
    +
    121 {
    +
    122 if (!is_disposed())
    +
    123 {
    +
    124 rpp::utils::finally_action finally{[&] {
    +
    125 m_disposable.dispose();
    +
    126 }};
    +
    127 m_strategy.on_error(err);
    +
    128 }
    +
    129 }
    -
    133
    -
    -
    138 void on_completed() const noexcept
    -
    139 {
    -
    140 if (!is_disposed())
    -
    141 {
    -
    142 rpp::utils::finally_action finally{[&] {
    -
    143 m_disposable.dispose();
    -
    144 }};
    -
    145 m_strategy.on_completed();
    -
    146 }
    -
    147 }
    +
    130
    +
    +
    135 void on_completed() const noexcept
    +
    136 {
    +
    137 if (!is_disposed())
    +
    138 {
    +
    139 rpp::utils::finally_action finally{[&] {
    +
    140 m_disposable.dispose();
    +
    141 }};
    +
    142 m_strategy.on_completed();
    +
    143 }
    +
    144 }
    -
    148
    -
    149 private:
    -
    150 RPP_NO_UNIQUE_ADDRESS Strategy m_strategy;
    -
    151 RPP_NO_UNIQUE_ADDRESS mutable DisposablesStrategy m_disposable;
    -
    152 };
    +
    145
    +
    146 private:
    +
    147 RPP_NO_UNIQUE_ADDRESS Strategy m_strategy;
    +
    148 RPP_NO_UNIQUE_ADDRESS mutable DisposablesStrategy m_disposable;
    +
    149 };
    -
    153} // namespace rpp::details
    -
    154
    -
    155namespace rpp
    -
    156{
    +
    150} // namespace rpp::details
    +
    151
    +
    152namespace rpp
    +
    153{
    +
    167 template<constraint::decayed_type Type, constraint::observer_strategy<Type> Strategy>
    +
    168 class observer;
    +
    169
    170 template<constraint::decayed_type Type, constraint::observer_strategy<Type> Strategy>
    -
    171 class observer;
    -
    172
    -
    173 template<constraint::decayed_type Type, constraint::observer_strategy<Type> Strategy>
    -
    -
    174 class observer final : public details::observer_impl<Type, Strategy, details::observers::deduce_disposable_strategy_t<Strategy>>
    -
    175 {
    -
    176 public:
    -
    177 using DisposableStrategy = details::observers::deduce_disposable_strategy_t<Strategy>;
    - -
    179
    -
    180 template<typename... Args>
    -
    181 requires constraint::is_constructible_from<Strategy, Args&&...>
    -
    182 explicit observer(DisposableStrategy strategy, Args&&... args)
    -
    183 : Base{std::move(strategy), std::forward<Args>(args)...}
    -
    184 {
    -
    185 }
    -
    186
    -
    187 template<typename... Args>
    -
    188 requires (constraint::is_constructible_from<Strategy, Args && ...> && !rpp::constraint::variadic_decayed_same_as<observer, Args...>)
    -
    189 explicit observer(Args&&... args)
    -
    190 : Base{DisposableStrategy{}, std::forward<Args>(args)...}
    -
    191 {
    -
    192 }
    +
    +
    171 class observer final : public details::observer_impl<Type, Strategy, details::observers::deduce_disposable_strategy_t<Strategy>>
    +
    172 {
    +
    173 public:
    +
    174 using DisposableStrategy = details::observers::deduce_disposable_strategy_t<Strategy>;
    + +
    176
    +
    177 template<typename... Args>
    +
    178 requires constraint::is_constructible_from<Strategy, Args&&...>
    +
    179 explicit observer(DisposableStrategy strategy, Args&&... args)
    +
    180 : Base{std::move(strategy), std::forward<Args>(args)...}
    +
    181 {
    +
    182 }
    +
    183
    +
    184 template<typename... Args>
    +
    185 requires (constraint::is_constructible_from<Strategy, Args && ...> && !rpp::constraint::variadic_decayed_same_as<observer, Args...>)
    +
    186 explicit observer(Args&&... args)
    +
    187 : Base{DisposableStrategy{}, std::forward<Args>(args)...}
    +
    188 {
    +
    189 }
    +
    190
    +
    191 observer(const observer&) = delete;
    +
    192 observer(observer&&) noexcept = default;
    193
    -
    194 observer(const observer&) = delete;
    -
    195 observer(observer&&) noexcept = default;
    -
    196
    -
    - -
    201 {
    -
    202 return dynamic_observer<Type>{std::move(*this)};
    -
    203 }
    +
    + +
    198 {
    +
    199 return dynamic_observer<Type>{std::move(*this)};
    +
    200 }
    -
    204 };
    +
    201 };
    -
    205
    -
    206 template<constraint::decayed_type Type, constraint::observer_strategy<Type> Strategy, rpp::details::observers::constraint::disposable_strategy DisposableStrategy>
    -
    -
    207 class observer<Type, details::with_disposable_strategy<Strategy, DisposableStrategy>> final
    -
    208 : public details::observer_impl<Type, Strategy, DisposableStrategy>
    -
    209 {
    -
    210 public:
    - -
    212
    -
    213 template<typename... Args>
    -
    214 requires constraint::is_constructible_from<Strategy, Args&&...>
    -
    215 explicit observer(DisposableStrategy strategy, Args&&... args)
    -
    216 : Base{std::move(strategy), std::forward<Args>(args)...}
    -
    217 {
    -
    218 }
    -
    219
    -
    220 template<typename... Args>
    -
    221 requires (constraint::is_constructible_from<Strategy, Args && ...> && !rpp::constraint::variadic_decayed_same_as<observer, Args...>)
    -
    222 explicit observer(Args&&... args)
    -
    223 : Base{DisposableStrategy{}, std::forward<Args>(args)...}
    -
    224 {
    -
    225 }
    +
    202
    +
    203 template<constraint::decayed_type Type, constraint::observer_strategy<Type> Strategy, rpp::details::observers::constraint::disposable_strategy DisposableStrategy>
    +
    +
    204 class observer<Type, details::with_disposable_strategy<Strategy, DisposableStrategy>> final
    +
    205 : public details::observer_impl<Type, Strategy, DisposableStrategy>
    +
    206 {
    +
    207 public:
    + +
    209
    +
    210 template<typename... Args>
    +
    211 requires constraint::is_constructible_from<Strategy, Args&&...>
    +
    212 explicit observer(DisposableStrategy strategy, Args&&... args)
    +
    213 : Base{std::move(strategy), std::forward<Args>(args)...}
    +
    214 {
    +
    215 }
    +
    216
    +
    217 template<typename... Args>
    +
    218 requires (constraint::is_constructible_from<Strategy, Args && ...> && !rpp::constraint::variadic_decayed_same_as<observer, Args...>)
    +
    219 explicit observer(Args&&... args)
    +
    220 : Base{DisposableStrategy{}, std::forward<Args>(args)...}
    +
    221 {
    +
    222 }
    +
    223
    +
    224 observer(const observer&) = delete;
    +
    225 observer(observer&&) noexcept = default;
    226
    -
    227 observer(const observer&) = delete;
    -
    228 observer(observer&&) noexcept = default;
    -
    229
    -
    - -
    234 {
    -
    235 return dynamic_observer<Type>{std::move(*this)};
    -
    236 }
    +
    + +
    231 {
    +
    232 return dynamic_observer<Type>{std::move(*this)};
    +
    233 }
    -
    237 };
    +
    234 };
    -
    238
    -
    239 template<constraint::decayed_type Type>
    -
    - -
    241 : public details::observer_impl<Type, rpp::details::observers::dynamic_strategy<Type>, details::observers::none_disposable_strategy>
    -
    242 {
    -
    243 public:
    -
    244 template<constraint::observer_strategy<Type> TStrategy>
    -
    245 requires (!std::same_as<TStrategy, rpp::details::observers::dynamic_strategy<Type>>)
    - - -
    248 {
    -
    249 }
    -
    250
    -
    251 observer(const observer&) = default;
    -
    252 observer(observer&&) noexcept = default;
    -
    253
    - -
    255 {
    -
    256 return dynamic_observer<Type>{std::move(*this)};
    -
    257 }
    -
    258
    - -
    260 {
    -
    261 return dynamic_observer<Type>{*this};
    -
    262 }
    -
    263 };
    +
    235
    +
    236 template<constraint::decayed_type Type>
    +
    + +
    238 : public details::observer_impl<Type, rpp::details::observers::dynamic_strategy<Type>, details::observers::none_disposable_strategy>
    +
    239 {
    +
    240 public:
    +
    241 template<constraint::observer_strategy<Type> TStrategy>
    +
    242 requires (!std::same_as<TStrategy, rpp::details::observers::dynamic_strategy<Type>>)
    + + +
    245 {
    +
    246 }
    +
    247
    + +
    249 {
    +
    250 return dynamic_observer<Type>{std::move(*this)};
    +
    251 }
    +
    252
    + +
    254 {
    +
    255 return dynamic_observer<Type>{*this};
    +
    256 }
    +
    257 };
    -
    264
    -
    265
    -
    266} // namespace rpp
    +
    258
    +
    259
    +
    260} // namespace rpp
    Definition observer.hpp:29
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_next(Type &&v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:105
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_next(Type &&v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:102
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    Definition dynamic_observer.hpp:43
    -
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:113
    -
    dynamic_observer< Type > as_dynamic() &&
    Convert current observer to type-erased version. Useful if you need to COPY your observer or to store...
    Definition observer.hpp:233
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    -
    dynamic_observer< Type > as_dynamic() &&
    Convert current observer to type-erased version. Useful if you need to COPY your observer or to store...
    Definition observer.hpp:200
    +
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:110
    +
    dynamic_observer< Type > as_dynamic() &&
    Convert current observer to type-erased version. Useful if you need to COPY your observer or to store...
    Definition observer.hpp:230
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    +
    dynamic_observer< Type > as_dynamic() &&
    Convert current observer to type-erased version. Useful if you need to COPY your observer or to store...
    Definition observer.hpp:197
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/on__error__resume__next_8hpp_source.html b/v2/docs/html/on__error__resume__next_8hpp_source.html index b9e348dc8..ffb89aab8 100644 --- a/v2/docs/html/on__error__resume__next_8hpp_source.html +++ b/v2/docs/html/on__error__resume__next_8hpp_source.html @@ -200,12 +200,12 @@
    107 return details::on_error_resume_next_t<std::decay_t<Selector>>{std::forward<Selector>(selector)};
    108 }
    109} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    Definition fwd.hpp:67
    diff --git a/v2/docs/html/operators_2concat_8hpp_source.html b/v2/docs/html/operators_2concat_8hpp_source.html index 4a72618b6..af7c73a72 100644 --- a/v2/docs/html/operators_2concat_8hpp_source.html +++ b/v2/docs/html/operators_2concat_8hpp_source.html @@ -340,8 +340,8 @@
    bool is_disposed() const noexcept final
    Definition composite_disposable.hpp:37
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:60
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:57
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    diff --git a/v2/docs/html/publish__subject_8hpp_source.html b/v2/docs/html/publish__subject_8hpp_source.html index e8b49ab52..1826a4201 100644 --- a/v2/docs/html/publish__subject_8hpp_source.html +++ b/v2/docs/html/publish__subject_8hpp_source.html @@ -188,7 +188,7 @@
    99} // namespace rpp::subjects
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition publish_subject.hpp:23
    Subject which just multicasts values to observers subscribed on it. It contains two parts: observer a...
    Definition publish_subject.hpp:81
    Serialized version of rpp::subjects::publish_subject.
    Definition publish_subject.hpp:95
    diff --git a/v2/docs/html/reduce_8hpp_source.html b/v2/docs/html/reduce_8hpp_source.html index 4974367c4..fd38a4691 100644 --- a/v2/docs/html/reduce_8hpp_source.html +++ b/v2/docs/html/reduce_8hpp_source.html @@ -249,13 +249,13 @@
    176 return details::reduce_no_seed_t<std::decay_t<Accumulator>>{std::forward<Accumulator>(accumulator)};
    177 }
    178} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto reduce(Seed &&seed, Accumulator &&accumulator)
    Apply a function to each item emitted by an Observable, sequentially, and emit the final value.
    Definition reduce.hpp:142
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/replay__subject_8hpp_source.html b/v2/docs/html/replay__subject_8hpp_source.html index 0630237a3..de3719ccd 100644 --- a/v2/docs/html/replay__subject_8hpp_source.html +++ b/v2/docs/html/replay__subject_8hpp_source.html @@ -274,7 +274,7 @@
    182} // namespace rpp::subjects
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition replay_subject.hpp:27
    Definition subject_state.hpp:41
    Same as rpp::subjects::publish_subject but send all earlier emitted values to any new observers.
    Definition replay_subject.hpp:164
    diff --git a/v2/docs/html/rpp_2observables_2fwd_8hpp_source.html b/v2/docs/html/rpp_2observables_2fwd_8hpp_source.html index 755bbcf16..d796da2ae 100644 --- a/v2/docs/html/rpp_2observables_2fwd_8hpp_source.html +++ b/v2/docs/html/rpp_2observables_2fwd_8hpp_source.html @@ -246,11 +246,11 @@
    129 if constexpr (requires { { typename std::decay_t<Op>::template operator_traits<Type>{}}; })
    Extension over rpp::observable with set of blocking operators - it waits till completion of underlyin...
    Definition blocking_observable.hpp:92
    Extension over raw observable with ability to be manually connected at any time or ref_counting (shar...
    Definition connectable_observable.hpp:73
    -
    Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
    Definition dynamic_observable.hpp:91
    +
    Type-erased version of the rpp::observable. Any observable can be converted to dynamic_observable via...
    Definition dynamic_observable.hpp:88
    Extension over rpp::observable for some "subset" of values from original observable grouped by some k...
    Definition grouped_observable.hpp:28
    Definition chain_strategy.hpp:22
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:67
    diff --git a/v2/docs/html/rpp_2observers_2fwd_8hpp_source.html b/v2/docs/html/rpp_2observers_2fwd_8hpp_source.html index 7c8faab31..2baafd248 100644 --- a/v2/docs/html/rpp_2observers_2fwd_8hpp_source.html +++ b/v2/docs/html/rpp_2observers_2fwd_8hpp_source.html @@ -287,8 +287,8 @@
    238 concept observer_of_type = observer<std::decay_t<T>> && std::same_as<rpp::utils::extract_observer_type_t<std::decay_t<T>>, Type>;
    239} // namespace rpp::constraint
    -
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:113
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:110
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:238
    Concept to define strategy to override observer behavior. Strategy must be able to handle all observe...
    Definition fwd.hpp:48
    diff --git a/v2/docs/html/rpp_2sources_2fwd_8hpp_source.html b/v2/docs/html/rpp_2sources_2fwd_8hpp_source.html index 2c529b1de..eace3328d 100644 --- a/v2/docs/html/rpp_2sources_2fwd_8hpp_source.html +++ b/v2/docs/html/rpp_2sources_2fwd_8hpp_source.html @@ -194,7 +194,7 @@
    89 template<schedulers::constraint::scheduler TScheduler>
    90 auto timer(rpp::schedulers::time_point when, TScheduler&& scheduler);
    91} // namespace rpp::source
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:67
    Definition fwd.hpp:235
    Definition fwd.hpp:27
    diff --git a/v2/docs/html/scan_8hpp_source.html b/v2/docs/html/scan_8hpp_source.html index 9b85f0c49..9a629eb12 100644 --- a/v2/docs/html/scan_8hpp_source.html +++ b/v2/docs/html/scan_8hpp_source.html @@ -250,13 +250,13 @@
    189 return details::scan_no_seed_t<std::decay_t<Fn>>{std::forward<Fn>(accumulator)};
    190 }
    191} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto scan(InitialValue &&initial_value, Fn &&accumulator)
    Apply accumulator function for each emission from observable and result of accumulator from previous ...
    Definition scan.hpp:151
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/skip_8hpp_source.html b/v2/docs/html/skip_8hpp_source.html index 59d7ff668..b11877380 100644 --- a/v2/docs/html/skip_8hpp_source.html +++ b/v2/docs/html/skip_8hpp_source.html @@ -179,13 +179,13 @@
    95 return details::skip_t{count};
    96 }
    97} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto skip(size_t count)
    Skip first count items provided by observable then send rest items as expected.
    Definition skip.hpp:89
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/sources_2concat_8hpp_source.html b/v2/docs/html/sources_2concat_8hpp_source.html index 30f74ac13..128127344 100644 --- a/v2/docs/html/sources_2concat_8hpp_source.html +++ b/v2/docs/html/sources_2concat_8hpp_source.html @@ -276,10 +276,10 @@
    220 }
    221} // namespace rpp::source
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:175
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:67
    auto concat(TObservable &&obs, TObservables &&... others)
    Make observable which would merge emissions from underlying observables but without overlapping (curr...
    Definition concat.hpp:168
    diff --git a/v2/docs/html/strategy_8hpp_source.html b/v2/docs/html/strategy_8hpp_source.html index 25bc96ad6..2d8861cdb 100644 --- a/v2/docs/html/strategy_8hpp_source.html +++ b/v2/docs/html/strategy_8hpp_source.html @@ -158,7 +158,7 @@
    54 };
    55} // namespace rpp::operators::details
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    Definition fwd.hpp:238
    Definition fwd.hpp:235
    diff --git a/v2/docs/html/subject__state_8hpp_source.html b/v2/docs/html/subject__state_8hpp_source.html index 1b493c6a7..2cb4a04df 100644 --- a/v2/docs/html/subject__state_8hpp_source.html +++ b/v2/docs/html/subject__state_8hpp_source.html @@ -288,12 +288,12 @@
    179} // namespace rpp::subjects::details
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:175
    Definition disposable_wrapper.hpp:221
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    -
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:113
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:110
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition subject_state.hpp:41
    void dispose() noexcept
    Dispose disposable and free any underlying resources and etc.
    Definition interface_disposable.hpp:36
    diff --git a/v2/docs/html/subscribe_8hpp_source.html b/v2/docs/html/subscribe_8hpp_source.html index adb586d61..3fa838aa9 100644 --- a/v2/docs/html/subscribe_8hpp_source.html +++ b/v2/docs/html/subscribe_8hpp_source.html @@ -445,10 +445,10 @@
    406} // namespace rpp::operators
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    -
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:113
    +
    Type-erased version of the rpp::observer. Any observer can be converted to dynamic_observer via rpp::...
    Definition dynamic_observer.hpp:110
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:60
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:57
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition subscribe.hpp:27
    Concept to define strategy to override observer behavior. Strategy must be able to handle all observe...
    Definition fwd.hpp:48
    diff --git a/v2/docs/html/subscribe__on_8hpp_source.html b/v2/docs/html/subscribe__on_8hpp_source.html index 25dd29666..67e373f0e 100644 --- a/v2/docs/html/subscribe__on_8hpp_source.html +++ b/v2/docs/html/subscribe__on_8hpp_source.html @@ -179,11 +179,11 @@
    83 }
    84} // namespace rpp::operators
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    Definition chain_strategy.hpp:22
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:60
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:57
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:235
    auto subscribe_on(Scheduler &&scheduler)
    OnSubscribe function for this observable will be scheduled via provided scheduler.
    Definition subscribe_on.hpp:80
    diff --git a/v2/docs/html/switch__on__next_8hpp_source.html b/v2/docs/html/switch__on__next_8hpp_source.html index 48d58b0a7..b121f2d09 100644 --- a/v2/docs/html/switch__on__next_8hpp_source.html +++ b/v2/docs/html/switch__on__next_8hpp_source.html @@ -277,7 +277,7 @@
    164} // namespace rpp::operators
    static disposable_wrapper_impl empty()
    Creates disposable_wrapper which behaves like disposed disposable.
    Definition disposable_wrapper.hpp:147
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    diff --git a/v2/docs/html/take_8hpp_source.html b/v2/docs/html/take_8hpp_source.html index 2714f4ee2..31bd62e22 100644 --- a/v2/docs/html/take_8hpp_source.html +++ b/v2/docs/html/take_8hpp_source.html @@ -183,13 +183,13 @@
    98 return details::take_t{count};
    99 }
    100} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto take(size_t count)
    Emit only first count items provided by observable, then send on_completed
    Definition take.hpp:92
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/take__last_8hpp_source.html b/v2/docs/html/take__last_8hpp_source.html index 617fec5fa..c8e1f1d83 100644 --- a/v2/docs/html/take__last_8hpp_source.html +++ b/v2/docs/html/take__last_8hpp_source.html @@ -215,7 +215,7 @@
    126 }
    127} // namespace rpp::operators
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto take_last(size_t count)
    Emit only last count items provided by observable, then send on_completed
    Definition take_last.hpp:119
    diff --git a/v2/docs/html/take__until_8hpp_source.html b/v2/docs/html/take__until_8hpp_source.html index 588c6ee5e..d8f2e5974 100644 --- a/v2/docs/html/take__until_8hpp_source.html +++ b/v2/docs/html/take__until_8hpp_source.html @@ -239,8 +239,8 @@
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:175
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:60
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    void subscribe(observer< Type, ObserverStrategy > &&observer) const
    Subscribes passed observer to emissions from this observable.
    Definition observable.hpp:57
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    auto take_until(TObservable &&until_observable)
    Discard any items emitted by an Observable after a second Observable emits an item or terminates.
    Definition take_until.hpp:137
    diff --git a/v2/docs/html/take__while_8hpp_source.html b/v2/docs/html/take__while_8hpp_source.html index c3b42a6bb..573b09eed 100644 --- a/v2/docs/html/take__while_8hpp_source.html +++ b/v2/docs/html/take__while_8hpp_source.html @@ -182,13 +182,13 @@
    97 return details::take_while_t<std::decay_t<Fn>>{std::forward<Fn>(predicate)};
    98 }
    99} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto take_while(Fn &&predicate)
    Sends items from observable while items are satisfy predicate. When condition becomes false -> sends ...
    Definition take_while.hpp:91
    Definition disposable_strategy.hpp:99
    diff --git a/v2/docs/html/tap_8hpp_source.html b/v2/docs/html/tap_8hpp_source.html index 9e7679c46..a11559532 100644 --- a/v2/docs/html/tap_8hpp_source.html +++ b/v2/docs/html/tap_8hpp_source.html @@ -248,13 +248,13 @@
    167 }
    168} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    Definition fwd.hpp:235
    auto tap(OnError &&on_error)
    Register callbacks to inspect observable emissions and perform side-effects.
    Definition tap.hpp:93
    diff --git a/v2/docs/html/throttle_8hpp_source.html b/v2/docs/html/throttle_8hpp_source.html index c4e3fe4b6..dec694461 100644 --- a/v2/docs/html/throttle_8hpp_source.html +++ b/v2/docs/html/throttle_8hpp_source.html @@ -186,13 +186,13 @@
    105 }
    106} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    -
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:52
    -
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:138
    -
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:123
    -
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:77
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    +
    void set_upstream(const disposable_wrapper &d) noexcept
    Observable calls this method to pass disposable. Observer disposes this disposable WHEN observer want...
    Definition observer.hpp:49
    +
    void on_completed() const noexcept
    Observable calls this method to notify observer about completion of emissions.
    Definition observer.hpp:135
    +
    void on_error(const std::exception_ptr &err) const noexcept
    Observable calls this method to notify observer about some error during generation next data.
    Definition observer.hpp:120
    +
    bool is_disposed() const noexcept
    Observable calls this method to check if observer interested or not in emissions.
    Definition observer.hpp:74
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition strategy.hpp:28
    auto throttle(rpp::schedulers::duration period)
    Emit emission from an Observable and then ignore subsequent values during duration of time.
    Definition throttle.hpp:98
    diff --git a/v2/docs/html/timeout_8hpp_source.html b/v2/docs/html/timeout_8hpp_source.html index f609f7213..cc525d1ca 100644 --- a/v2/docs/html/timeout_8hpp_source.html +++ b/v2/docs/html/timeout_8hpp_source.html @@ -323,7 +323,7 @@
    242} // namespace rpp::operators
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:31
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    diff --git a/v2/docs/html/window_8hpp_source.html b/v2/docs/html/window_8hpp_source.html index f35108fa7..9b927cf34 100644 --- a/v2/docs/html/window_8hpp_source.html +++ b/v2/docs/html/window_8hpp_source.html @@ -238,7 +238,7 @@
    156} // namespace rpp::operators
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition forwarding_subject.hpp:26
    Definition strategy.hpp:28
    diff --git a/v2/docs/html/window__toggle_8hpp_source.html b/v2/docs/html/window__toggle_8hpp_source.html index 56c661f06..50b55cdaf 100644 --- a/v2/docs/html/window__toggle_8hpp_source.html +++ b/v2/docs/html/window__toggle_8hpp_source.html @@ -336,7 +336,7 @@
    248} // namespace rpp::operators
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition forwarding_subject.hpp:26
    Definition strategy.hpp:28
    diff --git a/v2/docs/html/with__latest__from_8hpp_source.html b/v2/docs/html/with__latest__from_8hpp_source.html index fcc8af61b..ca3c426e7 100644 --- a/v2/docs/html/with__latest__from_8hpp_source.html +++ b/v2/docs/html/with__latest__from_8hpp_source.html @@ -304,7 +304,7 @@
    Disposable which can keep some other sub-disposables. When this root disposable is disposed,...
    Definition composite_disposable.hpp:175
    static disposable_wrapper_impl make(TArgs &&... args)
    Way to create disposable_wrapper. Passed TTarget type can be any type derived from TDisposable.
    Definition disposable_wrapper.hpp:133
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition fwd.hpp:67
    diff --git a/v2/docs/html/zip_8hpp_source.html b/v2/docs/html/zip_8hpp_source.html index 926fe1eed..83d341924 100644 --- a/v2/docs/html/zip_8hpp_source.html +++ b/v2/docs/html/zip_8hpp_source.html @@ -199,9 +199,9 @@
    135 return zip(rpp::utils::pack_to_tuple{}, std::forward<TObservable>(observable), std::forward<TObservables>(observables)...);
    136 }
    137} // namespace rpp::operators
    -
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:87
    +
    void on_next(const Type &v) const noexcept
    Observable calls this method to notify observer about new value.
    Definition observer.hpp:84
    Base class for any observable used in RPP. It handles core callbacks of observable.
    Definition observable.hpp:38
    -
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:175
    +
    Base class for any observer used in RPP. It handles core callbacks of observers. Objects of this clas...
    Definition observer.hpp:172
    Definition combining_strategy.hpp:27
    diff --git a/v2/docs/latex/classrpp_1_1blocking__observable.pdf b/v2/docs/latex/classrpp_1_1blocking__observable.pdf index c0c84c813f89b3d32d92adb352b44ed3b57b3212..1082949af3ca5ab608a205e68df8729a15f37587 100644 GIT binary patch delta 200 zcmdn2zgd4nyAZdLS%{&zm9d$XvB~5~LfR<&6GEGL(+n)k&5X@0b&ZUZj5l`(TQX@G znHicJn;Dx#85pPoktUbEZ+?nPVo9ooi@$jZMu>bqy1fk~enFPEJnd zPDVf#1_mz9W`<^lCMJ#sE~aL7HUw3~a@pB&6_+Fyl~fd^rg52?nVWE_s=E5SaRC5x CI5I*2 diff --git a/v2/docs/latex/classrpp_1_1blocking__observable.tex b/v2/docs/latex/classrpp_1_1blocking__observable.tex index 46041d075..6dca29ddc 100644 --- a/v2/docs/latex/classrpp_1_1blocking__observable.tex +++ b/v2/docs/latex/classrpp_1_1blocking__observable.tex @@ -28,10 +28,6 @@ \item {\bfseries observable} (Args \&\&... args) \item -{\bfseries observable} (const \mbox{\hyperlink{classrpp_1_1observable}{observable}} \&)=default -\item -{\bfseries observable} (\mbox{\hyperlink{classrpp_1_1observable}{observable}} \&\&) noexcept=default -\item void \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, Observer\+Strategy $>$ \&\&\mbox{\hyperlink{classrpp_1_1observer}{observer}}) const \begin{DoxyCompactList}\small\item\em Subscribes passed observer to emissions from this observable. \end{DoxyCompactList}\item void \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}} (\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\+\_\+observer}}$<$ Type $>$ \mbox{\hyperlink{classrpp_1_1observer}{observer}}) const diff --git a/v2/docs/latex/classrpp_1_1callback__disposable.pdf b/v2/docs/latex/classrpp_1_1callback__disposable.pdf index 08c342dd328abc510af5debfd6a8f7cc0f39c189..e076a53370fd8ac301d81ad13b647efd6eb48381 100644 GIT binary patch delta 200 zcmcbhcR_E1iV(MvS%{&zm9d$XvB_k8A#D_Xs?cWMGy@BBGh=g0T_fWp2G@CKj($vV+(#*om$jHdq z$k@!l*ucWT%-qb<$;{E&&DhP=&W50hSS~v|uHur!qLPZD)HE(rQ*%=;RaIAiH!c7( C8Zc7; delta 200 zcmcbhcR_E1iV(M2G@CKj!qM2!04U*NXy|C} zWaMgYX=LUMG{DHkz|h3N(9O<oa`xKveL{oS|#UBoa+ diff --git a/v2/docs/latex/classrpp_1_1composite__disposable.pdf b/v2/docs/latex/classrpp_1_1composite__disposable.pdf index b2c65ad6cd1c3dba13b2ce22859e7820675d30f6..95cdac2904836ddd7f11c4ae3db6ede925d4e6a9 100644 GIT binary patch delta 156 zcmaFi_`-3+9%*hPvk*gbD`PV&W0T3prL|G`f2B9`rWsh6n;Dy1>KYj*8E@VzW68u} zWM*h?Yz9>SPfiNX*{mR+&FExgY-HkMYG7vJW@+hSZsBI(Xl&_b?CR#|;$&`UX5waN LLrBHsvkKAxRm>?H delta 156 zcmaFi_`-3+9%*hv(+~r5D-$Ct6Z6T(rL|G`f2B9`8YLzg8=IP&>KY~{C2!sKYj*8E;-9X33;w zWM*h?Y-Vf{WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq8GC9@f0U7VauP0XB~42@l# z-Hc2e-3-i33`|^1ElnMrjoeHv>}&|Ch~=`g<0>vmEGnreN=@T3Gch;dQdM>JcjE#8 DjMOq+ delta 200 zcmX?adfs%yVo`2G(+~r5D-$Ct6Z6UIM72@)PeeEK8YLzg8=IP&>KY~{C2w9LX33;w zXlh_?Vq{_-WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq8GC9@f09StlkOwFAQE!~{m zOpT39jGW9Y&5TUlT#Q{TTn!A2?Q96Dh~=`g<0>vmEGnreN=@T3Gch;dQdM>JcjE#8 DwKYj*8E@VzV#&l| zWM*h?Yz9>SPfQBV*{mR*&FExe>11JI;%H&%W?^n(W@=(=;^b;+YH03gX>4HOWM*t< LLrBHsvl7w(9kM7V delta 156 zcmaE1_`-0*9${`n(+~r5D-$Ct6Z6T(g|$)me}y;m8YLzg8=IP&>KY~{C2!sKYj*8E;-IX34~1 zWM*h?Yz9>SPC^RK*(@NL&FJK8Y2s>NY~bqVYGmMIU}|h)Xk_AQV&LRvXl!C+;o@Xx LLrBHsy;9Nu?JpKY~{C2w9UX34~1 zXlh_?VgywGPC^RK*(@NL&FJLn?C5CZ=4fPS?riR2>SSPOYG!ERXlUSO=;&f%;^by$ LLrBHsy;9NuFHR`0 diff --git a/v2/docs/latex/classrpp_1_1details_1_1disposables_1_1dynamic__disposables__container.pdf b/v2/docs/latex/classrpp_1_1details_1_1disposables_1_1dynamic__disposables__container.pdf index b2b948793e261707a27101911e3cbb503a8ea5e7..9ef6cd1643a82ba8f5ec2348b010d6653e7d2401 100644 GIT binary patch delta 156 zcmX@Ab5v)8q#(DES%{&zm9d$XvFT(LL2VR%l;CFGG(*F*G|MzgT_fWpPB%3kT+|bh1+1%CG*}}=p z(ZIsQ*}&1s(%8__#mv#v(Ad(%&W50hSS~v|uHur!qLPZD)HE(rV*@iTRaIAiH!c8O Cj4-JH delta 200 zcmX@Cb697CxFENoX^4Tjm5Gs+iTPwDL2VR%gy3dgqr^mGV^eceUBkqrPB%3kT(8` diff --git a/v2/docs/latex/classrpp_1_1details_1_1observables_1_1dynamic__strategy.tex b/v2/docs/latex/classrpp_1_1details_1_1observables_1_1dynamic__strategy.tex index c9f8005e1..64f5cd4ee 100644 --- a/v2/docs/latex/classrpp_1_1details_1_1observables_1_1dynamic__strategy.tex +++ b/v2/docs/latex/classrpp_1_1details_1_1observables_1_1dynamic__strategy.tex @@ -17,12 +17,6 @@ {\footnotesize template$<$\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observable__strategy}{rpp\+::constraint\+::observable\+\_\+strategy}}$<$ Type $>$ Strategy$>$ \newline requires (!rpp\+::constraint\+::decayed\+\_\+same\+\_\+as$<$Strategy, \mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\+\_\+strategy}}$<$Type$>$$>$)}\\{\bfseries dynamic\+\_\+strategy} (const \mbox{\hyperlink{classrpp_1_1observable}{observable}}$<$ Type, Strategy $>$ \&obs) \item -\Hypertarget{classrpp_1_1details_1_1observables_1_1dynamic__strategy_a59501a3a20d1f793eccb864592c0f9de}\label{classrpp_1_1details_1_1observables_1_1dynamic__strategy_a59501a3a20d1f793eccb864592c0f9de} -{\bfseries dynamic\+\_\+strategy} (const \mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\+\_\+strategy}} \&)=default -\item -\Hypertarget{classrpp_1_1details_1_1observables_1_1dynamic__strategy_ac4a71d3eb5bfb4f19d83cfb9b6f3d53f}\label{classrpp_1_1details_1_1observables_1_1dynamic__strategy_ac4a71d3eb5bfb4f19d83cfb9b6f3d53f} -{\bfseries dynamic\+\_\+strategy} (\mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\+\_\+strategy}} \&\&) noexcept=default -\item \Hypertarget{classrpp_1_1details_1_1observables_1_1dynamic__strategy_a2342111407e3bdfbed933868b24c6154}\label{classrpp_1_1details_1_1observables_1_1dynamic__strategy_a2342111407e3bdfbed933868b24c6154} {\footnotesize template$<$\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer__strategy}{rpp\+::constraint\+::observer\+\_\+strategy}}$<$ Type $>$ Observer\+Strategy$>$ }\\void {\bfseries subscribe} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, Observer\+Strategy $>$ \&\&\mbox{\hyperlink{classrpp_1_1observer}{observer}}) const \end{DoxyCompactItemize} diff --git a/v2/docs/latex/classrpp_1_1details_1_1observer__impl.tex b/v2/docs/latex/classrpp_1_1details_1_1observer__impl.tex index 3bd5d4d32..ee4a96856 100644 --- a/v2/docs/latex/classrpp_1_1details_1_1observer__impl.tex +++ b/v2/docs/latex/classrpp_1_1details_1_1observer__impl.tex @@ -33,12 +33,6 @@ \Hypertarget{classrpp_1_1details_1_1observer__impl_a14fbcaed2723edff9fb300a7d3da7f5a}\label{classrpp_1_1details_1_1observer__impl_a14fbcaed2723edff9fb300a7d3da7f5a} {\footnotesize template$<$typename... Args$>$ \newline requires constraint\+::is\+\_\+constructible\+\_\+from$<$Strategy, Args\&\&...$>$}\\{\bfseries observer\+\_\+impl} (Disposables\+Strategy strategy, Args \&\&... args) -\item -\Hypertarget{classrpp_1_1details_1_1observer__impl_a1086c5aeaf72f4976434d15225602a37}\label{classrpp_1_1details_1_1observer__impl_a1086c5aeaf72f4976434d15225602a37} -{\bfseries observer\+\_\+impl} (const \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&)=default -\item -\Hypertarget{classrpp_1_1details_1_1observer__impl_a39bca0c357ae3b52feafcc19ad055eb3}\label{classrpp_1_1details_1_1observer__impl_a39bca0c357ae3b52feafcc19ad055eb3} -{\bfseries observer\+\_\+impl} (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&\&) noexcept=default \end{DoxyCompactItemize} diff --git a/v2/docs/latex/classrpp_1_1details_1_1observers_1_1dynamic__strategy.tex b/v2/docs/latex/classrpp_1_1details_1_1observers_1_1dynamic__strategy.tex index 62516f6e9..305717f00 100644 --- a/v2/docs/latex/classrpp_1_1details_1_1observers_1_1dynamic__strategy.tex +++ b/v2/docs/latex/classrpp_1_1details_1_1observers_1_1dynamic__strategy.tex @@ -7,12 +7,6 @@ {\footnotesize template$<$\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer__strategy}{rpp\+::constraint\+::observer\+\_\+strategy}}$<$ Type $>$ Strategy$>$ \newline requires (!rpp\+::constraint\+::decayed\+\_\+same\+\_\+as$<$Strategy, \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\+\_\+strategy}}$<$Type$>$$>$)}\\{\bfseries dynamic\+\_\+strategy} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, Strategy $>$ \&\&obs) \item -\Hypertarget{classrpp_1_1details_1_1observers_1_1dynamic__strategy_ae21114af2cc88e791e8b9b8fbaadba43}\label{classrpp_1_1details_1_1observers_1_1dynamic__strategy_ae21114af2cc88e791e8b9b8fbaadba43} -{\bfseries dynamic\+\_\+strategy} (const \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\+\_\+strategy}} \&)=default -\item -\Hypertarget{classrpp_1_1details_1_1observers_1_1dynamic__strategy_a6f09e2b29e1e926bb9cea3729c14f9c3}\label{classrpp_1_1details_1_1observers_1_1dynamic__strategy_a6f09e2b29e1e926bb9cea3729c14f9c3} -{\bfseries dynamic\+\_\+strategy} (\mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\+\_\+strategy}} \&\&) noexcept=default -\item \Hypertarget{classrpp_1_1details_1_1observers_1_1dynamic__strategy_a2a33de19eabf9a498fa648280e8ffbae}\label{classrpp_1_1details_1_1observers_1_1dynamic__strategy_a2a33de19eabf9a498fa648280e8ffbae} void {\bfseries set\+\_\+upstream} (const \mbox{\hyperlink{group__disposables_ga9608d63c61b7da884b7f975dfa949d3c}{disposable\+\_\+wrapper}} \&d) noexcept \item diff --git a/v2/docs/latex/classrpp_1_1details_1_1refocunt__disposable__inner.pdf b/v2/docs/latex/classrpp_1_1details_1_1refocunt__disposable__inner.pdf index 91e871984a7f1e595b54857bbfc04a4214b08279..92c849029897e94d4357bb4092de8b1f7908bebc 100644 GIT binary patch delta 200 zcmZoRYBt(%U6|X*EX2^<%Gk`x*ktk}VQmz?gve&zGy@BBGh=g0T_fWp7 z%nZ$q&5TW=3=GtPNRvz7H$TNCu_RT)#mdOQ$i%=Hred?Tcs66Kfh*7mb2AfXGfPJ! zQzs`UXD2r^V@Fd{S5tFSBU3j!8-glgx$Nw?ic1oUN-By{)40qG3=OzcRbBnvxB&f> BF_-`V delta 200 zcmZoRYBt(%U6|X@G{nH%%EZXZ#C-B2VQmz?gve%Iqr^mGV^eceUBkqr^;T^;T$ \&\&\mbox{\hyperlink{classrpp_1_1observer}{observer}}) const \begin{DoxyCompactList}\small\item\em Subscribes passed observer to emissions from this observable. \end{DoxyCompactList}\item void \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}} (\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\+\_\+observer}}$<$ Type $>$ \mbox{\hyperlink{classrpp_1_1observer}{observer}}) const diff --git a/v2/docs/latex/classrpp_1_1dynamic__observer.pdf b/v2/docs/latex/classrpp_1_1dynamic__observer.pdf index 09678a909fc61a38f1eda9858d01ceb793df9e9d..4bd8231b08107eee5376b4b73de7e00969c37d21 100644 GIT binary patch delta 156 zcmZ2#xYTe%r7*XVS%{&zm9d$XvB~5XVQm!tF5%6*X$BVNX2#~0x<`&M_uK|yXKvk*gbD`PV&W0T2e1hrB4OhTJ^(+n)k&5X@0b&ZUZj5i+=vSiXS zGBY$cHZwMfGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OD+qS=hG=BADoW|o%5P8N

    VCrb~Xf6#B$l$aTS*&7L`;KrKWM2nwXn$sj9mAyKw;k DPAW0s delta 200 zcmaE>`&M_uK|yXq(+~r5D-$Ct6Z6Su1hrB4OhTJ^jS>@$jZMu>bqy1fk~bd`vSiXS zG&L|cF)}faGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OD+qS=hG7M3o~&aMU)P8QB4 z#wLa?rmhB-W)^OauI46Yu14lgb~Xf6#B$l$aTS*&7L`;KrKWM2nwXn$sj9mAyKw;k Dp_DS0 diff --git a/v2/docs/latex/classrpp_1_1grouped__observable.tex b/v2/docs/latex/classrpp_1_1grouped__observable.tex index 54d072135..560bda654 100644 --- a/v2/docs/latex/classrpp_1_1grouped__observable.tex +++ b/v2/docs/latex/classrpp_1_1grouped__observable.tex @@ -33,10 +33,6 @@ {\footnotesize template$<$typename... Args$>$ \newline requires (!constraint\+::variadic\+\_\+decayed\+\_\+same\+\_\+as$<$\mbox{\hyperlink{classrpp_1_1observable}{observable}}$<$Type, Strategy$>$, Args...$>$ \&\& constraint\+::is\+\_\+constructible\+\_\+from$<$Strategy, Args \&\& ...$>$)}\\{\bfseries observable} (Args \&\&... args) \item -{\bfseries observable} (const \mbox{\hyperlink{classrpp_1_1observable}{observable}} \&)=default -\item -{\bfseries observable} (\mbox{\hyperlink{classrpp_1_1observable}{observable}} \&\&) noexcept=default -\item {\footnotesize template$<$constraint\+::observer\+\_\+strategy$<$ Type $>$ Observer\+Strategy$>$ }\\void \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, Observer\+Strategy $>$ \&\&\mbox{\hyperlink{classrpp_1_1observer}{observer}}) const \begin{DoxyCompactList}\small\item\em Subscribes passed observer to emissions from this observable. \end{DoxyCompactList}\item void \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}} (\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\+\_\+observer}}$<$ Type $>$ \mbox{\hyperlink{classrpp_1_1observer}{observer}}) const diff --git a/v2/docs/latex/classrpp_1_1observable.pdf b/v2/docs/latex/classrpp_1_1observable.pdf index 4c78cda716f0c556f7fc567e50e16d053a42b75d..4d898ac7f72f551523bb41d8235bc59361eecabf 100644 GIT binary patch delta 156 zcmaE<`%-tqUO{dnvk*gbD`PV&W0T1z1hrB4{{%PlrWsh6n;Dy1>KYj*8E@VvWXZ%~ zWM*h?Yz9>SUqlMd*{mp<&FExm}23KY~{C2!s*WXZ%~ zXlh_?VgywGUqlMd*{mp<&FExk;Ou5<>}+V_1b?f=IUZ+ LLrBHsb7Il}T&F2A diff --git a/v2/docs/latex/classrpp_1_1observable.tex b/v2/docs/latex/classrpp_1_1observable.tex index 999b7e535..5cca58467 100644 --- a/v2/docs/latex/classrpp_1_1observable.tex +++ b/v2/docs/latex/classrpp_1_1observable.tex @@ -31,12 +31,6 @@ {\footnotesize template$<$typename... Args$>$ \newline requires (!constraint\+::variadic\+\_\+decayed\+\_\+same\+\_\+as$<$\mbox{\hyperlink{classrpp_1_1observable}{observable}}$<$Type, Strategy$>$, Args...$>$ \&\& constraint\+::is\+\_\+constructible\+\_\+from$<$Strategy, Args \&\& ...$>$)}\\{\bfseries observable} (Args \&\&... args) \item -\Hypertarget{classrpp_1_1observable_a706315f9bdf16b3148216ded9662212a}\label{classrpp_1_1observable_a706315f9bdf16b3148216ded9662212a} -{\bfseries observable} (const \mbox{\hyperlink{classrpp_1_1observable}{observable}} \&)=default -\item -\Hypertarget{classrpp_1_1observable_a5921f47f11c796967f450421358fd720}\label{classrpp_1_1observable_a5921f47f11c796967f450421358fd720} -{\bfseries observable} (\mbox{\hyperlink{classrpp_1_1observable}{observable}} \&\&) noexcept=default -\item {\footnotesize template$<$constraint\+::observer\+\_\+strategy$<$ Type $>$ Observer\+Strategy$>$ }\\void \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, Observer\+Strategy $>$ \&\&\mbox{\hyperlink{classrpp_1_1observer}{observer}}) const \begin{DoxyCompactList}\small\item\em Subscribes passed observer to emissions from this observable. \end{DoxyCompactList}\item void \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}} (\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\+\_\+observer}}$<$ Type $>$ \mbox{\hyperlink{classrpp_1_1observer}{observer}}) const diff --git a/v2/docs/latex/classrpp_1_1observer.pdf b/v2/docs/latex/classrpp_1_1observer.pdf index c0f5f2911a669b477f4b5b6e3f566b5131131da8..48fd654cc99cc791ccdc626cc7ef707521d5eee9 100644 GIT binary patch delta 156 zcmaE+|4e_wE+K9svk*gbD`PV&W0T28g|t!lzlApQrWsh6n;Dy1>KYj*8E@V#Y{|r7 zWM*h?Yz9>SM^p;V*(@iP&FEz2>gsG@ZfxRg?rLITYG&c&>SSVS;$ms$;$rG*=4fPR LLrBHs)8f(qC}t?O delta 156 zcmaE+|4e_wE+KA1(+~r5D-$Ct6Z6SOg|t!lzlApQ8YLzg8=IP&>KY~{C2!s>Y{|r7 zXlh_?VgywGM^p;V*(@iP&FJLnVruH>;^^#XX}=}n;$mRr=w#?-;$mk* KNX6vS;?e+LTq#xn diff --git a/v2/docs/latex/classrpp_1_1observer.tex b/v2/docs/latex/classrpp_1_1observer.tex index d343229e0..db9a14d2d 100644 --- a/v2/docs/latex/classrpp_1_1observer.tex +++ b/v2/docs/latex/classrpp_1_1observer.tex @@ -69,10 +69,6 @@ \begin{DoxyCompactItemize} \item {\bfseries observer\+\_\+impl} (Disposables\+Strategy strategy, Args \&\&... args) -\item -{\bfseries observer\+\_\+impl} (const \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&)=default -\item -{\bfseries observer\+\_\+impl} (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&\&) noexcept=default \end{DoxyCompactItemize} diff --git a/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.pdf b/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4.pdf index dd85d3fb5f2eae0567ee1e37652e627e6162af62..51fdd2015606f592adc410558d807451738a1f54 100644 GIT binary patch delta 199 zcmZoLY%tsqBFt@M7Gh{_Wo%|;Y%)1sSQ~{uRd_RRnt_G6nX$R0u90z)@#atwOC~KN zGedJ@Gh>q|0|Rv+(&WWnyGyVm>)uSQ~{uRd_S6QDUO8v8lPKu3=(Q^5#$xOC~Kt zQv-7oBNOu|0|Rv+(&WRG@CKj(#XKs#l+mz)y&w; z(A3e`+04St+1%2^)Y;tGz{17I&W50hSS~v|uHur!qLPZD)HE(rQ&S5rRaIAiH!cAA C3@{%6 delta 200 zcmdn5w_k6Aun@PQX^4Tjm5Gs+iTPwXA#D_Xh|p$Uqr^mGV^eceUBkqrRG@CKj(a_Y@+|b%(ACAw$;rUj&W50hSS~v|uHur!qLPZD)HE(rQ&S5rRaIAiH!c7^ Cc`%&- diff --git a/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4.tex b/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4.tex index 6529008fa..e656236ec 100644 --- a/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4.tex +++ b/v2/docs/latex/classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4.tex @@ -13,12 +13,6 @@ {\footnotesize template$<$constraint\+::observer\+\_\+strategy$<$ Type $>$ TStrategy$>$ \newline requires (!std\+::same\+\_\+as$<$TStrategy, \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{rpp\+::details\+::observers\+::dynamic\+\_\+strategy}}$<$Type$>$$>$)}\\{\bfseries observer} (\mbox{\hyperlink{classrpp_1_1observer}{observer}}$<$ Type, TStrategy $>$ \&\&other) \item -\Hypertarget{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_af9573129f970e8758d678bd9d5b14442}\label{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_af9573129f970e8758d678bd9d5b14442} -{\bfseries observer} (const \mbox{\hyperlink{classrpp_1_1observer}{observer}} \&)=default -\item -\Hypertarget{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_a630f8652129b6781f2a5b17cbb779700}\label{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_a630f8652129b6781f2a5b17cbb779700} -{\bfseries observer} (\mbox{\hyperlink{classrpp_1_1observer}{observer}} \&\&) noexcept=default -\item \Hypertarget{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_ab254b8e543c2ea417fd26c7169fc4e48}\label{classrpp_1_1observer_3_01_type_00_01rpp_1_1details_1_1observers_1_1dynamic__strategy_3_01_type_01_4_01_4_ab254b8e543c2ea417fd26c7169fc4e48} \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\+\_\+observer}}$<$ Type $>$ {\bfseries as\+\_\+dynamic} () \&\& \item @@ -54,10 +48,6 @@ \begin{DoxyCompactItemize} \item {\bfseries observer\+\_\+impl} (Disposables\+Strategy strategy, Args \&\&... args) -\item -{\bfseries observer\+\_\+impl} (const \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&)=default -\item -{\bfseries observer\+\_\+impl} (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\+\_\+impl}} \&\&) noexcept=default \end{DoxyCompactItemize} diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1combine__latest__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1combine__latest__disposable.pdf index 61b26af1cf4bd68c500df26dc5f9ab7b5ac6b0f4..8d2a16cd8e8f29bc2a9160f9489d61f915814b86 100644 GIT binary patch delta 156 zcmZ2(w%lyPZ&7X|vk*gbD`PV&W7ElOV%jKt8?nv2X@-VrX_jf0x<3=GtPNRvz7H$TNCu_RT)#mdOQ$i%=HregCA@odIeS0f_>M@LIXQ)d@T zLq}IP3pYbk7b7zlCnsk!6LS|!I~#&3V!7<>xQa^>i%KerQq#E149(2BR8?L5-M9dD CpEB(L delta 200 zcmZ2ryuf%vi3qo$X^4Tjm5Gs+iN)l45p5LyR*}uTMoGp=$w_IZx`v5K$(u_>Et#|o zO%2RVj7%(|3=GtPNRvz7H$TNCu_RT)#mdOQ$i%=HregCA@odIea|?4bHzPw=M+-+s zQv+us6E`PwGedJ@V>4$9OA|u_I~#&3V!7<>xQa^>i%KerQq#E149(2BR8?L5-M9dY CS~7_M diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1concat__state__t.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1concat__state__t.pdf index 5158a654727b176df57d4781c20c2316280ad1a0..4e9c84420a8df7e4d112aad13d9bcd42ee9f52e9 100644 GIT binary patch delta 200 zcmaEC`q*^Cc2RC4vk*gbD`PV&W7ElpM72@)KSVe4rWqQhrCFv~>KYj*8E@VpX33;w zWM*h?Y-Vg4WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7nC9@f0%?&J!O`Y5}&|Ch~=`g<0>vmEGnreN=@T3GqE(_QdM>JcjE#8 D9S<_; delta 200 zcmaEC`q*^Cc2RCa(+~r5D-$Ct6N|}*M72@)KSVe48YLMgB`2ks>KY~{C2!s#X33;w zXlh_?Vq{_wWniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7nC9@f0&5Rr^OpJ}q%}t$+ zoD7}JjSXF049rZ7UEC}j-JBgQ>}&|Ch~=`g<0>vmEGnreN=@T3GqE(_QdM>JcjE#8 DZQL`t diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1debounce__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1debounce__disposable.pdf index 68cccbc6df9da1c205bc72e7f804db3a88e42a3b..d4a733432331914d7a6c05cfb28781d7c43b918f 100644 GIT binary patch delta 200 zcmeA(?K9nwB+6}M7Gh{_Wo%|;Y&tntR2zlASadUQnxSD@nq``$u90z)@#bVPOC~KN zGedJ@Gh@>z0|Rv+(&WBAYSR$`4ogG(kNn%k+MNw)RmzjxyDVM6MtG^o;078E< AWnyGyVlg>aR2zlASadV5QIc^|a#EV9u3=(Q^5$eQOC~Kt zQv-7oBNK}#0|Rv+(&WBAYSR%-PY+(bdAj(%jkH z$i>yr!ra-^)ZE0;)Wyuu!q~vj&W50hSS~v|uHur!qLPZD)HE(L69ZE&RaIAiH!c8H Curg%; diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1merge__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1merge__disposable.pdf index 5930a334b75c56254dad2e115436d55d3cee02dc..886171c18aa237dda3006b65b1512dc1f2152d7e 100644 GIT binary patch delta 156 zcmdmCw8Llvj|jJsS%{&zm9d$XvFT)S5p5K{ugGTJG(*F*G|MzgT_fWp`-voJEWbTV=?HFC4FA*dpj%g&CgxFoTtq@pM_jmy;7(ws|G)z#mP3jq0# BF~$G@ delta 200 zcmbQIJ5P5*ks!CBX^4Tjm5Gs+iRI*4L2VTNX2H$8MoB3qW=7_wx`v5K$(xIXESab%}H&-WfBU2+& z3rkZoQx`)wLlb8w7h?lgHy0;II~#&3V!7<>xQa^>i%KerQq#ChjV;Z&R8?L5-M9cd CU^00C diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1switch__on__next__state__t.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1switch__on__next__state__t.pdf index 8f781011bce2d922970837e2ff7793ca65d07108..6fd84dc1b5217c5ee224de64bd3bb954c66b515e 100644 GIT binary patch delta 156 zcmZ2#w$yCHPf>0ovk*gbD`PVtn#>}mjl#DQ+svD0m}FsTU~Z{vWSnHY`Ind_6NizR zp}DacP`$OJ6r8g;Rx+E>$;{Z;!qmvwz|z>lz|z9N+0n$*!qn2z&B@Zh$<4yq$j*k4 JipgBk(f}~jC9D7d delta 156 zcmZ2#w$yCHPf>0|(+~r5D-$Ct6U)ggV%jKtE3wVIMoB3qW=7_wx`v5K$(w(PSu$}L zni`m!7y;E=OG?2xn`0%j8J&z>UCqo~EKFP+&E3pgja-}z94%Z7-AqjkEiB9}+??%f L2&tINB`pmAaqK3w diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1take__until__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1take__until__disposable.pdf index 346e82ee02f11cc097498f7ef635076c88fec60c..c2298ad3614637966d36e8583f405c904d7bc65b 100644 GIT binary patch delta 156 zcmca*bjxUio(Q**S%{&zm9ZHRO|}%#M&aj+Z01cfOtP>vFt^k-GEOqytS@TG#9?G+ zXl`rvFt^k-GEOqyY$|HWq-A7g zXl`s~Y!+o;pbkWuT>8HGDK3d6sTwX;Mg~SE2F5TIn`ek;GsYUZn7BAQni{*98yGnm zxfmLoxEVScIGZ_|nHw2eIGftp5L6M%WoO4#T#{H+Qc;we#${$`V9cee>gw;t1pu}0 BF%rZ~lc|A;siCW} zsi~=xfw`rNv5~8zv4x3=qq&KNoee=1v0Qd`T*W1cMI{wQscBqhh6cu5s;aL3Zd?G| CFELC2 diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1with__latest__from__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1with__latest__from__disposable.pdf index f783ae936dee363bc21dc4a00c378c91219ca68b..94fe0f9baaac2988d24b9d58f16006cb03d51b88 100644 GIT binary patch delta 177 zcmbPZF~?%V2Qh9Vvk*gbD`PV&WAn+s#k5iQhT@xf(~L|Fjm*+4b&ZUZj5mK2w`9^X zGBY$cHZwMlGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OCIQrV17ZblYPhK81APKJ&q hh6d&a76yin=7vU27RJto29}1Vb~c1mOlFjk1^_9ID?$JO delta 177 zcmbPZF~?%V2Qh9#(+~r5D-$CtQ-jIB#k5iQhT@xfjgrlh(=5_Vbqy1fk~e=8w`9^X zG&L|cF)}rXGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OCIQrV1776vZPCdN)~PUe=D h1_q`sPL@ulPDUo?1{RJ+&IaZNb~c1mOlFjk1^|tEEO!6^ diff --git a/v2/docs/latex/classrpp_1_1operators_1_1details_1_1zip__disposable.pdf b/v2/docs/latex/classrpp_1_1operators_1_1details_1_1zip__disposable.pdf index a0ad39aeb65f92353588734a9134f80c1289095a..5d9a105d1c7949e1abbe6fe18818766592ab8649 100644 GIT binary patch delta 156 zcmaE2_QY(1g&4PyS%{&zm9d$XvH4_YF>MrnrPyZPG$T_(BeOJ1T_fWp-76z_n#s*Gq7S47y Lgj7uSl$HhnPOT=& delta 156 zcmaE2_QY(1g&4P?X^4Tjm5Gs+sljAtF>MrnrPyX(qhzz>G>bG-UBkqrVj!sUFjt1ry76!&ZU}r-} J#bi%uX#jB?CX)aF diff --git a/v2/docs/latex/classrpp_1_1refcount__disposable.pdf b/v2/docs/latex/classrpp_1_1refcount__disposable.pdf index 82ddbeabc66cdc2c879d91afd2a1dab51e1b66e5..41baf638155bac2894fa7e94f837279e39d52ddf 100644 GIT binary patch delta 156 zcmZ2szQTM%jTpC)S%{&zm9d$XvB~6iF>Mt7Ua`%*X$BVNX2#~0x<Mt7Ua`%*Mu~~W#-`?`x`v5K$(w7%EtxnB zO%2RVjDYI*NlL*vn;%GKGdh_Xnj2bJx|y0KYj*8E@VuYRRN! zWM*h?Y-Vg8WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq66C9)Y~&5WHKjSZbm4P0DJ zEle$(4UC}&|Ch~=`g<0>vmEGnreN=@T3Gcq>fQdM>JcjE#8 D?WHp9 delta 200 zcmaE8{LpyARuOJP(+~r5D-$CtQ-jF|M6^-(-$XX^8YP=0r&*+#>KY~{C2!s)YRRN! zXlh_?Vq|I%WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq66C9)Y~&0QVM4P4BPos5jl z%$yv}9gW<~91SdufzaI2+}O;{hM*0 diff --git a/v2/docs/latex/classrpp_1_1schedulers_1_1details_1_1specific__schedulable.pdf b/v2/docs/latex/classrpp_1_1schedulers_1_1details_1_1specific__schedulable.pdf index 48a170f03f00d1f6bb8b53574f772dc767c52295..645f5aac58df100ff0b481ce595bfe92bc40c87d 100644 GIT binary patch delta 156 zcmaE2{KR;}4iRo6vk*gbD`PV&WAn*}MYK`)KSeh4rWu(U8kwb8>KYj*8E@VxYRSZ5 zWM*h?Yz9>SOI!-h*(@WG&FJLfYGGn%Y~SAhUWMJrQ;$-3MKY~{C2!s-YRSZ5 zXlh_?VgywGOI!-h*(@WG&FEz6Vrgh>YHa9YU}olM0)eW LLrBHslakT^YB?za diff --git a/v2/docs/latex/classrpp_1_1subjects_1_1details_1_1subject__state.pdf b/v2/docs/latex/classrpp_1_1subjects_1_1details_1_1subject__state.pdf index a99046f707249a2c9b01b1b77375ff9eb192909d..3944a9974ebb44461b3fa17f0d98cecf7862e116 100644 GIT binary patch delta 156 zcmexm`pa~~IZDV(~L|Fjm*+4b&ZUZj5nVbvt;5h zGBY$cHUp{`kd%URHXBK1Gdek&TUxlextbcexS3cw8k?F}n!A`=x)@kG8k!oKTDsZU L5K=MuzLYco%I_zl delta 156 zcmexm`pa~~IZDVjgrlh(=5_Vbqy1fk~g0hvt;5h zG&L|cF#@U=kd%URHXBK1Gdj7tIy)O1nK~OA8@L!cI$O9}I+>UmT3DD_SQweP7&zM5 L5K=MuzLYco1Lr6a diff --git a/v2/docs/latex/classrpp_1_1subjects_1_1publish__subject.pdf b/v2/docs/latex/classrpp_1_1subjects_1_1publish__subject.pdf index a200979a7550a4f48ee9015a111e15b055f32f97..7d4e899ddd96ce5c71a7c5eb957ccfa910c46dc6 100644 GIT binary patch delta 156 zcmZ3bvr1>fKLKtdvk*gbD`PV&WAn+Jg4!s2d%?}TX-1}oMrLW2x<fKLKt-(+~r5D-$CtQ-jHzg4!s2d%?}TM#*N$X%=awx`v5K$(#QRS~77M zni`m!7y;Egh)BUXo0CMc8J!F)jaKYj*8E>8>Xvw5y zWM*h?Y-Vg8WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7>3THFMx;nc#J32eMxtN(b zxf+@~nV7g38yTA$o4T2}x|*1q+u0CQ5zA#~$5mXCSX5F`l$yq6YG`i6rK;-c@5TiH DwP`av delta 200 zcmdn1y;pm~L;-F?(+~r5D-$CtQ-jHK1hi53mjpKR8YP=0r&*+#>KY~{C2yW2Xvw5y zXlh_?Vq|I%WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7>3THFM8d@5=IJ#I^Sh!iZ z0JXZg7`Ym{xLP{98XFk8xfq++*$`9_%VlTBRa}x-R8motn#N^nXl}%%s_N?R#svWR C=`)=G diff --git a/v2/docs/latex/classrpp_1_1subjects_1_1serialized__publish__subject.pdf b/v2/docs/latex/classrpp_1_1subjects_1_1serialized__publish__subject.pdf index 858886af0d0ebb6fab977ec8dfbb1ede0c148aeb..34606550ea3620760fa76f51de0d25c6341c3dbf 100644 GIT binary patch delta 156 zcmbQHGfij1D*?IZh_7hK^!+rWu(U8kwb8>KYj*8E>8_Xvw5y zWM*h?Y-Vg8WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7>2xl`onVT4xS-P4S7@3!+8YP=0r&*+#>KY~{C2yW6Xvw5y zXlh_?Vq|I%WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq7>2xl`oIawGwS~!^)JG(lW hnwVRfx*E7yI9r-qSeQGSyBeB0+u0COF?pe=Gys7{EtUWP diff --git a/v2/docs/latex/dynamic__observable_8hpp_source.tex b/v2/docs/latex/dynamic__observable_8hpp_source.tex index 00772d4b4..15f3c6f9e 100644 --- a/v2/docs/latex/dynamic__observable_8hpp_source.tex +++ b/v2/docs/latex/dynamic__observable_8hpp_source.tex @@ -51,55 +51,52 @@ \DoxyCodeLine{00047\ \ \ \ \ \ \ \ \ \{} \DoxyCodeLine{00048\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{00049\ } -\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\_strategy}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\_strategy}}\&)\ \ \ \ \ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\_strategy}}(\mbox{\hyperlink{classrpp_1_1details_1_1observables_1_1dynamic__strategy}{dynamic\_strategy}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00052\ } -\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ subscribe(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} -\DoxyCodeLine{00055\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \ \ \ \ m\_vtable-\/>subscribe(m\_forwarder.get(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}).as\_dynamic());} -\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00058\ } -\DoxyCodeLine{00059\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }vtable} -\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*subscribe)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\&\&)\{\};} -\DoxyCodeLine{00063\ } -\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}} -\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ vtable*\ create()\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ vtable\ s\_res\{} -\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .subscribe\ =\ forwarding\_subscribe\};} -\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \&s\_res;} -\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \};} -\DoxyCodeLine{00072\ } -\DoxyCodeLine{00073\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ std::shared\_ptr\ m\_forwarder;} -\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ vtable*\ \ \ \ \ \ \ \ \ m\_vtable;} -\DoxyCodeLine{00076\ \ \ \ \ \};} -\DoxyCodeLine{00077\ \}\ \textcolor{comment}{//\ namespace\ rpp::details::observables}} -\DoxyCodeLine{00078\ } -\DoxyCodeLine{00079\ \textcolor{keyword}{namespace\ }rpp} -\DoxyCodeLine{00080\ \{} -\DoxyCodeLine{00089\ \ \ \ \ \textcolor{keyword}{template}} -\DoxyCodeLine{00090\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1observable}{observable}}>} -\DoxyCodeLine{00091\ \ \ \ \ \{} -\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1observable}{base}}\ =\ \mbox{\hyperlink{classrpp_1_1observable}{observable}}>;} +\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ subscribe(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} +\DoxyCodeLine{00052\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \ \ \ \ m\_vtable-\/>subscribe(m\_forwarder.get(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}).as\_dynamic());} +\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00055\ } +\DoxyCodeLine{00056\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }vtable} +\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*subscribe)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\&\&)\{\};} +\DoxyCodeLine{00060\ } +\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}} +\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ vtable*\ create()\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ vtable\ s\_res\{} +\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .subscribe\ =\ forwarding\_subscribe\};} +\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \&s\_res;} +\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \};} +\DoxyCodeLine{00069\ } +\DoxyCodeLine{00070\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ std::shared\_ptr\ m\_forwarder;} +\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ vtable*\ \ \ \ \ \ \ \ \ m\_vtable;} +\DoxyCodeLine{00073\ \ \ \ \ \};} +\DoxyCodeLine{00074\ \}\ \textcolor{comment}{//\ namespace\ rpp::details::observables}} +\DoxyCodeLine{00075\ } +\DoxyCodeLine{00076\ \textcolor{keyword}{namespace\ }rpp} +\DoxyCodeLine{00077\ \{} +\DoxyCodeLine{00086\ \ \ \ \ \textcolor{keyword}{template}} +\DoxyCodeLine{00087\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1observable}{observable}}>} +\DoxyCodeLine{00088\ \ \ \ \ \{} +\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1observable}{base}}\ =\ \mbox{\hyperlink{classrpp_1_1observable}{observable}}>;} +\DoxyCodeLine{00090\ } +\DoxyCodeLine{00091\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }base::base;} \DoxyCodeLine{00093\ } -\DoxyCodeLine{00094\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }base::base;} -\DoxyCodeLine{00096\ } -\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}(\mbox{\hyperlink{classrpp_1_1observable}{base}}\&\&\ b)} -\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\{std::move(b)\}} -\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00101\ } -\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\&\ b)} -\DoxyCodeLine{00103\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\{b\}} -\DoxyCodeLine{00104\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00105\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00106\ \ \ \ \ \};} -\DoxyCodeLine{00107\ \}\ \textcolor{comment}{//\ namespace\ rpp}} +\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}(\mbox{\hyperlink{classrpp_1_1observable}{base}}\&\&\ b)} +\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\{std::move(b)\}} +\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00098\ } +\DoxyCodeLine{00099\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{dynamic\_observable}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\&\ b)} +\DoxyCodeLine{00100\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observable}{base}}\{b\}} +\DoxyCodeLine{00101\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00103\ \ \ \ \ \};} +\DoxyCodeLine{00104\ \}\ \textcolor{comment}{//\ namespace\ rpp}} \end{DoxyCode} diff --git a/v2/docs/latex/dynamic__observer_8hpp_source.tex b/v2/docs/latex/dynamic__observer_8hpp_source.tex index 64dfd69d7..67e41d319 100644 --- a/v2/docs/latex/dynamic__observer_8hpp_source.tex +++ b/v2/docs/latex/dynamic__observer_8hpp_source.tex @@ -54,74 +54,71 @@ \DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \{} \DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{00052\ } -\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\_strategy}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\_strategy}}\&)\ \ \ \ \ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\_strategy}}(\mbox{\hyperlink{classrpp_1_1details_1_1observers_1_1dynamic__strategy}{dynamic\_strategy}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00055\ } -\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ set\_upstream(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&\ d)\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>set\_upstream(m\_forwarder.get(),\ d);\ \}} -\DoxyCodeLine{00057\ } -\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ is\_disposed()\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ \textcolor{keywordflow}{return}\ m\_vtable-\/>is\_disposed(m\_forwarder.get());\ \}} -\DoxyCodeLine{00059\ } -\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_next(\textcolor{keyword}{const}\ Type\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_next\_lvalue(m\_forwarder.get(),\ v);\ \}} -\DoxyCodeLine{00061\ } -\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_next(Type\&\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_next\_rvalue(m\_forwarder.get(),\ std::move(v));\ \}} -\DoxyCodeLine{00063\ } -\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_error(\textcolor{keyword}{const}\ std::exception\_ptr\&\ err)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_error(m\_forwarder.get(),\ err);\ \}} -\DoxyCodeLine{00065\ } -\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_completed()\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_completed(m\_forwarder.get());\ \}} -\DoxyCodeLine{00067\ } -\DoxyCodeLine{00068\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }vtable} -\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_next\_lvalue)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ Type\&)\{\};} -\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_next\_rvalue)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ Type\&\&)\{\};} -\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_error)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ std::exception\_ptr\&)\{\};} -\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_completed)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*)\{\};} +\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ set\_upstream(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&\ d)\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>set\_upstream(m\_forwarder.get(),\ d);\ \}} +\DoxyCodeLine{00054\ } +\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ is\_disposed()\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ \textcolor{keywordflow}{return}\ m\_vtable-\/>is\_disposed(m\_forwarder.get());\ \}} +\DoxyCodeLine{00056\ } +\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_next(\textcolor{keyword}{const}\ Type\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_next\_lvalue(m\_forwarder.get(),\ v);\ \}} +\DoxyCodeLine{00058\ } +\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_next(Type\&\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_next\_rvalue(m\_forwarder.get(),\ std::move(v));\ \}} +\DoxyCodeLine{00060\ } +\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_error(\textcolor{keyword}{const}\ std::exception\_ptr\&\ err)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_error(m\_forwarder.get(),\ err);\ \}} +\DoxyCodeLine{00062\ } +\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ on\_completed()\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}\ \{\ m\_vtable-\/>on\_completed(m\_forwarder.get());\ \}} +\DoxyCodeLine{00064\ } +\DoxyCodeLine{00065\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \textcolor{keyword}{struct\ }vtable} +\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_next\_lvalue)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ Type\&)\{\};} +\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_next\_rvalue)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ Type\&\&)\{\};} +\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_error)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ std::exception\_ptr\&)\{\};} +\DoxyCodeLine{00071\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*on\_completed)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*)\{\};} +\DoxyCodeLine{00072\ } +\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*set\_upstream)(\textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&)\{\};} +\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \ \ \ \ bool\ (*is\_disposed)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*)\{\};} \DoxyCodeLine{00075\ } -\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \ \ \ \ void\ (*set\_upstream)(\textcolor{keywordtype}{void}*,\ \textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&)\{\};} -\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \ \ \ \ bool\ (*is\_disposed)(\textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*)\{\};} -\DoxyCodeLine{00078\ } -\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}} -\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ vtable*\ create()\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ vtable\ s\_res\{} -\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_next\_lvalue\ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller}}(\&Strategy::on\_next)>::call,} -\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_next\_rvalue\ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller}}(\&Strategy::on\_next)>::call,} -\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_error\ \ \ \ \ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::on\_error>::call}},} -\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_completed\ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::on\_completed>::call}},} -\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .set\_upstream\ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::set\_upstream>::call}},} -\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .is\_disposed\ \ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::is\_disposed>::call}},} -\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \};} -\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \&s\_res;} -\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \};} -\DoxyCodeLine{00093\ } -\DoxyCodeLine{00094\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ std::shared\_ptr\ m\_forwarder;} -\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ vtable*\ \ \ \ \ \ \ \ \ m\_vtable;} -\DoxyCodeLine{00097\ \ \ \ \ \};} -\DoxyCodeLine{00098\ \}\ \textcolor{comment}{//\ namespace\ rpp::details::observers}} -\DoxyCodeLine{00099\ } -\DoxyCodeLine{00100\ } -\DoxyCodeLine{00101\ \textcolor{keyword}{namespace\ }rpp} -\DoxyCodeLine{00102\ \{} -\DoxyCodeLine{00111\ \ \ \ \ \textcolor{keyword}{template}} -\DoxyCodeLine{00112\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}>} -\DoxyCodeLine{00113\ \ \ \ \ \{} -\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1observer}{base}}\ =\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}>;} +\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}} +\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ vtable*\ create()\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ vtable\ s\_res\{} +\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_next\_lvalue\ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller}}(\&Strategy::on\_next)>::call,} +\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_next\_rvalue\ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller}}(\&Strategy::on\_next)>::call,} +\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_error\ \ \ \ \ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::on\_error>::call}},} +\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .on\_completed\ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::on\_completed>::call}},} +\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .set\_upstream\ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::set\_upstream>::call}},} +\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .is\_disposed\ \ \ \ =\ \&\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1member__ptr__caller__impl}{member\_ptr\_caller<\&Strategy::is\_disposed>::call}},} +\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \};} +\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \&s\_res;} +\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \};} +\DoxyCodeLine{00090\ } +\DoxyCodeLine{00091\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ std::shared\_ptr\ m\_forwarder;} +\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ vtable*\ \ \ \ \ \ \ \ \ m\_vtable;} +\DoxyCodeLine{00094\ \ \ \ \ \};} +\DoxyCodeLine{00095\ \}\ \textcolor{comment}{//\ namespace\ rpp::details::observers}} +\DoxyCodeLine{00096\ } +\DoxyCodeLine{00097\ } +\DoxyCodeLine{00098\ \textcolor{keyword}{namespace\ }rpp} +\DoxyCodeLine{00099\ \{} +\DoxyCodeLine{00108\ \ \ \ \ \textcolor{keyword}{template}} +\DoxyCodeLine{00109\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}>} +\DoxyCodeLine{00110\ \ \ \ \ \{} +\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1observer}{base}}\ =\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}>;} +\DoxyCodeLine{00112\ } +\DoxyCodeLine{00113\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }base::base;} \DoxyCodeLine{00115\ } -\DoxyCodeLine{00116\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }base::base;} -\DoxyCodeLine{00118\ } -\DoxyCodeLine{00119\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}(\mbox{\hyperlink{classrpp_1_1observer}{base}}\&\&\ b)} -\DoxyCodeLine{00120\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\{std::move(b)\}} -\DoxyCodeLine{00121\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00123\ } -\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\&\ b)} -\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\{b\}} -\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00128\ \ \ \ \ \};} -\DoxyCodeLine{00129\ \}\ \textcolor{comment}{//\ namespace\ rpp}} +\DoxyCodeLine{00116\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}(\mbox{\hyperlink{classrpp_1_1observer}{base}}\&\&\ b)} +\DoxyCodeLine{00117\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\{std::move(b)\}} +\DoxyCodeLine{00118\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00119\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00120\ } +\DoxyCodeLine{00121\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\&\ b)} +\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1observer}{base}}\{b\}} +\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00125\ \ \ \ \ \};} +\DoxyCodeLine{00126\ \}\ \textcolor{comment}{//\ namespace\ rpp}} \end{DoxyCode} diff --git a/v2/docs/latex/observable_8hpp_source.tex b/v2/docs/latex/observable_8hpp_source.tex index 8f8597ce5..87688ee32 100644 --- a/v2/docs/latex/observable_8hpp_source.tex +++ b/v2/docs/latex/observable_8hpp_source.tex @@ -39,199 +39,196 @@ \DoxyCodeLine{00048\ \ \ \ \ \ \ \ \ \{} \DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{00050\ } -\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable}{observable}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observable}{observable}}\&)\ \ \ \ \ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable}{observable}}(\mbox{\hyperlink{classrpp_1_1observable}{observable}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00053\ } -\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} -\DoxyCodeLine{00061\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1observer}{observer}}.\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.subscribe(std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} -\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00065\ } -\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}}(\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} -\DoxyCodeLine{00071\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00072\ \ \ \ \ \ \ \ \ \ \ \ \ subscribe>(std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} -\DoxyCodeLine{00073\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00074\ } -\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} -\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_abd8e59d72e869c1c1eed6acd77c79c0c}{subscribe}}(ObserverStrategy\&\&\ observer\_strategy)\ \textcolor{keyword}{const}} -\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ \textcolor{keyword}{constexpr}\ (\mbox{\hyperlink{conceptrpp_1_1details_1_1observers_1_1has__disposable__strategy}{details::observers::has\_disposable\_strategy}})} -\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{rpp::observer}}>\{std::forward(observer\_strategy)\});} -\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}} -\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{rpp::observer\_with\_disposable}},\ \textcolor{keyword}{typename}\ expected\_disposable\_strategy::disposable\_strategy>\{std::forward(observer\_strategy)\});} -\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00087\ } -\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a18fd127e66c6fab482886fb4e4fdc75b}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ obs)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00112\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!d.is\_disposed())} -\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.subscribe(\mbox{\hyperlink{classrpp_1_1observer}{observer\_with\_disposable}}}}>\{d,\ std::move(obs)\});} -\DoxyCodeLine{00115\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} -\DoxyCodeLine{00116\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00117\ } -\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} -\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a6bf5caf76b18d197fc56780b924b709c}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ ObserverStrategy\&\&\ observer\_strategy)\ \textcolor{keyword}{const}} -\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00130\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{observer\_with\_disposable}}>\{d,\ std::forward(observer\_strategy)\});} -\DoxyCodeLine{00131\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} -\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00133\ } -\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_ac81ee3d805386d492ab54e40ccd6adc2}{subscribe\_with\_disposable}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} -\DoxyCodeLine{00145\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1observer}{observer}}.\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_a677053a7d4cc81ab26dc7f740a6595e6}{rpp::composite\_disposable\_wrapper::make}}<\mbox{\hyperlink{classrpp_1_1composite__disposable__impl}{rpp::composite\_disposable\_impl}}>(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} -\DoxyCodeLine{00148\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_ac80a18753f28c349713dca275a23a085}{composite\_disposable\_wrapper::empty}}();} -\DoxyCodeLine{00149\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00150\ } -\DoxyCodeLine{00158\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} -\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} -\DoxyCodeLine{00160\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_aa236bfd268904fe6cb2a930f6b44cd58}{subscribe\_with\_disposable}}(ObserverStrategy\&\&\ observer\_strategy)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00161\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00162\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_a677053a7d4cc81ab26dc7f740a6595e6}{rpp::composite\_disposable\_wrapper::make}}<\mbox{\hyperlink{classrpp_1_1composite__disposable__impl}{rpp::composite\_disposable\_impl}}>(),\ std::forward(observer\_strategy));} -\DoxyCodeLine{00163\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00164\ } -\DoxyCodeLine{00174\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_afb9bea529786c85a6bc9b0647bde2ef5}{subscribe\_with\_disposable}}(\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} -\DoxyCodeLine{00175\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00176\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ subscribe>(rpp::composite\_disposable\_wrapper::make>(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} -\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00178\ } -\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} -\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} -\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} -\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_af2de791d83ffb2944c69839a08453c61}{subscribe}}(OnNext\&\&\ \ \ \ \ \ on\_next,} -\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnError\&\&\ \ \ \ \ on\_error\ \ \ \ \ =\ \{\},} -\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} -\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }strategy\ =\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1lambda__strategy}{rpp::details::observers::lambda\_strategy}},\ std::decay\_t,\ std::decay\_t>;} -\DoxyCodeLine{00190\ } -\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(observer\_with\_disposable\{std::forward(on\_next),} -\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} -\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)\});} -\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00195\ } -\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} -\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} -\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_ac8041b8bf1b976f07b44356fb44f804d}{subscribe}}(OnNext\&\&\ \ \ \ \ \ on\_next,} -\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00203\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} -\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00206\ } -\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} -\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} -\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} -\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(on\_next,\ on\_error,\ on\_completed)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_acb875b06e348c6d77706e6d04aed4944}{subscribe\_with\_disposable}}(OnNext\&\&\ on\_next,\ OnError\&\&\ on\_error\ =\ \{\},\ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} -\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ res\ =\ rpp::composite\_disposable\_wrapper::make>();} -\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(make\_lambda\_observer(res,} -\DoxyCodeLine{00221\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_next),} -\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} -\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)));} -\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ res;} -\DoxyCodeLine{00225\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00226\ } -\DoxyCodeLine{00234\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} -\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} -\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(on\_next,\ on\_error,\ on\_completed)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_aa264608e3b4b845fa739b32c2e44d167}{subscribe\_with\_disposable}}(OnNext\&\&\ on\_next,\ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00237\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00238\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_ac81ee3d805386d492ab54e40ccd6adc2}{subscribe\_with\_disposable}}(std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} -\DoxyCodeLine{00239\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00240\ } -\DoxyCodeLine{00263\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} -\DoxyCodeLine{00264\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} -\DoxyCodeLine{00265\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} -\DoxyCodeLine{00266\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_ace715f6f4dbbee4f7b0000fd32f75c8c}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ OnNext\&\&\ on\_next,\ OnError\&\&\ on\_error\ =\ \{\},\ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} -\DoxyCodeLine{00267\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00268\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!d.is\_disposed())} -\DoxyCodeLine{00269\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(make\_lambda\_observer(d,} -\DoxyCodeLine{00270\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_next),} -\DoxyCodeLine{00271\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} -\DoxyCodeLine{00272\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)));} -\DoxyCodeLine{00273\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} -\DoxyCodeLine{00274\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00275\ } -\DoxyCodeLine{00298\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} -\DoxyCodeLine{00299\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} -\DoxyCodeLine{00300\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a09b6bd77bdb6b86f06b7f21897db4b0b}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ OnNext\&\&\ on\_next,\ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00301\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00302\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(d,\ std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} -\DoxyCodeLine{00303\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00304\ } -\DoxyCodeLine{00308\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classrpp_1_1observable_ab820514612d4314b99528525db6afd4f}{as\_dynamic}}()\ const\ \&\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{rpp::dynamic\_observable}}\{*\textcolor{keyword}{this}\};\ \}} -\DoxyCodeLine{00309\ } -\DoxyCodeLine{00313\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classrpp_1_1observable_a7f3a86ce4541938d7e4c7c73f883b30b}{as\_dynamic}}()\ \&\&\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{rpp::dynamic\_observable}}\{std::move(*\textcolor{keyword}{this})\};\ \}} -\DoxyCodeLine{00314\ } -\DoxyCodeLine{00315\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00316\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} -\DoxyCodeLine{00317\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00318\ \ \ \ \ \ \ \ \ \ \ \ \ RPP\_CHECK\_IF\_TRAIT\_ASSERTS\_SATISFIED(Op,\ Type)} -\DoxyCodeLine{00319\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ inner\_make\_chain\_operator(std::forward(op));} -\DoxyCodeLine{00320\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00321\ } -\DoxyCodeLine{00322\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00323\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \&\&} -\DoxyCodeLine{00324\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00325\ \ \ \ \ \ \ \ \ \ \ \ \ RPP\_CHECK\_IF\_TRAIT\_ASSERTS\_SATISFIED(Op,\ Type)} -\DoxyCodeLine{00326\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(*this).inner\_make\_chain\_operator(std::forward(op));} -\DoxyCodeLine{00327\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00328\ } -\DoxyCodeLine{00329\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00330\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} -\DoxyCodeLine{00331\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00332\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::forward(op)(*this);} -\DoxyCodeLine{00333\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00334\ } -\DoxyCodeLine{00335\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00336\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \&\&} -\DoxyCodeLine{00337\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00338\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::forward(op)(std::move(*\textcolor{keyword}{this}));} -\DoxyCodeLine{00339\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00340\ } -\DoxyCodeLine{00341\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00342\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1operators_1_1details_1_1subscribe__t}{rpp::operators::details::subscribe\_t}}\&\ op)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00343\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00344\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ op(*\textcolor{keyword}{this});} -\DoxyCodeLine{00345\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00346\ } -\DoxyCodeLine{00347\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00348\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(\mbox{\hyperlink{classrpp_1_1operators_1_1details_1_1subscribe__t}{rpp::operators::details::subscribe\_t}}\&\&\ op)\textcolor{keyword}{\ const}} -\DoxyCodeLine{00349\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} -\DoxyCodeLine{00350\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(op)(*this);} -\DoxyCodeLine{00351\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00352\ } -\DoxyCodeLine{00353\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ Op>} -\DoxyCodeLine{00354\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ pipe(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} -\DoxyCodeLine{00355\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00356\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this}\ |\ std::forward(op);} -\DoxyCodeLine{00357\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00358\ } -\DoxyCodeLine{00359\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ Op>} -\DoxyCodeLine{00360\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ pipe(Op\&\&\ op)\ \&\&} -\DoxyCodeLine{00361\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00362\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(*\textcolor{keyword}{this})\ |\ std::forward(op);} -\DoxyCodeLine{00363\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00364\ } -\DoxyCodeLine{00365\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00366\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00367\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ inner\_make\_chain\_operator(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} -\DoxyCodeLine{00368\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00369\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ observable::template\ operator\_traits::result\_type,\ make\_chain\_observable\_t,\ Strategy>>\{std::forward(op),\ m\_strategy\};} -\DoxyCodeLine{00370\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00371\ } -\DoxyCodeLine{00372\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} -\DoxyCodeLine{00373\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ inner\_make\_chain\_operator(Op\&\&\ op)\ \&\&} -\DoxyCodeLine{00374\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00375\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ observable::template\ operator\_traits::result\_type,\ make\_chain\_observable\_t,\ Strategy>>\{std::forward(op),\ std::move(m\_strategy)\};} -\DoxyCodeLine{00376\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00377\ } -\DoxyCodeLine{00378\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00379\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ Strategy\ m\_strategy;} -\DoxyCodeLine{00380\ \ \ \ \ \};} -\DoxyCodeLine{00381\ \}\ \textcolor{comment}{//\ namespace\ rpp}} +\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} +\DoxyCodeLine{00058\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1observer}{observer}}.\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.subscribe(std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} +\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00062\ } +\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_aa2621e98393f224a7689c6e08003c027}{subscribe}}(\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} +\DoxyCodeLine{00068\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \ \ \ \ subscribe>(std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} +\DoxyCodeLine{00070\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00071\ } +\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} +\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_abd8e59d72e869c1c1eed6acd77c79c0c}{subscribe}}(ObserverStrategy\&\&\ observer\_strategy)\ \textcolor{keyword}{const}} +\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ \textcolor{keyword}{constexpr}\ (\mbox{\hyperlink{conceptrpp_1_1details_1_1observers_1_1has__disposable__strategy}{details::observers::has\_disposable\_strategy}})} +\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{rpp::observer}}>\{std::forward(observer\_strategy)\});} +\DoxyCodeLine{00081\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{else}} +\DoxyCodeLine{00082\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{rpp::observer\_with\_disposable}},\ \textcolor{keyword}{typename}\ expected\_disposable\_strategy::disposable\_strategy>\{std::forward(observer\_strategy)\});} +\DoxyCodeLine{00083\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00084\ } +\DoxyCodeLine{00107\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00108\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a18fd127e66c6fab482886fb4e4fdc75b}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ obs)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00109\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!d.is\_disposed())} +\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.subscribe(\mbox{\hyperlink{classrpp_1_1observer}{observer\_with\_disposable}}}}>\{d,\ std::move(obs)\});} +\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} +\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00114\ } +\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} +\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a6bf5caf76b18d197fc56780b924b709c}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ ObserverStrategy\&\&\ observer\_strategy)\ \textcolor{keyword}{const}} +\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1observer}{observer\_with\_disposable}}>\{d,\ std::forward(observer\_strategy)\});} +\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} +\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00130\ } +\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_ac81ee3d805386d492ab54e40ccd6adc2}{subscribe\_with\_disposable}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} +\DoxyCodeLine{00142\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1observer}{observer}}.\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_a677053a7d4cc81ab26dc7f740a6595e6}{rpp::composite\_disposable\_wrapper::make}}<\mbox{\hyperlink{classrpp_1_1composite__disposable__impl}{rpp::composite\_disposable\_impl}}>(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} +\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_ac80a18753f28c349713dca275a23a085}{composite\_disposable\_wrapper::empty}}();} +\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00147\ } +\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ ObserverStrategy>} +\DoxyCodeLine{00156\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!\mbox{\hyperlink{conceptrpp_1_1constraint_1_1observer}{constraint::observer}})} +\DoxyCodeLine{00157\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_aa236bfd268904fe6cb2a930f6b44cd58}{subscribe\_with\_disposable}}(ObserverStrategy\&\&\ observer\_strategy)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00158\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00159\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(\mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl_a677053a7d4cc81ab26dc7f740a6595e6}{rpp::composite\_disposable\_wrapper::make}}<\mbox{\hyperlink{classrpp_1_1composite__disposable__impl}{rpp::composite\_disposable\_impl}}>(),\ std::forward(observer\_strategy));} +\DoxyCodeLine{00160\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00161\ } +\DoxyCodeLine{00171\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(observer)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_afb9bea529786c85a6bc9b0647bde2ef5}{subscribe\_with\_disposable}}(\mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}})\textcolor{keyword}{\ const}} +\DoxyCodeLine{00172\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00173\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ subscribe>(rpp::composite\_disposable\_wrapper::make>(),\ std::move(\mbox{\hyperlink{classrpp_1_1observer}{observer}}));} +\DoxyCodeLine{00174\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00175\ } +\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} +\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} +\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} +\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_af2de791d83ffb2944c69839a08453c61}{subscribe}}(OnNext\&\&\ \ \ \ \ \ on\_next,} +\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnError\&\&\ \ \ \ \ on\_error\ \ \ \ \ =\ \{\},} +\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} +\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }strategy\ =\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1lambda__strategy}{rpp::details::observers::lambda\_strategy}},\ std::decay\_t,\ std::decay\_t>;} +\DoxyCodeLine{00187\ } +\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(observer\_with\_disposable\{std::forward(on\_next),} +\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} +\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)\});} +\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00192\ } +\DoxyCodeLine{00196\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} +\DoxyCodeLine{00197\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} +\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1observable_ac8041b8bf1b976f07b44356fb44f804d}{subscribe}}(OnNext\&\&\ \ \ \ \ \ on\_next,} +\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00200\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} +\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00203\ } +\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} +\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} +\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} +\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(on\_next,\ on\_error,\ on\_completed)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_acb875b06e348c6d77706e6d04aed4944}{subscribe\_with\_disposable}}(OnNext\&\&\ on\_next,\ OnError\&\&\ on\_error\ =\ \{\},\ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} +\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ res\ =\ rpp::composite\_disposable\_wrapper::make>();} +\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(make\_lambda\_observer(res,} +\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_next),} +\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} +\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)));} +\DoxyCodeLine{00221\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ res;} +\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00223\ } +\DoxyCodeLine{00231\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} +\DoxyCodeLine{00232\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} +\DoxyCodeLine{00233\ \ \ \ \ \ \ \ \ [[nodiscard(\textcolor{stringliteral}{"{}Use\ returned\ disposable\ or\ use\ subscribe(on\_next,\ on\_error,\ on\_completed)\ instead"{}})]]\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_aa264608e3b4b845fa739b32c2e44d167}{subscribe\_with\_disposable}}(OnNext\&\&\ on\_next,\ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00234\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_ac81ee3d805386d492ab54e40ccd6adc2}{subscribe\_with\_disposable}}(std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} +\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00237\ } +\DoxyCodeLine{00260\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnNext,} +\DoxyCodeLine{00261\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable\ OnError\ \ \ \ \ =\ rpp::utils::rethrow\_error\_t,} +\DoxyCodeLine{00262\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ OnCompleted\ =\ rpp::utils::empty\_function\_t<>>} +\DoxyCodeLine{00263\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_ace715f6f4dbbee4f7b0000fd32f75c8c}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ OnNext\&\&\ on\_next,\ OnError\&\&\ on\_error\ =\ \{\},\ OnCompleted\&\&\ on\_completed\ =\ \{\})\ \textcolor{keyword}{const}} +\DoxyCodeLine{00264\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00265\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!d.is\_disposed())} +\DoxyCodeLine{00266\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(make\_lambda\_observer(d,} +\DoxyCodeLine{00267\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_next),} +\DoxyCodeLine{00268\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_error),} +\DoxyCodeLine{00269\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::forward(on\_completed)));} +\DoxyCodeLine{00270\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ d;} +\DoxyCodeLine{00271\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00272\ } +\DoxyCodeLine{00295\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ OnNext,} +\DoxyCodeLine{00296\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::invocable<>\ \ \ \ \ OnCompleted>} +\DoxyCodeLine{00297\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\ \mbox{\hyperlink{classrpp_1_1observable_a09b6bd77bdb6b86f06b7f21897db4b0b}{subscribe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{composite\_disposable\_wrapper}}\&\ d,\ OnNext\&\&\ on\_next,\ OnCompleted\&\&\ on\_completed)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00298\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00299\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1observable_a193b0e08c516912c04afd8379ec27182}{subscribe}}(d,\ std::forward(on\_next),\ rpp::utils::rethrow\_error\_t\{\},\ std::forward(on\_completed));} +\DoxyCodeLine{00300\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00301\ } +\DoxyCodeLine{00305\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classrpp_1_1observable_ab820514612d4314b99528525db6afd4f}{as\_dynamic}}()\ const\ \&\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{rpp::dynamic\_observable}}\{*\textcolor{keyword}{this}\};\ \}} +\DoxyCodeLine{00306\ } +\DoxyCodeLine{00310\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classrpp_1_1observable_a7f3a86ce4541938d7e4c7c73f883b30b}{as\_dynamic}}()\ \&\&\ \{\ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observable}{rpp::dynamic\_observable}}\{std::move(*\textcolor{keyword}{this})\};\ \}} +\DoxyCodeLine{00311\ } +\DoxyCodeLine{00312\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00313\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} +\DoxyCodeLine{00314\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00315\ \ \ \ \ \ \ \ \ \ \ \ \ RPP\_CHECK\_IF\_TRAIT\_ASSERTS\_SATISFIED(Op,\ Type)} +\DoxyCodeLine{00316\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ inner\_make\_chain\_operator(std::forward(op));} +\DoxyCodeLine{00317\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00318\ } +\DoxyCodeLine{00319\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00320\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \&\&} +\DoxyCodeLine{00321\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00322\ \ \ \ \ \ \ \ \ \ \ \ \ RPP\_CHECK\_IF\_TRAIT\_ASSERTS\_SATISFIED(Op,\ Type)} +\DoxyCodeLine{00323\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(*this).inner\_make\_chain\_operator(std::forward(op));} +\DoxyCodeLine{00324\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00325\ } +\DoxyCodeLine{00326\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00327\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} +\DoxyCodeLine{00328\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00329\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::forward(op)(*this);} +\DoxyCodeLine{00330\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00331\ } +\DoxyCodeLine{00332\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00333\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(Op\&\&\ op)\ \&\&} +\DoxyCodeLine{00334\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00335\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::forward(op)(std::move(*\textcolor{keyword}{this}));} +\DoxyCodeLine{00336\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00337\ } +\DoxyCodeLine{00338\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00339\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1operators_1_1details_1_1subscribe__t}{rpp::operators::details::subscribe\_t}}\&\ op)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00340\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00341\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ op(*\textcolor{keyword}{this});} +\DoxyCodeLine{00342\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00343\ } +\DoxyCodeLine{00344\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00345\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ operator|(\mbox{\hyperlink{classrpp_1_1operators_1_1details_1_1subscribe__t}{rpp::operators::details::subscribe\_t}}\&\&\ op)\textcolor{keyword}{\ const}} +\DoxyCodeLine{00346\ \textcolor{keyword}{\ \ \ \ \ \ \ \ }\{} +\DoxyCodeLine{00347\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(op)(*this);} +\DoxyCodeLine{00348\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00349\ } +\DoxyCodeLine{00350\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ Op>} +\DoxyCodeLine{00351\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ pipe(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} +\DoxyCodeLine{00352\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00353\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ *\textcolor{keyword}{this}\ |\ std::forward(op);} +\DoxyCodeLine{00354\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00355\ } +\DoxyCodeLine{00356\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ Op>} +\DoxyCodeLine{00357\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ pipe(Op\&\&\ op)\ \&\&} +\DoxyCodeLine{00358\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00359\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ std::move(*\textcolor{keyword}{this})\ |\ std::forward(op);} +\DoxyCodeLine{00360\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00361\ } +\DoxyCodeLine{00362\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00363\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00364\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ inner\_make\_chain\_operator(Op\&\&\ op)\ \textcolor{keyword}{const}\ \&} +\DoxyCodeLine{00365\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00366\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ observable::template\ operator\_traits::result\_type,\ make\_chain\_observable\_t,\ Strategy>>\{std::forward(op),\ m\_strategy\};} +\DoxyCodeLine{00367\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00368\ } +\DoxyCodeLine{00369\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ Op>} +\DoxyCodeLine{00370\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ inner\_make\_chain\_operator(Op\&\&\ op)\ \&\&} +\DoxyCodeLine{00371\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00372\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ observable::template\ operator\_traits::result\_type,\ make\_chain\_observable\_t,\ Strategy>>\{std::forward(op),\ std::move(m\_strategy)\};} +\DoxyCodeLine{00373\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00374\ } +\DoxyCodeLine{00375\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00376\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ Strategy\ m\_strategy;} +\DoxyCodeLine{00377\ \ \ \ \ \};} +\DoxyCodeLine{00378\ \}\ \textcolor{comment}{//\ namespace\ rpp}} \end{DoxyCode} diff --git a/v2/docs/latex/observer_8hpp_source.tex b/v2/docs/latex/observer_8hpp_source.tex index edd2a03bd..19d751938 100644 --- a/v2/docs/latex/observer_8hpp_source.tex +++ b/v2/docs/latex/observer_8hpp_source.tex @@ -40,185 +40,179 @@ \DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \{} \DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \}} \DoxyCodeLine{00038\ } -\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}\&)\ \ \ \ \ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}(\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} +\DoxyCodeLine{00039\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{preferred\_disposable\_strategy}}\ =\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{observers::none\_disposable\_strategy}};} \DoxyCodeLine{00041\ } -\DoxyCodeLine{00042\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{preferred\_disposable\_strategy}}\ =\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{observers::none\_disposable\_strategy}};} +\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }on\_next\_lvalue\ =\ void\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}::*)(\textcolor{keyword}{const}\ Type\&)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept};} +\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }on\_next\_rvalue\ =\ void\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}::*)(Type\&\&)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept};} \DoxyCodeLine{00044\ } -\DoxyCodeLine{00045\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }on\_next\_lvalue\ =\ void\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}::*)(\textcolor{keyword}{const}\ Type\&)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept};} -\DoxyCodeLine{00046\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }on\_next\_rvalue\ =\ void\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{observer\_impl}}::*)(Type\&\&)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept};} -\DoxyCodeLine{00047\ } -\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a3ae7822fe5f962a69ee190af8ff8f0e2}{set\_upstream}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&\ d)\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00056\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ d.dispose();} -\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return};} -\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00059\ } -\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} -\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.add(d);} -\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.set\_upstream(d);} -\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} -\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00067\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} -\DoxyCodeLine{00068\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00069\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00070\ } -\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}()\ const\ noexcept} -\DoxyCodeLine{00078\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00079\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ m\_disposable.is\_disposed()\ ||\ m\_strategy.is\_disposed();} -\DoxyCodeLine{00080\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00081\ } -\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a14747a5260ecc183a6d0f1adafee4f68}{on\_next}}(\textcolor{keyword}{const}\ Type\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} -\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_next(v);} -\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} -\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00096\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} -\DoxyCodeLine{00097\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00098\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00099\ } -\DoxyCodeLine{00105\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a3f97f7bceb8484af908ed4134d88104b}{on\_next}}(Type\&\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00106\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00107\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} -\DoxyCodeLine{00108\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_next(std::move(v));} -\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} -\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00114\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} -\DoxyCodeLine{00115\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00116\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00117\ } -\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(\textcolor{keyword}{const}\ std::exception\_ptr\&\ err)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} -\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rpp::utils::finally\_action\ \textcolor{keywordflow}{finally}\{[\&]\ \{} -\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.dispose();} -\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\};} -\DoxyCodeLine{00130\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_error(err);} -\DoxyCodeLine{00131\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00132\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00133\ } -\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a7a73f13eae52effde01a2d3b2cf1d1b4}{on\_completed}}()\ const\ noexcept} -\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} -\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rpp::utils::finally\_action\ \textcolor{keywordflow}{finally}\{[\&]\ \{} -\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.dispose();} -\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\};} -\DoxyCodeLine{00145\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_completed();} -\DoxyCodeLine{00146\ \ \ \ \ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00148\ } -\DoxyCodeLine{00149\ \ \ \ \ \textcolor{keyword}{private}:} -\DoxyCodeLine{00150\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ Strategy\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy;} -\DoxyCodeLine{00151\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ \textcolor{keyword}{mutable}\ DisposablesStrategy\ m\_disposable;} -\DoxyCodeLine{00152\ \ \ \ \ \};} -\DoxyCodeLine{00153\ \}\ \textcolor{comment}{//\ namespace\ rpp::details}} -\DoxyCodeLine{00154\ } -\DoxyCodeLine{00155\ \textcolor{keyword}{namespace\ }rpp} -\DoxyCodeLine{00156\ \{} +\DoxyCodeLine{00049\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a3ae7822fe5f962a69ee190af8ff8f0e2}{set\_upstream}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1disposable__wrapper__impl}{disposable\_wrapper}}\&\ d)\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00050\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00051\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00052\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00053\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ d.dispose();} +\DoxyCodeLine{00054\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return};} +\DoxyCodeLine{00055\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00056\ } +\DoxyCodeLine{00057\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} +\DoxyCodeLine{00058\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00059\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.add(d);} +\DoxyCodeLine{00060\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.set\_upstream(d);} +\DoxyCodeLine{00061\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00062\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} +\DoxyCodeLine{00063\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00064\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} +\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00066\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00067\ } +\DoxyCodeLine{00074\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}()\ const\ noexcept} +\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00076\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ m\_disposable.is\_disposed()\ ||\ m\_strategy.is\_disposed();} +\DoxyCodeLine{00077\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00078\ } +\DoxyCodeLine{00084\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a14747a5260ecc183a6d0f1adafee4f68}{on\_next}}(\textcolor{keyword}{const}\ Type\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00085\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00086\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} +\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00089\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_next(v);} +\DoxyCodeLine{00090\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00091\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} +\DoxyCodeLine{00092\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00093\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} +\DoxyCodeLine{00094\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00095\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00096\ } +\DoxyCodeLine{00102\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a3f97f7bceb8484af908ed4134d88104b}{on\_next}}(Type\&\&\ v)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00103\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00104\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{try}} +\DoxyCodeLine{00105\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00106\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00107\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_next(std::move(v));} +\DoxyCodeLine{00108\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{catch}\ (...)} +\DoxyCodeLine{00110\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00111\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(std::current\_exception());} +\DoxyCodeLine{00112\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00113\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00114\ } +\DoxyCodeLine{00120\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_aa55c5a334bc39c92218f7b51e5126bbc}{on\_error}}(\textcolor{keyword}{const}\ std::exception\_ptr\&\ err)\ \textcolor{keyword}{const}\ \textcolor{keyword}{noexcept}} +\DoxyCodeLine{00121\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00122\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00123\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00124\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rpp::utils::finally\_action\ \textcolor{keywordflow}{finally}\{[\&]\ \{} +\DoxyCodeLine{00125\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.dispose();} +\DoxyCodeLine{00126\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\};} +\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_error(err);} +\DoxyCodeLine{00128\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00129\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00130\ } +\DoxyCodeLine{00135\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_a7a73f13eae52effde01a2d3b2cf1d1b4}{on\_completed}}()\ const\ noexcept} +\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00137\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (!\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl_ab4d6f3e513e55f94547c8fa4d042f0cb}{is\_disposed}}())} +\DoxyCodeLine{00138\ \ \ \ \ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00139\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ rpp::utils::finally\_action\ \textcolor{keywordflow}{finally}\{[\&]\ \{} +\DoxyCodeLine{00140\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_disposable.dispose();} +\DoxyCodeLine{00141\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}\};} +\DoxyCodeLine{00142\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy.on\_completed();} +\DoxyCodeLine{00143\ \ \ \ \ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00144\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00145\ } +\DoxyCodeLine{00146\ \ \ \ \ \textcolor{keyword}{private}:} +\DoxyCodeLine{00147\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ Strategy\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ m\_strategy;} +\DoxyCodeLine{00148\ \ \ \ \ \ \ \ \ RPP\_NO\_UNIQUE\_ADDRESS\ \textcolor{keyword}{mutable}\ DisposablesStrategy\ m\_disposable;} +\DoxyCodeLine{00149\ \ \ \ \ \};} +\DoxyCodeLine{00150\ \}\ \textcolor{comment}{//\ namespace\ rpp::details}} +\DoxyCodeLine{00151\ } +\DoxyCodeLine{00152\ \textcolor{keyword}{namespace\ }rpp} +\DoxyCodeLine{00153\ \{} +\DoxyCodeLine{00167\ \ \ \ \ \textcolor{keyword}{template}\ Strategy>} +\DoxyCodeLine{00168\ \ \ \ \ \textcolor{keyword}{class\ }observer;} +\DoxyCodeLine{00169\ } \DoxyCodeLine{00170\ \ \ \ \ \textcolor{keyword}{template}\ Strategy>} -\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keyword}{class\ }observer;} -\DoxyCodeLine{00172\ } -\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keyword}{template}\ Strategy>} -\DoxyCodeLine{00174\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}>} -\DoxyCodeLine{00175\ \ \ \ \ \{} -\DoxyCodeLine{00176\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }DisposableStrategy\ =\ details::observers::deduce\_disposable\_strategy\_t;} -\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}>;} -\DoxyCodeLine{00179\ } -\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ constraint::is\_constructible\_from} -\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(DisposableStrategy\ strategy,\ Args\&\&...\ args)} -\DoxyCodeLine{00183\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{std::move(strategy),\ std::forward(args)...\}} -\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00186\ } -\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (constraint::is\_constructible\_from\ \&\&\ !rpp::constraint::variadic\_decayed\_same\_as<\mbox{\hyperlink{classrpp_1_1observer}{observer}},\ Args...>)} -\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(Args\&\&...\ args)} -\DoxyCodeLine{00190\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{DisposableStrategy\{\},\ std::forward(args)...\}} -\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00171\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}\ final\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}>} +\DoxyCodeLine{00172\ \ \ \ \ \{} +\DoxyCodeLine{00173\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00174\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }DisposableStrategy\ =\ details::observers::deduce\_disposable\_strategy\_t;} +\DoxyCodeLine{00175\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}>;} +\DoxyCodeLine{00176\ } +\DoxyCodeLine{00177\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00178\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ constraint::is\_constructible\_from} +\DoxyCodeLine{00179\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(DisposableStrategy\ strategy,\ Args\&\&...\ args)} +\DoxyCodeLine{00180\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{std::move(strategy),\ std::forward(args)...\}} +\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00182\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00183\ } +\DoxyCodeLine{00184\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00185\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (constraint::is\_constructible\_from\ \&\&\ !rpp::constraint::variadic\_decayed\_same\_as<\mbox{\hyperlink{classrpp_1_1observer}{observer}},\ Args...>)} +\DoxyCodeLine{00186\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(Args\&\&...\ args)} +\DoxyCodeLine{00187\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{DisposableStrategy\{\},\ std::forward(args)...\}} +\DoxyCodeLine{00188\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00189\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00190\ } +\DoxyCodeLine{00191\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&)\ \ \ \ \ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00192\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} \DoxyCodeLine{00193\ } -\DoxyCodeLine{00194\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&)\ \ \ \ \ =\ \textcolor{keyword}{delete};} -\DoxyCodeLine{00195\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00196\ } -\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&\&} -\DoxyCodeLine{00201\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00202\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} -\DoxyCodeLine{00203\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00204\ \ \ \ \ \};} -\DoxyCodeLine{00205\ } -\DoxyCodeLine{00206\ \ \ \ \ \textcolor{keyword}{template}\ Strategy,\ rpp::details::observers::constra\textcolor{keywordtype}{int}::disposable\_strategy\ DisposableStrategy>} -\DoxyCodeLine{00207\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}>\ final} -\DoxyCodeLine{00208\ \ \ \ \ \ \ \ \ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}} -\DoxyCodeLine{00209\ \ \ \ \ \{} -\DoxyCodeLine{00210\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\ =\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}};} -\DoxyCodeLine{00212\ } -\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ constraint::is\_constructible\_from} -\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(DisposableStrategy\ strategy,\ Args\&\&...\ args)} -\DoxyCodeLine{00216\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{std::move(strategy),\ std::forward(args)...\}} -\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00219\ } -\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} -\DoxyCodeLine{00221\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (constraint::is\_constructible\_from\ \&\&\ !rpp::constraint::variadic\_decayed\_same\_as<\mbox{\hyperlink{classrpp_1_1observer}{observer}},\ Args...>)} -\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(Args\&\&...\ args)} -\DoxyCodeLine{00223\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{DisposableStrategy\{\},\ std::forward(args)...\}} -\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00225\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00197\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&\&} +\DoxyCodeLine{00198\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00199\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} +\DoxyCodeLine{00200\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00201\ \ \ \ \ \};} +\DoxyCodeLine{00202\ } +\DoxyCodeLine{00203\ \ \ \ \ \textcolor{keyword}{template}\ Strategy,\ rpp::details::observers::constra\textcolor{keywordtype}{int}::disposable\_strategy\ DisposableStrategy>} +\DoxyCodeLine{00204\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}>\ final} +\DoxyCodeLine{00205\ \ \ \ \ \ \ \ \ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}}} +\DoxyCodeLine{00206\ \ \ \ \ \{} +\DoxyCodeLine{00207\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00208\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }\mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\ =\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}};} +\DoxyCodeLine{00209\ } +\DoxyCodeLine{00210\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00211\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ constraint::is\_constructible\_from} +\DoxyCodeLine{00212\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(DisposableStrategy\ strategy,\ Args\&\&...\ args)} +\DoxyCodeLine{00213\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{std::move(strategy),\ std::forward(args)...\}} +\DoxyCodeLine{00214\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00215\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00216\ } +\DoxyCodeLine{00217\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{typename}...\ Args>} +\DoxyCodeLine{00218\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (constraint::is\_constructible\_from\ \&\&\ !rpp::constraint::variadic\_decayed\_same\_as<\mbox{\hyperlink{classrpp_1_1observer}{observer}},\ Args...>)} +\DoxyCodeLine{00219\ \ \ \ \ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(Args\&\&...\ args)} +\DoxyCodeLine{00220\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{Base}}\{DisposableStrategy\{\},\ std::forward(args)...\}} +\DoxyCodeLine{00221\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00222\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00223\ } +\DoxyCodeLine{00224\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&)\ \ \ \ \ =\ \textcolor{keyword}{delete};} +\DoxyCodeLine{00225\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} \DoxyCodeLine{00226\ } -\DoxyCodeLine{00227\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&)\ \ \ \ \ =\ \textcolor{keyword}{delete};} -\DoxyCodeLine{00228\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00229\ } -\DoxyCodeLine{00233\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4_a4527ce1eb5a5520cd73b3db5dcc24c08}{as\_dynamic}}()\ \&\&} -\DoxyCodeLine{00234\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00235\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} -\DoxyCodeLine{00236\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00237\ \ \ \ \ \};} -\DoxyCodeLine{00238\ } -\DoxyCodeLine{00239\ \ \ \ \ \textcolor{keyword}{template}} -\DoxyCodeLine{00240\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}>} -\DoxyCodeLine{00241\ \ \ \ \ \ \ \ \ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}},\ details::observers::none\_disposable\_strategy>} -\DoxyCodeLine{00242\ \ \ \ \ \{} -\DoxyCodeLine{00243\ \ \ \ \ \textcolor{keyword}{public}:} -\DoxyCodeLine{00244\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ TStrategy>} -\DoxyCodeLine{00245\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!std::same\_as>)} -\DoxyCodeLine{00246\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ other)} -\DoxyCodeLine{00247\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}},\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{details::observers::none\_disposable\_strategy}}>\{\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{details::observers::none\_disposable\_strategy}}\{\},\ std::move(other)\}} -\DoxyCodeLine{00248\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00250\ } -\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1observer}{observer}}\&)\ \ \ \ \ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00252\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&)\ \textcolor{keyword}{noexcept}\ =\ \textcolor{keywordflow}{default};} -\DoxyCodeLine{00253\ } -\DoxyCodeLine{00254\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&\&} -\DoxyCodeLine{00255\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00256\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} -\DoxyCodeLine{00257\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00230\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_3_01_type_00_01details_1_1with__disposable__strategy_3_01_strategy_00_01_disposable_strategy_01_4_01_4_a4527ce1eb5a5520cd73b3db5dcc24c08}{as\_dynamic}}()\ \&\&} +\DoxyCodeLine{00231\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00232\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} +\DoxyCodeLine{00233\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00234\ \ \ \ \ \};} +\DoxyCodeLine{00235\ } +\DoxyCodeLine{00236\ \ \ \ \ \textcolor{keyword}{template}} +\DoxyCodeLine{00237\ \ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classrpp_1_1observer}{observer}}>} +\DoxyCodeLine{00238\ \ \ \ \ \ \ \ \ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}},\ details::observers::none\_disposable\_strategy>} +\DoxyCodeLine{00239\ \ \ \ \ \{} +\DoxyCodeLine{00240\ \ \ \ \ \textcolor{keyword}{public}:} +\DoxyCodeLine{00241\ \ \ \ \ \ \ \ \ \textcolor{keyword}{template}\ TStrategy>} +\DoxyCodeLine{00242\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{requires}\ (!std::same\_as>)} +\DoxyCodeLine{00243\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1observer}{observer}}(\mbox{\hyperlink{classrpp_1_1observer}{observer}}\&\&\ other)} +\DoxyCodeLine{00244\ \ \ \ \ \ \ \ \ \ \ \ \ :\ \mbox{\hyperlink{classrpp_1_1details_1_1observer__impl}{details::observer\_impl}},\ \mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{details::observers::none\_disposable\_strategy}}>\{\mbox{\hyperlink{structrpp_1_1details_1_1observers_1_1none__disposable__strategy}{details::observers::none\_disposable\_strategy}}\{\},\ std::move(other)\}} +\DoxyCodeLine{00245\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00246\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00247\ } +\DoxyCodeLine{00248\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&\&} +\DoxyCodeLine{00249\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00250\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{std::move(*\textcolor{keyword}{this})\};} +\DoxyCodeLine{00251\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00252\ } +\DoxyCodeLine{00253\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\&\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&} +\DoxyCodeLine{00254\ \ \ \ \ \ \ \ \ \{} +\DoxyCodeLine{00255\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{*\textcolor{keyword}{this}\};} +\DoxyCodeLine{00256\ \ \ \ \ \ \ \ \ \}} +\DoxyCodeLine{00257\ \ \ \ \ \};} \DoxyCodeLine{00258\ } -\DoxyCodeLine{00259\ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\&\ \mbox{\hyperlink{classrpp_1_1observer_ab008a79c1c7825554c91dbc6d130ece4}{as\_dynamic}}()\ \&} -\DoxyCodeLine{00260\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00261\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{classrpp_1_1dynamic__observer}{dynamic\_observer}}\{*\textcolor{keyword}{this}\};} -\DoxyCodeLine{00262\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00263\ \ \ \ \ \};} -\DoxyCodeLine{00264\ } -\DoxyCodeLine{00265\ } -\DoxyCodeLine{00266\ \}\ \textcolor{comment}{//\ namespace\ rpp}} +\DoxyCodeLine{00259\ } +\DoxyCodeLine{00260\ \}\ \textcolor{comment}{//\ namespace\ rpp}} \end{DoxyCode} diff --git a/v2/docs/latex/structrpp_1_1details_1_1concat__state__t.pdf b/v2/docs/latex/structrpp_1_1details_1_1concat__state__t.pdf index 7385dd53253d4c42865891ead4401c0f3b7a6b70..17d1a7da7dc91675e6976258a84193f9abb7564f 100644 GIT binary patch delta 200 zcmZ2vvdCn^HxX_lvk*gbD`PV&W0T2@qS`2YbJ5MbX$BVNX2#~0x<xQa^>i%KerQq#E1j4aK$R8?L5-M9eY CVljvS delta 200 zcmZ2vvdCn^HxX__(+~r5D-$Ct6Z6T8qS`2YbJ5MbMu~~W#-`?`x`v5K$(z56S~6)F zni`m!7@3$y85pPoktUbEZ+?nPVo9ooic%=Qv+vXCnF;_ zH%m81GZQxh3ujkTR|{tgHv=a_I~#&3V!7<>xQa^>i%KerQq#E1j4aK$R8?L5-M9cX CZ8A&% diff --git a/v2/docs/latex/structrpp_1_1interface__composite__disposable.pdf b/v2/docs/latex/structrpp_1_1interface__composite__disposable.pdf index dd4d313aea34252dce392f6864584f1f3f31bd8b..aba65c81c8bca7e456330b637e104f42677466f1 100644 GIT binary patch delta 156 zcmX@KYj*8E>8^XUW82 zWM*h?Yz9<+UqK4a+03Yz&FJLh;$&`NVBlixXl8EiWNv2RV&Q0P>f-Ed;p%2$Y+z(( LLrBHsbxP6z?UX1E delta 156 zcmX@KY~{C2yW5XUW82 zXlh_?VgyuwUqK4a+03Yz&FJK8X>R6ZX<+VX?qp!$Xl!X}ZtQIAWNhkUU}9lzX5nOK LLrBHsbxP6z4Mivx diff --git a/v2/docs/latex/structrpp_1_1interface__disposable.pdf b/v2/docs/latex/structrpp_1_1interface__disposable.pdf index dc5e395525106144d65cb59cadd15b597179936a..4110e9eb997a4b9749d6e6de3bdfabb387f83d59 100644 GIT binary patch delta 155 zcmX@%dct+X99eE7vk*gbD`PV&W0T3tWwlZGcV##8rWsh6n;Dy1>KYj*8E>8|XUW82 zWM*h?Yz9<+PeBUK*`%1w=wxVa1br^>}+Y_>Skc#;%w?{Vq$FUW?^ST KNX6u}O40z!H7Di( delta 155 zcmX@%dct+X99eEd(+~r5D-$Ct6Z6T-WwlZGcV##88YLzg8=IP&>KY~{C2yW9XUW82 zXlh_?VgyuwPeBUK*`%1w=;UJQ!=41R7Svk*gbD`PV&W7Elt`L$8_H~Ba7rWqQhrCFv~>KYj*8E>8`V9CT` zWM*h?Yz9<+OGpaN+5AT+o6*VD%-Pk^$jrsn+||(4*vQh<)x^Tm$=J=@*v-Vz)ZD<% LhLDQMD@CLMB||9g delta 156 zcmX@2c|>!=41R7y(+~r5D-$Ct6N|}<`L$8_H~Ba78YLMgB`2ks>KY~{C2yW7V9CT` zXlh_?VgyuwOGpaN+5AT+o6*U@$k5Ep#KpqJ%-O`!+{n_=+|9|-(!$Ke&Dg@wz`)JU LhLDQMD@CLMJFqD3 diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1combine__latest__observer__strategy.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1combine__latest__observer__strategy.pdf index 631d2515f554dafa04bc06c4772fac3bd2622a6b..818976f7a65de74b3ea61d029aa03db1e8124e63 100644 GIT binary patch delta 156 zcmZ2(wA^UJZ((jDvk*gbD`PV&W7ElOBHAc?8NvU5w4$OwCQ*fRv$&o1G0I J6_a@+r2%f3CYAsI delta 156 zcmZ2(wA^UJZ((jj(+~r5D-$Ct6N|}gBHAc?8L;6xjGrSxH&qR8d+Mnni&{6Sy&huy4l$n L5l}I?T0$BCOcN&B delta 155 zcmbPcIL&ZFmN2)WX^4Tjm5Gs+iN)knVQm!tYT?biMoGp=$w_IZx`v5K$(yr9ESWeA zO%2RVjDYIbh)KaYo6m{mFgjYAnHn3ox>>lG8@oB1n;W?ro10rY8kstoTUr_$8{63! L5l}I?T0$BCdlDx& diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1concat__inner__observer__strategy.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1concat__inner__observer__strategy.pdf index 9cebe1a4ba006ab686eb179fae053a917ce2a915..340d0a63dc9e04a77cda2a7d3596ead597209ba1 100644 GIT binary patch delta 156 zcmbQDH$`v53qfupvk*gbD`PV&W7El>1+`K5nnIg-(+myM(k#;~b&ZUZj5og&vSi{g zGBY$cHUp~H5|x5;Hv5QXGdh`>yP7&$xEUB)x>_1K8W_15nVGq{xtN=~7#O-a8(G@f L5K=Mur(<+FUy$3#EX2^<%Gk`x*mUwML2VSig3xB(G(*F*G|MzgT_fWp(<+FUy$3-G{nH%%EZXZ#A5O*L2VSig3xAOqa@>`{ delta 156 zcmaE&_e5`lg%G!)X^4Tjm5Gs+iN$1RA#D_XrO;+xqa@>`MoxA% Lgj7uS6qg17VBaPs diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1concat__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1concat__t.pdf index a96a6319b60f6d2918d43342c6a6a5d3a612a453..63e63a3cee72255bd4da2703b1eadd11c2ae1bb1 100644 GIT binary patch delta 156 zcmZ3cu}ovbFFtM~vk*gbD`PV&W7Em3{MsmdYyQo=X@-VrX_jf0x<)y>@4#K^_T z%*4{w)WyZX#N5o)$;Hyx&D_kw&W50hSS~v|uHur!qLPZD)HE(L15;BjRaIAiH!c7h CEih*Q delta 200 zcmdmBw83ZtiwL)&X^4Tjm5Gs+iN$1o5p5K{tH@?vqa@>`KYj*8E@VtY{|r7 zWM*h?Yz9>STT}|p*(@uT&FJLf0)YOX6R_(=4fK!Z02U*WMFP* LLrBHsQ{vJ9TV^Qv delta 156 zcmaE=|5Sg&P9bhX(+~r5D-$Ct6N|}5gtSrkzl1jP8YLMgB`2ks>KY~{C2!s(Y{|r7 zXlh_?VgywGTT}|p*(@uT&FEz2WaeUS;O6Y)VrXPx=3->&WNu($U~FJ)YHsN4WMXM& LLrBHsQ{vJ9f+;B< diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1filter__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1filter__t.pdf index ed9b1610bc3d74ac46e7c7a0e3b77b22524233b4..c29e7ef0f9a609f3667a034de52d0d94b73b64cd 100644 GIT binary patch delta 200 zcmeCv?9<$k#LsPH7Gh{_Wo%|;Y&toYUmJzLn13^GnxSD@nq``$u90z)@#bU!OC~KN zGedJ@Gh@>z0|Rv+(&WD4Q|X$;`~u)ZEC@%-PM% z(#grd(8Ac%(A3<;!ob|p%*DmX&W50hSS~v|uHur!qLPZD)HE&=3o}bDRaIAiH!c9v C+A(zi delta 200 zcmeCv?9<$k#LsPL8e(8>WnyGyVlg?FUmJzLn13^`QIc^|a#EV9u3=(Q^5$d#OC~Kt zQv-7oBNK}#0|Rv+(&WD4Q|Xz`)7W$gw;t1ppf8 BG6Mhr diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1first__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1first__t.pdf index d47c2f4c5fa8816b3cb4ea5cdb2de9c6b484e260..918f775bb818038a28a70ccb93270395ff300157 100644 GIT binary patch delta 200 zcmaE$_CRfe2_LtSS%{&zm9d$XvFT)cK5Z0!Dc@$^G(*F*G|MzgT_fWp`i& diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1group__by__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1group__by__t.pdf index 07ff67af46245efb0389686fcc4be36055cf79a0..804321a028a06b52e3ef6b27d6f858ddca3e6a62 100644 GIT binary patch delta 156 zcmaE1_`-0*9${`Hvk*gbD`PV&W7EmUg|$)me}y;mrWqQhrCFv~>KYj*8E@VzV#&l| zWM*h?Yz9>SPfQBV*{mR*&FExcWa#AV=;~x*>1J-`Vs7GWY35{RYGLeZW@zSSKY~{C2!sgZ}{Q=;C7NXk=<< LLrBHsvl7w(o0uu1 diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1last__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1last__t.pdf index d116f55a4e0d46842e2db83defaf72cfae13e56b..9b9ef4c185bf7921bded095a8a70a25db3f832cc 100644 GIT binary patch delta 200 zcmcbwc3*9SF(0>)S%{&zm9d$XvFT(xK5Z0!3EyVkG(*F*G|MzgT_fWp~X^4Tjm5Gs+iN$0)K5Z0!3EyU3qa@>`FQ zGBY$cHZwMjGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OC2!r6?m#+DXFmX=P2rUr)2 z7B0>PE+&R<#;&femW~FN&L(CCb~Xf6#B$l$aTS*&7L`;KrKWKKO)}+DRdw}u;{pJ- CPcowb delta 200 zcmZ3WwLojb7k+L-(+~r5D-$Ct6N}0J`L$8_rUILJjgpL$l9SR*bqy1fk~e=9uw>FQ zG&L|cF*31;GB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OC2!r6?mu0~D)AoDjE>S%{&zm9ZHRP1Y3BM&ZW`ZRSlgOtP>vFt^k-GEOqyEH7-y#9?G+ zXl`r)AoDjF6X^4Tjm5Gs+iRENXA#D_XywGM|qofoQGb3|TUBkqrMkh-n0~b?ECs$WX3sW--Cszvt0~cd6LnCKnV{=DK0~b3R LLMkTfi%SCl+G{05 diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1merge__observer__inner__strategy.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1merge__observer__inner__strategy.pdf index a3952f034e401a6693054744355f6ebd51776cf2..059048c3620dc2ae8e0a0989fe73959851674af5 100644 GIT binary patch delta 201 zcmeCt>(krtNRZpeEX2^<%GeBuCchQbM&T<9ZRSlgOtP>vFt^k-GEOqy{8-46Nz2I0 z(A?O}*euGxKpluQx%7SWQ(O{DQZ-zxj0}uS42)qaHoJ*tF~->#nmf6e8d{pTn3|h8 zo0>YCJDV6AnwdB`xjGrSnj2c!5mph)WoO4#T#{H+Qc;we#${@1V9BMb>gw;t1psL2 BG93T_ delta 199 zcmeCv>(SfrNRZpmG{nH%%EZXZ#B%amL2VSive0H;qofoQGb3|TUBkqrP(du0ogG(kNn%k+MNw)Rm#L|NC6}tItG^o;0E3+~ ACIA2c diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1merge__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1merge__t.pdf index b3e49b8525bf70a9d22f946b8eff92301b8e8975..4613b8718e7c41a15938c7b91ba6738e91260dd2 100644 GIT binary patch delta 200 zcmX@Bc~*17LVj)|vk*gbD`PVtn!JWz8-@Rfe=~2IVUmTVfw`rwk#Umo=0yUQOj<@} zhUUg*#%56l2I@eh$))d`pW>2OlB(fiWn^GvVqgqYv6)pkn=#hW)zR71z|6qe$;8FU z&Dqh=$jsc_$k@`r($Ue?)zsL|hMHRy>KY~{C2w9NV9BIq zXlh_?Vq{_&WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq6wg|iuBO-;;QEL{v;%$!}# zoE%NefIMe6Q#VI9S3?5}Q)g2<8-glgx$Nw?ic1oUN-By{)3{75jg7ceRbBnvxB$5m BGU)&S diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1on__error__resume__next__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1on__error__resume__next__t.pdf index d0a15e5a55aecd6d15c4018632e7d38c8c19bbc8..f9c515010228f3d26f4c5b9811c9314c642280c8 100644 GIT binary patch delta 200 zcmX@7dro)5B0+8=vk*gbD`PVtn!Hv}8-@Q^a5Hb3VUmTVfw`rwk#Umo=EXvmOj<@} zhUUg*#%56l2I@eh$))d`pW>2OlB(fiWn^GvVqgqYv6)RYn=#hV(b&w~$kp80$HRy>KY~{C2w9VWXYsu zXlh_?Vq{_&WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq8GM6(%V4P2efjSVcEU7U;^ z&72LLolIPejVzoUElr(_U5uPv?Q96Dh~=`g<0>vmEGnreN=@T3H8C;eQdM>JcjE#8 DzqB&m diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1reduce__no__seed__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1reduce__no__seed__t.pdf index 05fcf12d410549b2264889b1c1fa24f5eda3a03e..ae33d4a1a28f05a8a941a9bec1b785535f57d7c5 100644 GIT binary patch delta 155 zcmaE@{aSm&egSSHvk*gbD`PVtntVz?8<{^za5Hb3VUmTVfw`rwk#Umo<^zJ3OdLjL zhUUg*K;?`gQgF^@Wsz(~Cs$)L3j<4I6K69ER})hcV{;=D6ANckV*_VL3sXlUOFJ7v KDkfhLl?DJ$>LxY- delta 155 zcmaE@{aSm&egSSn(+~r5D-$Ct6U)h`1hkR)lLR;O8YQKem>HRy>KY~{C2u|;XvxH3 zXlh_?VgyvqC?W;tY*rS@W^{72u&{JCwsbTzH8nAFG_i29Ff(;_w6rv|bTx7^ax=EG LA*5pR1yN}Lf959p diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1reduce__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1reduce__t.pdf index f66304c9ccea08b7d68a90b0bcb23dafc829fd6a..d083f649038b262fa58b07d203fb9b7a6c64b123 100644 GIT binary patch delta 156 zcmZ3YvqWdZ4*_l?vk*gbD`PVtn#?Syjl#DS+{~M1m}FsTU~Z{vWSnHY`KO>I6NizR zp}DacP`#Ci6r8g;MkJfj$<@rw(8a>c+{MMk&CJ=z#K_3h$=t-y(bC-5z|_gn(9VXC JipiW}(f}*(CBgsz delta 156 zcmZ3YvqWdZ4*_mN(+~r5D-$Ct6U)iWg4!s2OTo>&MoB3qW=7_wx`v5K$(w%)S~77M zni`m!7y;E=iAcdYn`1<>8J$c`%?wQ3oXlK|jonNg4J|E9o!kse9ZgIP-ONlaT%7D| L2&tINDJBg7KG!Ar diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1scan__no__seed__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1scan__no__seed__t.pdf index ce1fad6a355250f2e4e5222d7ef8cbae83d1f487..bd7767e21b98f24f193d3e4d40b2b1d48bd03694 100644 GIT binary patch delta 200 zcmaE>`BrnoL4Ix{vk*gbD`PVtntX;|8->p#u$ec_Fv-Hwz}!;T$T-P(^C1CCCM_c~ zLvv#@W3wm&19c$MgeQV>1uA`WMt%O zY35>K=;&f#W@u(&>g;S{;Ot~)Lr_I5mz^C~aYn7XW6b BG8g~= delta 200 zcmaE>`BrnoL4IyS(+~r5D-$Ct6U)hG__a~^OahyEjgnGK%#6%Ubqy1fk~bd`uw>FQ zG&L|cF*31?GB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OD+!r6?m&aTdmM&^!&<|YPa zX6DA`#)i(0ZbnW9PR{18E2OlB(fiWn^GvVqgqYu~}3kn=#hN$HRy>KY~{C2!s&Xvw5y zXlh_?Vq{_&WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq6cMY0)V4J=JvEzFHfT%Ao^ zolIOzjGUcJ-P|ky6=b~6A{#wJcq zW^TqNrpD%urj{;7Zf+K)mUcD-Rm5`H*>M$@Bo>ua6s4wdnOK+`a;d7i`nz!f0JU5( AZU6uP delta 200 zcmbQBIYDzn3O~1@X^4Tjm5Gs+iRI*cer*)~QvS`nMoB3qW=7_wx`v5K$(vIJESaxQa^>i%KerQq#ChEX)nLR8?L5-M9eJ CS}|(? diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1switch__on__next__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1switch__on__next__t.pdf index 062aa6910d6034aaf7f8085774617bcc3cbb5ab0..e83b9da1539c51946845623bb312e2f3d3d788f7 100644 GIT binary patch delta 156 zcmdn3y<2-jzW}$9S%{&zm9ZHRO`av7jl#bmu$ec_Fv-Hwz}!;T$T-P(^8`UlCJrMr zLvv#@p!$o#QgF`Z&%)V^PNrtYjz*T|j^>uG28J%qX2xy?t_CJfrmk*I&MxNWu68zr KR7_qVDh&YDIVe;B delta 156 zcmdn3y<2-jzW}$PX^4Tjm5Gs+iRI*30@^723j&*YjgnGK%#6%Ubqy1fk~dEfv}EEi zG&L|cF#@W;C@cl%Z2l~q&FEzA?Be9?>}26$ZfI$0WnyGyVmUdHUmJx#oqsd0QBsPDnUT4vu3=(Q^5$>>OC~Kt zQv-7oBNNLg0|Rv+(&WWnyGyVmUdUUmJx#m47p@QBsPDnUT4vu3=(Q^5#$hOC~Kt zQv-7oBNNLg0|Rv+(&W;w*v!n$+{n$y z*~Hkwz{%0r!pzvn*}&4s!pzCV&W50hSS~v|uHur!qLPZD)HE&=3sX}rRaIAiH!c8? Ct}!V9 diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1take__until__observer__strategy.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1take__until__observer__strategy.pdf index 9fa0ce8edaa7da5a507ab547f32ccb3e1101263a..5c72db12015d655532a1e09e732f53626a8c9cf3 100644 GIT binary patch delta 177 zcmcbkcSmo7fe^QmS%{&zm9ZHRO|}-&M&TCvFt^k-GEOqyY$$BWq-A7g zXl`s~Y!+o;pbkWuT>8HGDK3d6sTwX;Mg~SE2F5TIo2Q6oGdh`CI0FStom`xp49$#8 eOf6kZj7?0PolQ*)42>+@EbMFushI32E)4)&VJd_G delta 177 zcmcbkcSmo7fe^Q$X^4Tjm5Gs+iREN#A#D_Xq0nYtqofoQGb3|TUBkqrvFt^k-GEOqy{7~4ENz2I0 z(A?O}*euGxKpluQx%7SWQ(O{DQZ-zxj0}uS42)qaHoJ)BFglu9y1BR*nwy%KI$Jnf eI-8jpn436Sm>8M3nOYi{7~0toQZf0XxHJI76)Wuk delta 176 zcmeA%=rP#vK#1GWG{nH%%EZXZ#B%a$A#D`CqVQ&3qofoQGb3|TUBkqr;SPrA3fs>h~v75PprJISN gk%^I`iGib&qp_ipp^>?ni?gep4IveiKZ;8O0Nz(DC;$Ke diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1take__until__throttle__observer__strategy.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1take__until__throttle__observer__strategy.pdf index a08c9b67c0c3dc476af3fefeed89ea58456ee77d..7c0eed3e9d3537cb6d73af1f9c1eb4717ba4ea71 100644 GIT binary patch delta 177 zcmX@3e@1`90wHcAvk*gbD`PVtn!H*_8-@Q+Xftn`VUmTVfw`rwk#Umo=7qwROj<@} zhUUg*#%56l2I@eh$))d`pW>2OlB(fiWn^GvVqgqYv6)3Io6*V9#Ldja(9+n<)ZEh0 f#nRNt*vQ%3%-PMw%)-Fg*u~V&hLDQM8^xsoDLgDo delta 177 zcmX@3e@1`90wHcg(+~r5D-$Ct6U)h~g|t!l4}~`K8YQKem>HRy>KY~{C2w9RY{{f$ zXlh_?Vq{_&WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq6w#IhNkoJ8`2LWy)vk*gbD`PVtn*3Wp8-;HuxS2Q2Fv-Hwz}!;T$T-P(^G88TCM_c~ zLvv#@W3wm&19c$M8~&FExk;9_p(>TKd-VQA@O fV&G(CU}|n+VdQ9H;p*gSXl!O@LrBGBMlops97HRR delta 177 zcmbQEGe>8`2LWzF(+~r5D-$Ct6U)iJ1+-E4hJu@UjgnGK%#6%Ubqy1fk~e=8v}DpU zG&L|cF*31?GB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OCIBH4^i#!d!?<}T(yK_g2? gb3+3QLql^jGiMWL6AJ@pHv?BY8$v23Gm1$A05DZ6iU0rr diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1tap__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1tap__t.pdf index 34dd33ebcbcb1ecc8f654c4f9402b3e3ae648e6b..57e151a441fcb8ca5f298c7f29971a21389e31a8 100644 GIT binary patch delta 200 zcmZ3Ww?J>h7eQ_#vk*gbD`PVtn*3i-8-;Hww3#=}Fv-Hwz}!;T$T-P(^H(8DCM_c~ zLvv#@W3wm&19c$M66%@}KLWZ~jyVd`pPX6j~S z?(Aye>f~r>>E>o&?&56eWNK_@Lr_I5mz^C~aYn7XYb| BGT{IK delta 200 zcmZ3Ww?J>h7eQ`A(+~r5D-$Ct6U)i}1+`K5rb3%}jgnGK%#6%Ubqy1fk~e=9vSiXS zG&L|cF*31?GB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OC2qS=hGPL{5whNc!4CWhvQ zW`+i47LG0^mX3~YCKk@-CT5oAb~Xf6#B$l$aTS*&7L`;KrKWM2ni`pNsj9mAyKw;k Ds2?(L diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1throttle__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1throttle__t.pdf index 73f0818d62f8cc4c40451f09a91820dc12b5963d..b79e6fb2fb61c1f2cb600c52217594c45acd8741 100644 GIT binary patch delta 156 zcmeCy>DJkBUx3@lEX2^<%GeBuCchHUM&T<6ZstuhOtP>vFt^k-GEOqy{6Nr>iNnau z(A?Mzs9sS-3eMT=ERxOWDJkBUx3@tG{nH%%EZXZ#B%a00c{k%g5YLeqofoQGb3|TUBkqrp;u$ec_Fv-Hwz}!;T$T-P(^JxJ~CJrMr zLvv#@pn4u*DL7}do^TGMqnWw6k(;Tjo1?L@tDCE-o1>YLxv8azfq}7^qpN{|osA&@ K6_am^NCN#e zG&L|cF#@XR5tf2;HtPxJFgltWxH&sIIXRj-Te_GVm|B`zIGY%n8JkPSuwum$Ul$9q{ diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1window__toggle__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1window__toggle__t.pdf index 9c058ca7cf62069fae3c97aaf81c03e4a96216d0..d491c97ebfb96104f6d5e582a53be77d1f62b409 100644 GIT binary patch delta 156 zcmeA)>NMJLSD4$#EX2^<%Gk`x*nIK}VQmz?oXBS0G$T_(BeOJ1T_fWpNMJLSD4$-G{nH%%EZXZ#B%ZrVQmz?oXBQgqofoQGb3|TUBkqr5p5KHx5#E*qhzz>G>bG-UBkqrzI~zhO JCPzz30|2uICqn=L diff --git a/v2/docs/latex/structrpp_1_1operators_1_1details_1_1zip__t.pdf b/v2/docs/latex/structrpp_1_1operators_1_1details_1_1zip__t.pdf index 0b3e1411d4cd50035c593444ddca8d297366e116..d39b4c69cd0d02e97e0bf8c02da84ad30118d617 100644 GIT binary patch delta 156 zcmX?Uc+zmgTw!h_vk*gbD`PV&WAn)?gtbxl_k=g|rWu(U8kwb8>KYj*8E>8^V#&l| zWM*h?Yz9<+UrY+l*~}=O&FEz5YT#yRXzXZg;_77TWNcw+V&rCK=w{~XWMXb^;%Z=L LLrBHsbrRA5$qXl< delta 156 zcmX?Uc+zmgTw!iQ(+~r5D-$CtQ-jGXgtbxl_k=g|8YP=0r&*+#>KY~{C2yW5V#&l| zXlh_?VgyuwUrY+l*~}=O&FEy{WbSI=Xl(A{Vrl4VU}orMX=-8YWaet%XyNK??rLUd LLrBHsbrRA54-hDL diff --git a/v2/docs/latex/structrpp_1_1schedulers_1_1constraint_1_1details_1_1is__worker.pdf b/v2/docs/latex/structrpp_1_1schedulers_1_1constraint_1_1details_1_1is__worker.pdf index 32446c0d4650750c955c5550324c8a057f4eb0a9..9afaf6cfedd55938d7adb776ef5464041f03fb2b 100644 GIT binary patch delta 200 zcmaE$`#^WY7C~+!vk*gbD`PV&WAn-T1+`K5Uj;YwrWu(U8kwb8>KYj*8E@VyWXYsu zWM*h?Y-Vg8WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq66M6(%VolK3*%`HqU4V;W! zOdQQ!%q}&|Ch~=`g<0>vmEGnreN=@T3H8C^hQdM>JcjE#8 Dx^^;7 delta 200 zcmaE$`#^WY7C~-9(+~r5D-$CtQ-jI-1+`K5Uj;Yw8YP=0r&*+#>KY~{C2!s;WXYsu zXlh_?Vq|I%WniEVM4DXszWFIGi6yBTE>=bcMkWTvFcq66M6(%V%`Gh~4K0i;Obm=H zolV_LfwZ%cqoJdrtCOX%vx}>p4M7#LTy}O`#U+VFB^5=fXTSTmTk_ BGYtR$ diff --git a/v2/docs/latex/structrpp_1_1schedulers_1_1constraint_1_1details_1_1is__worker_3_01rpp_1_1schedulers_1_1worker_3_01_strategy_01_4_01_4.pdf b/v2/docs/latex/structrpp_1_1schedulers_1_1constraint_1_1details_1_1is__worker_3_01rpp_1_1schedulers_1_1worker_3_01_strategy_01_4_01_4.pdf index 15fea824eda8f4e1dc039fd05a2e548691de1738..a2a10aab893aebc329b7d3802422f3a2604162b7 100644 GIT binary patch delta 156 zcmX@De_DUTd?9Wlvk*gbD`PV&WAn+YgtSrk4}>=JrWu(U8kwb8>KYj*8E;-7Y{|r7 zWM*h?Yz9>SP*e)e*~~1K&FEz2W?|@LW@hQ^>|)^T;%eaNY-V9=J8YP=0r&*+#>KY~{C2w9JY{|r7 zXlh_?VgywGP*e)e*~~1K&FExdX=LeSX>MRFQ zGBY$cHZwMlGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OEb!r6?m#%?Zdre+2%&gLej zMot#41}26ErY;8NZU%;imS&bFb~Xf6#B$l$aTS*&7L`;KrKWM28WFQ zG&L|cF)}rXGB8jFB26xR-~1Gp#FA7E7b_zJBNGE-n2OEb!r6?mCa!Llu8sz7W+n#C zt}bpaj;4lg=BAFOF3y%tP6j3>b~Xf6#B$l$aTS*&7L`;KrKWM28W