Contains the event stream template classes and functions.
#include "react/Event.h"
namespace react
{
// Token
enum class Token
// Events
class Events<D,E=Token>
// EventSource
class EventSource<D,E=Token>
// TempEvents
class TempEvents<D,E,/*unspecified*/>
// EventRange
class EventRange<E>
}
namespace react
{
// Creates a new event source
MakeEventSource<D,E=Token>()
-> EventSource<D,E>
// Creates a new event stream that merges events from given streams
Merge(const Events<D,E>& source1, const Events<D,TValues>& ... sources)
-> TempEvents<D,E,/*unspecified*/>
// Creates a new event stream that filters events from other stream
Filter(const Events<D,E>& source, F&& func)
-> TempEvents<D,E,/*unspecified*/>
Filter(TempEvents<D,E,/*unspecified*/>&& source, F&& func)
-> TempEvents<D,E,/*unspecified*/>
Filter(const Events<D,E>& source, const SignalPack<D,TDepValues...>& depPack,
FIn&& func)
-> Events<D,E>
// Creates a new event stream that transforms events from other stream
Transform(const Events<D,E>& source, F&& func)
-> TempEvents<D,T,/*unspecified*/>
Transform(TempEvents<D,E,/*unspecified*/>&& source, F&& func)
-> TempEvents<D,T,/*unspecified*/>
Transform(const Events<D,TIn>& source, const SignalPack<D,TDepValues...>& depPack,
FIn&& func)
-> Events<D,T>
// Creates a new event stream by batch processing events from other stream
Process(const Events<D,E>& source, F&& func)
-> Events<D,T>
Process(const Events<D,E>& source, const SignalPack<D,TDepValues...>& depPack,
F&& func)
-> Events<D,T>
// Creates a new event stream by joining events from other streams into a tuple
Join(const Events<D,TValues>& ... sources)
-> Events<D,std::tuple<TValues...>>
// Creates a new event stream by flattening a signal of an event stream
Flatten(const Signal<D,Events<D,T>>& other)
-> Events<D,T>
// Creates a token stream by transforming values from source to tokens
Tokenize(TEvents&& source)
-> TempEvents<D,Token,/*unspecified*/>
}