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++.
Public Types | Public Member Functions | List of all members
rxcpp::connectable_observable< T, SourceOperator > Class Template Reference

a source of values that is shared across all subscribers and does not start until connectable_observable::connect() is called. More...

#include <rx-connectable_observable.hpp>

Inheritance diagram for rxcpp::connectable_observable< T, SourceOperator >:
Inheritance graph
[legend]
Collaboration diagram for rxcpp::connectable_observable< T, SourceOperator >:
Collaboration graph
[legend]

Public Types

typedef tag_connectable_observable observable_tag
 
- Public Types inherited from rxcpp::observable< T, SourceOperator >
typedef rxu::decay_t< SourceOperator > source_operator_type
 
typedef T value_type
 
- Public Types inherited from rxcpp::observable_base< T >
typedef tag_observable observable_tag
 
typedef T value_type
 

Public Member Functions

 connectable_observable ()
 
 connectable_observable (const SourceOperator &o)
 
 connectable_observable (SourceOperator &&o)
 
template<class SO >
 connectable_observable (const connectable_observable< T, SO > &o)
 
template<class SO >
 connectable_observable (connectable_observable< T, SO > &&o)
 
template<class OperatorFactory >
auto op (OperatorFactory &&of) const -> decltype(of(*(const this_type *) nullptr))
 
connectable_observable< T > as_dynamic ()
 
composite_subscription connect (composite_subscription cs=composite_subscription())
 
template<class... AN>
auto ref_count (AN...an) const
 takes a connectable_observable source and uses a ref_count of the subscribers to control the connection to the published source. The first subscription will cause a call to connect() and the last unsubscribe will unsubscribe the connection. More...
 
template<class... AN>
auto connect_forever (AN...an) const
 takes a connectable_observable source and calls connect during the construction of the expression. This means that the source starts running without any subscribers and continues running after all subscriptions have been unsubscribed. More...
 
- Public Member Functions inherited from rxcpp::observable< T, SourceOperator >
 ~observable ()
 
 observable ()
 
 observable (const source_operator_type &o)
 
 observable (source_operator_type &&o)
 
template<class SO >
 observable (const observable< T, SO > &o)
 implicit conversion between observables of the same value_type More...
 
template<class SO >
 observable (observable< T, SO > &&o)
 implicit conversion between observables of the same value_type More...
 
template<class... AN>
observable< T > as_dynamic (AN **...) const
 
template<class... AN>
blocking_observable< T, this_typeas_blocking (AN **...) const
 
template<class... ArgN>
auto subscribe (ArgN &&...an) const -> composite_subscription
 Subscribe will cause the source observable to emit values to the provided subscriber. More...
 
template<class... AN>
auto all (AN &&...an) const
 Returns an Observable that emits true if every item emitted by the source Observable satisfies a specified condition, otherwise false. Emits true if the source Observable terminates without emitting any item. More...
 
template<class... AN>
auto is_empty (AN &&...an) const
 Returns an Observable that emits true if the source Observable is empty, otherwise false. More...
 
template<class... AN>
auto any (AN &&...an) const
 Returns an Observable that emits true if any item emitted by the source Observable satisfies a specified condition, otherwise false. Emits false if the source Observable terminates without emitting any item. More...
 
template<class... AN>
auto exists (AN &&...an) const
 Returns an Observable that emits true if any item emitted by the source Observable satisfies a specified condition, otherwise false. Emits false if the source Observable terminates without emitting any item. More...
 
template<class... AN>
auto contains (AN &&...an) const
 Returns an Observable that emits true if the source Observable emitted a specified item, otherwise false. Emits false if the source Observable terminates without emitting any item. More...
 
template<class... AN>
auto filter (AN &&...an) const
 For each item from this observable use Predicate to select which items to emit from the new observable that is returned. More...
 
template<class... AN>
auto switch_if_empty (AN &&...an) const
 If the source Observable terminates without emitting any items, emits items from a backup Observable. More...
 
template<class... AN>
auto default_if_empty (AN &&...an) const
 If the source Observable terminates without emitting any items, emits a default item and completes. More...
 
template<class... AN>
auto sequence_equal (AN...an) const
 Determine whether two Observables emit the same sequence of items. More...
 
template<class... AN>
auto tap (AN &&...an) const
 inspect calls to on_next, on_error and on_completed. More...
 
