proxygen
wangle::Subject< T > Struct Template Reference

#include <Subject.h>

Inheritance diagram for wangle::Subject< T >:
wangle::Observable< T > wangle::Observer< T >

Public Member Functions

void onNext (const T &val) override
 
void onError (Error e) override
 
void onCompleted () override
 
- Public Member Functions inherited from wangle::Observable< T >
 Observable ()
 
 Observable (Observable &&other)=delete
 
virtual ~Observable ()
 
virtual Subscription< Tsubscribe (ObserverPtr< T > observer)
 
virtual void observe (ObserverPtr< T > observer)
 
virtual void observe (Observer< T > *observer)
 
ObservablePtr< TobserveOn (SchedulerPtr scheduler)
 
std::unique_ptr< ObservablesubscribeOn (SchedulerPtr scheduler)
 
- Public Member Functions inherited from wangle::Observer< T >
virtual ~Observer ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from wangle::Observer< T >
template<class N , class E , class C >
static std::unique_ptr< Observercreate (N &&onNextFn, E &&onErrorFn, C &&onCompletedFn)
 
template<class N , class E >
static std::unique_ptr< Observercreate (N &&onNextFn, E &&onErrorFn)
 
template<class N >
static std::unique_ptr< Observercreate (N &&onNextFn)
 
- Protected Member Functions inherited from wangle::Observable< T >
void forEachObserver (F f)
 

Detailed Description

template<class T>
struct wangle::Subject< T >

Subject interface. A Subject is both an Observable and an Observer. There is a default implementation of the Observer methods that just forwards the observed events to the Subject's observers.

Definition at line 29 of file Subject.h.

Member Function Documentation

template<class T>
void wangle::Subject< T >::onCompleted ( )
inlineoverridevirtual

Implements wangle::Observer< T >.

Definition at line 40 of file Subject.h.

References wangle::Observable< T >::forEachObserver(), and wangle::Observer< T >::onCompleted().

40  {
41  this->forEachObserver([](Observer<T>* o){
42  o->onCompleted();
43  });
44  }
template<class T>
void wangle::Subject< T >::onError ( Error  e)
inlineoverridevirtual

Implements wangle::Observer< T >.

Definition at line 35 of file Subject.h.

References wangle::Observable< T >::forEachObserver(), and wangle::Observer< T >::onError().

35  {
36  this->forEachObserver([&](Observer<T>* o){
37  o->onError(e);
38  });
39  }
template<class T>
void wangle::Subject< T >::onNext ( const T val)
inlineoverridevirtual

Implements wangle::Observer< T >.

Definition at line 30 of file Subject.h.

References wangle::Observable< T >::forEachObserver(), and wangle::Observer< T >::onNext().

Referenced by notifyInlineObservers(), notifySubscribers(), and TEST().

30  {
31  this->forEachObserver([&](Observer<T>* o){
32  o->onNext(val);
33  });
34  }
double val
Definition: String.cpp:273

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