63 #if !defined(RXCPP_OPERATORS_RX_REPLAY_HPP) 64 #define RXCPP_OPERATORS_RX_REPLAY_HPP 66 #include "../rx-includes.hpp" 76 struct replay_invalid_arguments {};
79 struct replay_invalid :
public rxo::operator_base<replay_invalid_arguments<AN...>> {
80 using type = observable<replay_invalid_arguments<
AN...>, replay_invalid<
AN...>>;
83 using replay_invalid_t =
typename replay_invalid<
AN...>::type;
100 template<
class Observable,
105 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
112 template<
class Observable,
114 is_observable<Observable>>,
117 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
124 template<
class Observable,
class Coordination,
126 is_observable<Observable>,
130 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
134 return Result(Multicast(std::forward<Observable>(o), Subject(std::forward<Coordination>(cn), cs)));
137 template<
class Observable,
class Count,
139 is_observable<Observable>,
140 std::is_integral<Count>>,
143 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
150 template<
class Observable,
class Count,
class Coordination,
152 is_observable<Observable>,
153 std::is_integral<Count>,
154 is_coordination<Coordination>>,
157 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
161 return Result(Multicast(std::forward<Observable>(o), Subject(count, std::forward<Coordination>(cn), cs)));
164 template<
class Observable,
class Duration,
167 is_observable<Observable>,
171 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
175 return Result(Multicast(std::forward<Observable>(o), Subject(std::forward<Duration>(d),
identity_current_thread(), cs)));
178 template<
class Observable,
class Duration,
class Coordination,
181 is_observable<Observable>,
183 is_coordination<Coordination>>,
186 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
190 return Result(Multicast(std::forward<Observable>(o), Subject(std::forward<Duration>(d), std::forward<Coordination>(cn), cs)));
193 template<
class Observable,
class Count,
class Duration,
196 is_observable<Observable>,
197 std::is_integral<Count>,
201 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
205 return Result(Multicast(std::forward<Observable>(o), Subject(count, std::forward<Duration>(d),
identity_current_thread(), cs)));
208 template<
class Observable,
class Count,
class Duration,
class Coordination,
211 is_observable<Observable>,
212 std::is_integral<Count>,
214 is_coordination<Coordination>>,
217 class Multicast = rxo::detail::multicast<SourceValue, rxu::decay_t<Observable>, Subject>,
221 return Result(Multicast(std::forward<Observable>(o), Subject(count, std::forward<Duration>(d), std::forward<Coordination>(cn), cs)));
224 template<
class...
AN>
225 static operators::detail::replay_invalid_t<
AN...>
member(
AN...) {
228 static_assert(
sizeof...(
AN) == 10000,
"replay takes (optional Count, optional Duration, optional Coordination, optional CompositeSubscription)");
static Result member(Observable &&o, Duration &&d, Coordination &&cn, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:189
Definition: rx-util.hpp:791
a source of values that is shared across all subscribers and does not start until connectable_observa...
Definition: rx-connectable_observable.hpp:105
auto count() -> operator_factory< reduce_tag, int, rxu::count, rxu::detail::take_at< 0 >>
For each item from this observable reduce it by incrementing a count.
Definition: rx-reduce.hpp:412
Definition: rx-all.hpp:26
static Result member(Observable &&o, composite_subscription cs)
Definition: rx-replay.hpp:120
typename std::decay< T >::type::value_type value_type_t
Definition: rx-util.hpp:35
controls lifetime for scheduler::schedule and observable<T, SourceOperator>::subscribe.
Definition: rx-subscription.hpp:364
static Result member(Observable &&o, Count count, Duration &&d, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:204
Definition: rx-operators.hpp:69
auto AN
Definition: rx-finally.hpp:105
static Result member(Observable &&o)
Definition: rx-replay.hpp:108
Definition: rx-operators.hpp:47
static Result member(Observable &&o, Duration &&d, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:174
typename std::enable_if< all_true_type< BN... >::value >::type enable_if_all_true_type_t
Definition: rx-util.hpp:114
static Result member(Observable &&o, Count count, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:146
Definition: rx-replaysubject.hpp:121
static Result member(Observable &&o, Count count, Duration &&d, Coordination &&cn, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:220
static Result member(Observable &&o, Count count, Coordination &&cn, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:160
static Result member(Observable &&o, Coordination &&cn, composite_subscription cs=composite_subscription())
Definition: rx-replay.hpp:133
Definition: rx-operators.hpp:332
auto replay(AN &&...an) -> operator_factory< replay_tag, AN... >
1) replay(optional Coordination, optional CompositeSubscription) Turn a cold observable hot...
Definition: rx-replay.hpp:90
static operators::detail::replay_invalid_t< AN... > member(AN...)
Definition: rx-replay.hpp:225
identity_one_worker identity_current_thread()
Definition: rx-coordination.hpp:175
allows connections to the source to be independent of subscriptions.
Definition: rx-predef.hpp:177
Definition: rx-coordination.hpp:37