template<class... AN>
auto time_interval (AN &&...an) const
 Returns an observable that emits indications of the amount of time lapsed between consecutive emissions of the source observable. The first emission from this new Observable indicates the amount of time lapsed between the time when the observer subscribed to the Observable and the time when the source Observable emitted its first item. More...
 
template<class... AN>
auto timeout (AN &&...an) const
 Return an observable that terminates with timeout_error if a particular timespan has passed without emitting another item from the source observable. More...
 
template<class... AN>
auto timestamp (AN &&...an) const
 Returns an observable that attaches a timestamp to each item emitted by the source observable indicating when it was emitted. More...
 
template<class... AN>
auto finally (AN &&...an) const
 Add a new action at the end of the new observable that is returned. More...
 
template<class... AN>
auto on_error_resume_next (AN &&...an) const
 If an error occurs, take the result from the Selector and subscribe to that instead. More...
 
template<class... AN>
auto switch_on_error (AN &&...an) const
 If an error occurs, take the result from the Selector and subscribe to that instead. More...
 
template<class... AN>
auto map (AN &&...an) const
 For each item from this observable use Selector to produce an item to emit from the new observable that is returned. More...
 
template<class... AN>
auto transform (AN &&...an) const
 For each item from this observable use Selector to produce an item to emit from the new observable that is returned. More...
 
template<class... AN>
auto debounce (AN &&...an) const
 Return an observable that emits an item if a particular timespan has passed without emitting another item from the source observable. More...
 
template<class... AN>
auto delay (AN &&...an) const
 Return an observable that emits each item emitted by the source observable after the specified delay. More...
 
template<class... AN>
auto distinct (AN &&...an) const
 For each item from this observable, filter out repeated values and emit only items that have not already been emitted. More...
 
template<class... AN>
auto distinct_until_changed (AN &&...an) const
 For each item from this observable, filter out consequentially repeated values and emit only changes from the new observable that is returned. More...
 
template<class... AN>
auto element_at (AN &&...an) const
 Pulls an item located at a specified index location in the sequence of items and emits that item as its own sole emission. More...
 
template<class... AN>
auto window (AN &&...an) const
 Return an observable that emits connected, non-overlapping windows, each containing at most count items from the source observable. If the skip parameter is set, return an observable that emits windows every skip items containing at most count items from the source observable. More...
 
template<class... AN>
auto window_with_time (AN &&...an) const
 Return an observable that emits observables every period time interval and collects items from this observable for period of time into each produced observable, on the specified scheduler. If the skip parameter is set, return an observable that emits observables every skip time interval and collects items from this observable for period of time into each produced observable, on the specified scheduler. More...
 
template<class... AN>
auto window_with_time_or_count (AN &&...an) const
 Return an observable that emits connected, non-overlapping windows of items from the source observable that were emitted during a fixed duration of time or when the window has reached maximum capacity (whichever occurs first), on the specified scheduler. More...
 
template<class... AN>
auto window_toggle (AN &&...an) const
 Return an observable that emits observables every period time interval and collects items from this observable for period of time into each produced observable, on the specified scheduler. More...
 
template<class... AN>
auto buffer (AN &&...an) const
 Return an observable that emits connected, non-overlapping buffer, each containing at most count items from the source observable. If the skip parameter is set, return an observable that emits buffers every skip items containing at most count items from the source observable. More...
 
template<class... AN>
auto buffer_with_time (AN &&...an) const
 Return an observable that emits buffers every period time interval and collects items from this observable for period of time into each produced buffer. If the skip parameter is set, Return an observable that emits buffers every skip time interval and collects items from this observable for period of time into each produced buffer, on the specified scheduler. More...
 
template<class... AN>
auto buffer_with_time_or_count (AN &&...an) const
 Return an observable that emits connected, non-overlapping buffers of items from the source observable that were emitted during a fixed duration of time or when the buffer has reached maximum capacity (whichever occurs first), on the specified scheduler. More...
 
template<class... AN>
auto switch_on_next (AN &&...an) const
 Return observable that emits the items emitted by the observable most recently emitted by the source observable. More...
 
template<class... AN>
auto merge (AN...an) const
 For each given observable subscribe. For each item emitted from all of the given observables, deliver from the new observable that is returned. More...
 
template<class... AN>
auto amb (AN...an) const
 For each item from only the first of the given observables deliver from the new observable that is returned, on the specified scheduler. More...
 
