RxCpp
The Reactive Extensions for Native (RxCpp) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.
Classes | Namespaces | Macros | Functions
rx-subscriber.hpp File Reference
#include "rx-includes.hpp"
Include dependency graph for rx-subscriber.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rxcpp::subscriber_base< T >
 
class  rxcpp::subscriber< T, Observer >
 binds an observer that consumes values with a composite_subscription that controls lifetime. More...
 

Namespaces

 rxcpp
 

Macros

#define RXCPP_RX_SUBSCRIBER_HPP
 

Functions

template<class T , class Observer >
auto rxcpp::make_subscriber (subscriber< T, Observer > o) -> subscriber< T, Observer >
 
template<class T >
auto rxcpp::make_subscriber () -> typename std::enable_if< detail::is_on_next_of< T, detail::OnNextEmpty< T >>::value, subscriber< T, observer< T, detail::stateless_observer_tag, detail::OnNextEmpty< T >>>>::type
 
template<class T , class I >
auto rxcpp::make_subscriber (const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class Observer >
auto rxcpp::make_subscriber (const Observer &o) -> typename std::enable_if< is_observer< Observer >::value && !is_subscriber< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OnNext >
auto rxcpp::make_subscriber (const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OnNext , class OnError >
auto rxcpp::make_subscriber (const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T >
auto rxcpp::make_subscriber (const composite_subscription &cs) -> subscriber< T, observer< T, detail::stateless_observer_tag, detail::OnNextEmpty< T >>>
 
template<class T , class I >
auto rxcpp::make_subscriber (const composite_subscription &cs, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class I >
auto rxcpp::make_subscriber (const composite_subscription &cs, const subscriber< T, I > &s) -> subscriber< T, I >
 
template<class T , class Observer >
auto rxcpp::make_subscriber (const composite_subscription &cs, const Observer &o) -> typename std::enable_if< !is_subscriber< Observer >::value && is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OnNext >
auto rxcpp::make_subscriber (const composite_subscription &cs, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OnNext , class OnError >
auto rxcpp::make_subscriber (const composite_subscription &cs, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const composite_subscription &cs, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const composite_subscription &cs, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T >
auto rxcpp::make_subscriber (trace_id id) -> subscriber< T, observer< T, detail::stateless_observer_tag, detail::OnNextEmpty< T >>>
 
template<class T >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs) -> subscriber< T, observer< T, detail::stateless_observer_tag, detail::OnNextEmpty< T >>>
 
template<class T , class I >
auto rxcpp::make_subscriber (trace_id id, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class I >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class Observer >
auto rxcpp::make_subscriber (trace_id id, const Observer &o) -> typename std::enable_if< is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class Observer >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const Observer &o) -> typename std::enable_if< is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OnNext >
auto rxcpp::make_subscriber (trace_id id, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OnNext >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OnNext , class OnError >
auto rxcpp::make_subscriber (trace_id id, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OnNext , class OnError >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (trace_id id, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (trace_id id, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (trace_id id, const composite_subscription &cs, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class I >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class OtherT , class OtherObserver , class I >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class OtherT , class OtherObserver , class Observer >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const Observer &o) -> typename std::enable_if< is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OtherT , class OtherObserver , class Observer >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const Observer &o) -> typename std::enable_if< !is_subscription< Observer >::value && is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class I >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &, const composite_subscription &cs, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class OtherT , class OtherObserver , class I >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &, trace_id id, const composite_subscription &cs, const observer< T, I > &o) -> subscriber< T, observer< T, I >>
 
template<class T , class OtherT , class OtherObserver , class Observer >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const composite_subscription &cs, const Observer &o) -> typename std::enable_if< is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OtherT , class OtherObserver , class Observer >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const composite_subscription &cs, const Observer &o) -> typename std::enable_if< is_observer< Observer >::value, subscriber< T, Observer >>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const composite_subscription &cs, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const composite_subscription &cs, const OnNext &on) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const composite_subscription &cs, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const composite_subscription &cs, const OnNext &on, const OnError &oe) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const composite_subscription &cs, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const composite_subscription &cs, const OnNext &on, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, detail::OnErrorEmpty, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, const composite_subscription &cs, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class OtherT , class OtherObserver , class OnNext , class OnError , class OnCompleted >
auto rxcpp::make_subscriber (const subscriber< OtherT, OtherObserver > &scbr, trace_id id, const composite_subscription &cs, const OnNext &on, const OnError &oe, const OnCompleted &oc) -> typename std::enable_if< detail::is_on_next_of< T, OnNext >::value && detail::is_on_error< OnError >::value && detail::is_on_completed< OnCompleted >::value, subscriber< T, observer< T, detail::stateless_observer_tag, OnNext, OnError, OnCompleted >>>::type
 
template<class T , class Observer >
auto rxcpp::make_subscriber (const subscriber< T, Observer > &scbr, const composite_subscription &cs) -> subscriber< T, Observer >
 
template<class T , class Observer >
auto rxcpp::make_subscriber (const subscriber< T, Observer > &scbr, trace_id id, const composite_subscription &cs) -> subscriber< T, Observer >
 
template<class T , class Observer >
auto rxcpp::make_subscriber (const subscriber< T, Observer > &scbr, trace_id id) -> subscriber< T, Observer >
 

Macro Definition Documentation

#define RXCPP_RX_SUBSCRIBER_HPP