Lines Matching refs:subscriber
25 class subscriber : public subscriber_base<T>
28 static_assert(is_observer<Observer>::value, "subscriber must contain an observer<T, ...>");
29 typedef subscriber<T, Observer> this_type;
103 subscriber();
107 subscriber(const this_type& o)
113 subscriber(this_type&& o)
121 friend class subscriber;
124 subscriber(
125 const subscriber<T, O>& o,
136 subscriber(trace_id id, composite_subscription cs, U&& o)
142 static_assert(is_observer<U>::value, "must pass observer to subscriber");
169 subscriber<T> as_dynamic() const {
170 return subscriber<T>(id, lifetime, destination.as_dynamic());
225 subscriber<T, Observer> o)
226 -> subscriber<T, Observer> {
227 return subscriber<T, Observer>(std::move(o));
237 subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>>>::type {
238 return subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>>(trace_id::make_next_id_subscriber(), composite_subscription(),
245 -> subscriber<T, observer<T, I>> {
246 return subscriber<T, observer<T, I>>(trace_id::make_next_id_subscriber(), composite_subscription(), o);
253 subscriber<T, Observer>>::type {
254 return subscriber<T, Observer>(trace_id::make_next_id_subscriber(), composite_subscription(), o);
263 subscriber<T, observer<T, Observer>>>::type {
264 return subscriber<T, observer<T, Observer>>(trace_id::make_next_id_subscriber(), composite_subscription(), o);
270 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
271 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(trace_id::make_next_id_subscriber(), composite_subscription(),
279 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
280 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(trace_id::make_next_id_subscriber(), composite_subscription(),
288 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
289 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(trace_id::make_next_id_subscriber(), composite_subscription(),
298 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
299 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(trace_id::make_next_id_subscriber(), composite_subscription(),
308 -> subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>> {
309 return subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>>(trace_id::make_next_id_subscriber(), cs,
316 -> subscriber<T, observer<T, I>> {
317 return subscriber<T, observer<T, I>>(trace_id::make_next_id_subscriber(), cs, o);
321 const subscriber<T, I>& s)
322 -> subscriber<T, I> {
323 return subscriber<T, I>(trace_id::make_next_id_subscriber(), cs, s.get_observer());
330 subscriber<T, Observer>>::type {
331 return subscriber<T, Observer>(trace_id::make_next_id_subscriber(), cs, o);
340 subscriber<T, observer<T, Observer>>>::type {
341 return subscriber<T, observer<T, Observer>>(trace_id::make_next_id_subscriber(), cs, make_observer<T>(o));
347 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
348 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(trace_id::make_next_id_subscriber(), cs,
356 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
357 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(trace_id::make_next_id_subscriber(), cs,
365 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
366 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(trace_id::make_next_id_subscriber(), cs,
375 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
376 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(trace_id::make_next_id_subscriber(), cs,
385 -> subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>> {
386 return subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>>(std::move(id), composite_subscription(),
392 -> subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>> {
393 return subscriber<T, observer<T, detail::stateless_observer_tag, detail::OnNextEmpty<T>>>(std::move(id), cs,
400 -> subscriber<T, observer<T, I>> {
401 return subscriber<T, observer<T, I>>(std::move(id), composite_subscription(), o);
406 -> subscriber<T, observer<T, I>> {
407 return subscriber<T, observer<T, I>>(std::move(id), cs, o);
413 subscriber<T, Observer>>::type {
414 return subscriber<T, Observer>(std::move(id), composite_subscription(), o);
420 subscriber<T, Observer>>::type {
421 return subscriber<T, Observer>(std::move(id), cs, o);
430 subscriber<T, observer<T, Observer>>>::type {
431 return subscriber<T, observer<T, Observer>>(std::move(id), composite_subscription(), o);
440 subscriber<T, observer<T, Observer>>>::type {
441 return subscriber<T, observer<T, Observer>>(std::move(id), cs, o);
447 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
448 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(std::move(id), composite_subscription(),
455 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
456 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(std::move(id), cs,
464 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
465 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(std::move(id), composite_subscription(),
473 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
474 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(std::move(id), cs,
482 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
483 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(std::move(id), composite_subscription(),
491 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
492 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(std::move(id), cs,
501 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
502 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(std::move(id), composite_subscription(),
511 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
512 return subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(std::move(id), cs,
516 // chain defaults from subscriber
520 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr,
522 -> subscriber<T, observer<T, I>> {
523 auto r = subscriber<T, observer<T, I>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(), o);
528 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id,
530 -> subscriber<T, observer<T, I>> {
531 auto r = subscriber<T, observer<T, I>>(std::move(id), scbr.get_subscription(), o);
536 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const Observer& o)
539 subscriber<T, Observer>>::type {
540 auto r = subscriber<T, Observer>(std::move(id), scbr.get_subscription(), o);
545 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const Observer& o)
549 subscriber<T, Observer>>::type {
550 auto r = subscriber<T, Observer>(trace_id::make_next_id_subscriber(), scbr.get_subscription(), o);
555 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const Observer& o)
561 subscriber<T, observer<T, Observer>>>::type {
562 auto r = subscriber<T, observer<T, Observer>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(), make_observer<T>(o));
567 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const Observer& o)
573 subscriber<T, observer<T, Observer>>>::type {
574 auto r = subscriber<T, observer<T, Observer>>(std::move(id), scbr.get_subscription(), o);
579 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const OnNext& on)
582 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
583 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(),
589 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const OnNext& on)
592 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
593 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(std::move(id), scbr.get_subscription(),
599 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const OnNext& on, const OnError& oe)
603 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
604 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(),
610 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const OnNext& on, const OnError& oe)
614 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
615 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(std::move(id), scbr.get_subscription(),
621 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const OnNext& on, const OnCompleted& oc)
625 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
626 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(),
632 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const OnNext& on, const OnCompleted& oc)
636 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
637 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(std::move(id), scbr.get_subscription(),
643 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const OnNext& on, const OnError& oe, const OnCompleted& oc)
648 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
649 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(trace_id::make_next_id_subscriber(), scbr.get_subscription(),
655 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const OnNext& on, const OnError& oe, const OnCompleted& oc)
660 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
661 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(std::move(id), scbr.get_subscription(),
668 auto make_subscriber(const subscriber<OtherT, OtherObserver>& , const composite_subscription& cs,
670 -> subscriber<T, observer<T, I>> {
671 return subscriber<T, observer<T, I>>(trace_id::make_next_id_subscriber(), cs, o);
674 auto make_subscriber(const subscriber<OtherT, OtherObserver>&, trace_id id, const composite_subscription& cs,
676 -> subscriber<T, observer<T, I>> {
677 return subscriber<T, observer<T, I>>(std::move(id), cs, o);
680 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const Observer& o)
683 subscriber<T, Observer>>::type {
684 auto r = subscriber<T, Observer>(trace_id::make_next_id_subscriber(), cs, o);
689 auto make_subscriber(const subscriber
692 subscriber<T, Observer>>::type {
693 auto r = subscriber<T, Observer>(std::move(id), cs, o);
698 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const Observer& o)
704 subscriber<T, observer<T, Observer>>>::type {
705 auto r = subscriber<T, observer<T, Observer>>(trace_id::make_next_id_subscriber(), cs, o);
710 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const composite_subscription& cs, const Observer& o)
716 subscriber<T, observer<T, Observer>>>::type {
717 auto r = subscriber<T, observer<T, Observer>>(std::move(id), cs, o);
722 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const OnNext& on)
725 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
726 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(trace_id::make_next_id_subscriber(), cs,
732 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const composite_subscription& cs, const OnNext& on)
735 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>>::type {
736 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext>>(std::move(id), cs,
742 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const OnNext& on, const OnError& oe)
746 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
747 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(trace_id::make_next_id_subscriber(), cs,
753 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const composite_subscription& cs, const OnNext& on, const OnError& oe)
757 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>>::type {
758 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError>>(std::move(id), cs,
764 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const OnNext& on, const OnCompleted& oc)
768 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
769 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(trace_id::make_next_id_subscriber(), cs,
775 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const composite_subscription& cs, const OnNext& on, const OnCompleted& oc)
779 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>>::type {
780 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted>>(std::move(id), cs,
786 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, const composite_subscription& cs, const OnNext& on, const OnError& oe, const OnCompleted& oc)
791 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
792 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(trace_id::make_next_id_subscriber(), cs,
798 auto make_subscriber(const subscriber<OtherT, OtherObserver>& scbr, trace_id id, const composite_subscription& cs, const OnNext& on, const OnError& oe, const OnCompleted& oc)
803 subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>>::type {
804 auto r = subscriber<T, observer<T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted>>(std::move(id), cs,
811 auto make_subscriber(const subscriber<T, Observer>& scbr, const composite_subscription& cs)
812 -> subscriber<T, Observer> {
813 auto r = subscriber<T, Observer>(scbr.get_id(), cs, scbr.get_observer());
818 auto make_subscriber(const subscriber<T, Observer>& scbr, trace_id id, const composite_subscription& cs)
819 -> subscriber<T, Observer> {
820 auto r = subscriber<T, Observer>(std::move(id), cs, scbr.get_observer());
826 auto make_subscriber(const subscriber<T, Observer>& scbr, trace_id id)
827 -> subscriber<T, Observer> {
828 auto r = subscriber<T, Observer>(std::move(id), scbr.get_subscription(), scbr.get_observer());