template<class... AN>
auto flat_map (AN &&...an) const
 For each item from this observable use the CollectionSelector to produce an observable and subscribe to that observable. For each item from all of the produced observables use the ResultSelector to produce a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto merge_transform (AN &&...an) const
 For each item from this observable use the CollectionSelector to produce an observable and subscribe to that observable. For each item from all of the produced observables use the ResultSelector to produce a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto concat (AN...an) const
 For each item from this observable subscribe to one at a time, in the order received. For each item from all of the given observables deliver from the new observable that is returned. More...
 
template<class... AN>
auto concat_map (AN &&...an) const
 For each item from this observable use the CollectionSelector to produce an observable and subscribe to that observable. For each item from all of the produced observables use the ResultSelector to produce a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto concat_transform (AN &&...an) const
 For each item from this observable use the CollectionSelector to produce an observable and subscribe to that observable. For each item from all of the produced observables use the ResultSelector to produce a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto with_latest_from (AN...an) const
 For each item from the first observable select the latest value from all the observables to emit from the new observable that is returned. More...
 
template<class... AN>
auto combine_latest (AN...an) const
 For each item from all of the observables select a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto zip (AN &&...an) const
 Bring by one item from all given observables and select a value to emit from the new observable that is returned. More...
 
template<class... AN>
auto group_by (AN &&...an) const
 Return an observable that emits grouped_observables, each of which corresponds to a unique key value and each of which emits those items from the source observable that share that key value. More...
 
template<class... AN>
auto ignore_elements (AN &&...an) const
 Do not emit any items from the source Observable, but allow termination notification (either onError or onCompleted) to pass through unchanged. More...
 
template<class... AN>
auto multicast (AN &&...an) const
 
template<class... AN>
auto publish (AN &&...an) const
 Turn a cold observable hot and allow connections to the source to be independent of subscriptions. Turn a cold observable hot, send the most recent value to any new subscriber, and allow connections to the source to be independent of subscriptions. More...
 
template<class... AN>
auto publish_synchronized (AN &&...an) const
 Turn a cold observable hot and allow connections to the source to be independent of subscriptions. More...
 
template<class... AN>
auto replay (AN &&...an) const
 1) replay(optional Coordination, optional CompositeSubscription) Turn a cold observable hot, send all earlier emitted values to any new subscriber, and allow connections to the source to be independent of subscriptions. More...
 
template<class... AN>
auto subscribe_on (AN &&...an) const
 Subscription and unsubscription are queued and delivered using the scheduler from the supplied coordination. More...
 
template<class... AN>
auto observe_on (AN &&...an) const
 All values are queued and delivered using the scheduler from the supplied coordination. More...
 
template<class... AN>
auto reduce (AN &&...an) const
 For each item from this observable use Accumulator to combine items, when completed use ResultSelector to produce a value that will be emitted from the new observable that is returned. More...
 
template<class... AN>
auto accumulate (AN &&...an) const
 For each item from this observable use Accumulator to combine items, when completed use ResultSelector to produce a value that will be emitted from the new observable that is returned. More...
 
template<class... AN>
auto first (AN **...) const
 For each item from this observable reduce it by sending only the first item. More...
 
template<class... AN>
auto last (AN **...) const
 For each item from this observable reduce it by sending only the last item. More...
 
template<class... AN>
auto count (AN **...) const
 For each item from this observable reduce it by incrementing a count. More...
 
template<class... AN>
auto sum (AN **...) const
 For each item from this observable reduce it by adding to the previous items. More...
 
template<class... AN>
auto average (AN **...) const
 For each item from this observable reduce it by adding to the previous values and then dividing by the number of items at the end. More...
 
template<class... AN>
auto max (AN **...) const
 For each item from this observable reduce it by taking the max value of the previous items. More...
 
template<class... AN>
auto min (AN **...) const
 For each item from this observable reduce it by taking the min value of the previous items. More...
 
template<class... AN>
auto scan (AN...an) const
 For each item from this observable use Accumulator to combine items into a value that will be emitted from the new observable that is returned. More...
 
template<class... AN>
auto sample_with_time (AN &&...an) const
 Return an Observable that emits the most recent items emitted by the source Observable within periodic time intervals. More...
 
template<class... AN>
auto skip (AN...an) const
 Make new observable with skipped first count items from this observable. More...
 
