HomeReference ⇀ Event.h

Event.h

Contains the event stream template classes and functions.

#include "react/Event.h"

Synopsis

Classes

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>
}

Functions

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*/>
}