载入中...
搜索中...
未找到
eve::rx::Subject< T > 模板类 参考

Multicast push-based stream: both an Observable and a push source. Thread-safe: onNext/onError/onCompleted/subscribe are mutex-protected. 更多...

#include <Rx.h>

类 eve::rx::Subject< T > 继承关系图:
eve::rx::Observable< T >

Public 成员函数

 ~Subject () override=default
 
Subscription subscribe (Observer< T > obs) override
 Registers an observer; returns a Subscription that unregisters it.
 
void onNext (const T &v)
 Pushes a value to every registered observer.
 
void onError (const std::string &e)
 Pushes a terminal error and stops the subject.
 
void onCompleted ()
 Pushes a terminal completion and stops the subject.
 
bool hasObservers () const
 True while at least one live observer is registered.
 
int observerCount () const
 Number of live (non-disposed) observers.
 
- Public 成员函数 继承自 eve::rx::Observable< T >
virtual ~Observable ()=default
 
Subscription subscribe (typename Observer< T >::NextFn next)
 Subscribes with a value callback only.
 
Subscription subscribe (typename Observer< T >::NextFn next, typename Observer< T >::ErrorFn error, typename Observer< T >::CompletedFn completed)
 Subscribes with value/error/completed callbacks.
 
Observable< T > * filter (std::function< bool(const T &)> pred)
 Passes values through only when pred(v) is true.
 
template<typename R >
Observable< R > * map (std::function< R(const T &)> fn)
 Transforms each value with fn.
 
Observable< T > * take (int n)
 Emits at most the first n values, then completes.
 
Observable< T > * skip (int n)
 Drops the first n values.
 
Observable< T > * first ()
 Emits only the first value, then completes.
 
Observable< T > * takeUntil (Observable< T > *other)
 Stops the stream when other emits or completes.
 
Observable< T > * distinctUntilChanged ()
 Suppresses consecutive duplicate values (uses operator==).
 

详细描述

template<typename T>
class eve::rx::Subject< T >

Multicast push-based stream: both an Observable and a push source. Thread-safe: onNext/onError/onCompleted/subscribe are mutex-protected.

在文件 Rx.h371 行定义.

构造及析构函数说明

◆ ~Subject()

template<typename T >
eve::rx::Subject< T >::~Subject ( )
overridedefault

成员函数说明

◆ hasObservers()

template<typename T >
bool eve::rx::Subject< T >::hasObservers ( ) const
inline

True while at least one live observer is registered.

在文件 Rx.h408 行定义.

引用了 s.

◆ observerCount()

template<typename T >
int eve::rx::Subject< T >::observerCount ( ) const
inline

Number of live (non-disposed) observers.

在文件 Rx.h415 行定义.

引用了 n , 以及 s.

◆ onCompleted()

template<typename T >
void eve::rx::Subject< T >::onCompleted ( )
inline

Pushes a terminal completion and stops the subject.

在文件 Rx.h402 行定义.

引用了 eve::rx::Observer< T >::completed().

◆ onError()

template<typename T >
void eve::rx::Subject< T >::onError ( const std::string &  e)
inline

Pushes a terminal error and stops the subject.

在文件 Rx.h397 行定义.

引用了 eve::rx::Observer< T >::error().

◆ onNext()

template<typename T >
void eve::rx::Subject< T >::onNext ( const T &  v)
inline

Pushes a value to every registered observer.

在文件 Rx.h395 行定义.

引用了 eve::rx::Observer< T >::next() , 以及 v.

◆ subscribe()

template<typename T >
Subscription eve::rx::Subject< T >::subscribe ( Observer< T >  obs)
inlineoverridevirtual

Registers an observer; returns a Subscription that unregisters it.

实现了 eve::rx::Observable< T >.

在文件 Rx.h377 行定义.

引用了 eve::rx::Observer< T >::completed().


该类的文档由以下文件生成:
  • src/modules/rx/Rx.h