template<class... AN>
auto skip_last (AN...an) const
 Make new observable with skipped last count items from this observable. More...
 
template<class... AN>
auto skip_until (AN...an) const
 Make new observable with items skipped until on_next occurs on the trigger observable or until the specified time. skip_until takes (TriggerObservable, optional Coordination) or (TimePoint, optional Coordination) More...
 
template<class... AN>
auto take (AN...an) const
 For the first count items from this observable emit them from the new observable that is returned. More...
 
template<class... AN>
auto take_last (AN &&...an) const
 Emit only the final t items emitted by the source Observable. More...
 
template<class... AN>
auto take_until (AN &&...an) const
 For each item from this observable until on_next occurs on the trigger observable or until the specified time, emit them from the new observable that is returned. take_until takes (TriggerObservable, optional Coordination) or (TimePoint, optional Coordination) More...
 
template<class... AN>
auto take_while (AN &&...an) const
 For the first items fulfilling the predicate from this observable emit them from the new observable that is returned. More...
 
template<class... AN>
auto repeat (AN...an) const
 Repeat this observable for the given number of times or infinitely. More...
 
template<class... AN>
auto retry (AN...an) const
 Retry this observable for the given number of times. More...
 
template<class... AN>
auto start_with (AN...an) const
 Start with the supplied values, then concatenate this observable. More...
 
template<class... AN>
auto pairwise (AN...an) const
 Take values pairwise from this observable. More...
 

Additional Inherited Members

- Public Attributes inherited from rxcpp::observable< T, SourceOperator >
source_operator_type source_operator
 

Detailed Description

template<class T, class SourceOperator>
class rxcpp::connectable_observable< T, SourceOperator >

a source of values that is shared across all subscribers and does not start until connectable_observable::connect() is called.

Member Typedef Documentation

template<class T, class SourceOperator>
typedef tag_connectable_observable rxcpp::connectable_observable< T, SourceOperator >::observable_tag

Constructor & Destructor Documentation

template<class T, class SourceOperator>
rxcpp::connectable_observable< T, SourceOperator >::connectable_observable ( )
inline
template<class T, class SourceOperator>
rxcpp::connectable_observable< T, SourceOperator >::connectable_observable ( const SourceOperator &  o)
inlineexplicit
template<class T, class SourceOperator>
rxcpp::connectable_observable< T, SourceOperator >::connectable_observable ( SourceOperator &&  o)
inlineexplicit
template<class T, class SourceOperator>
template<class SO >
rxcpp::connectable_observable< T, SourceOperator >::connectable_observable ( const connectable_observable< T, SO > &  o)
inline
template<class T, class SourceOperator>
template<class SO >
rxcpp::connectable_observable< T, SourceOperator >::connectable_observable ( connectable_observable< T, SO > &&  o)
inline

Member Function Documentation

template<class T, class SourceOperator>
connectable_observable<T> rxcpp::connectable_observable< T, SourceOperator >::as_dynamic ( )
inline

performs type-forgetting conversion to a new composite_observable

template<class T, class SourceOperator>
composite_subscription rxcpp::connectable_observable< T, SourceOperator >::connect ( composite_subscription  cs = composite_subscription())
inline
template<class T, class SourceOperator>
template<class... AN>
auto rxcpp::connectable_observable< T, SourceOperator >::connect_forever ( AN...  an) const
inline

takes a connectable_observable source and calls connect during the construction of the expression. This means that the source starts running without any subscribers and continues running after all subscriptions have been unsubscribed.

Returns
An observable that emitting the items from its source.
template<class T, class SourceOperator>
template<class OperatorFactory >
auto rxcpp::connectable_observable< T, SourceOperator >::op ( OperatorFactory &&  of) const -> decltype(of(*(const this_type*)nullptr))
inline

takes any function that will take this observable and produce a result value. this is intended to allow externally defined operators, that use subscribe, to be connected into the expression.

template<class T, class SourceOperator>
template<class... AN>
auto rxcpp::connectable_observable< T, SourceOperator >::ref_count ( AN...  an) const
inline

takes a connectable_observable source and uses a ref_count of the subscribers to control the connection to the published source. The first subscription will cause a call to connect() and the last unsubscribe will unsubscribe the connection.

Returns
An observable that emitting the items from its source.

The documentation for this class was generated from the following file: