Contains various reactive operations to combine and convert signals and events.
#include "react/Algorithm.h"
namespace react
{
// Holds most recent event in a signal
Hold(const Events<D,T>& events, V&& init)
-> Signal<D,T>
// Emits value changes of signal as events
Monitor(const Signal<D,S>& target)
-> Events<D,S>
// Folds values from event stream into a signal
Iterate(const Events<D,E>& events, V&& init, F&& func)
-> Signal<D,S>
Iterate(const Events<D,E>& events, V&& init,
const SignalPack<D,TDepValues...>& depPack, FIn&& func)
-> Signal<D,S>
// Sets signal value to value of target signal when event is received
Snapshot(const Events<D,E>& trigger, const Signal<D,S>& target)
-> Signal<D,S>
// Emits value of target signal when event is received
Pulse(const Events<D,E>& trigger, const Signal<D,S>& target)
-> Events<D,S>
// Emits token when target signal was changed
OnChanged(const Signal<D,S>& target)
-> Events<D,Token>
// Emits token when target signal was changed to value
OnChangedTo(const Signal<D,S>& target, V&& value)
-> Events<D,Token>
}