Contains the signal template classes and functions.
#include "react/Signal.h"
namespace react
{
// Signal
class Signal<D,S>
// VarSignal
class VarSignal<D,S>
// TempSignal
class TempSignal<D,S,/*unspecified*/>
}
namespace react
{
//Creates a new variable signal
MakeVar(V&& init)
-> VarSignal<D,S>
// Creates a signal as a function of other signals
MakeSignal(F&& func, const Signal<D,TValues>& ... args)
-> TempSignal<D,S,/*unspecified*/>
// Creates a new signal by flattening a signal of a signal
Flatten(const Signal<D,Signal<D,T>>& other)
-> Signal<D,T>
}
namespace react
{
//
// Overloaded unary operators
// Arithmetic: + - ++ --
// Bitwise: ~
// Logical: !
//
// OP <Signal>
OP(const TSignal& arg)
-> TempSignal<D,S,/*unspecified*/>
// OP <TempSignal>
OP(TempSignal<D,TVal,/*unspecified*/>&& arg)
-> TempSignal<D,S,/*unspecified*/>
//
// Overloaded binary operators
// Arithmetic: + - * / %
// Bitwise: & | ^
// Comparison: == != < <= > >=
// Logical: && ||
//
// NOT overloaded:
// Bitwise shift: << >>
//
// <Signal> BIN_OP <Signal>
BIN_OP(const TLeftSignal& lhs, const TRightSignal& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <Signal> BIN_OP <NonSignal>
BIN_OP(const TLeftSignal& lhs, TRightVal&& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <NonSignal> BIN_OP <Signal>
BIN_OP(TLeftVal&& lhs, const TRightSignal& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <TempSignal> BIN_OP <TempSignal>
BIN_OP(TempSignal<D,TLeftVal,/*unspecified*/>&& lhs,
TempSignal<D,TRightVal,/*unspecified*/>&& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <TempSignal> BIN_OP <Signal>
BIN_OP(TempSignal<D,TLeftVal,/*unspecified*/>&& lhs,
const TRightSignal& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <Signal> BIN_OP <TempSignal>
BIN_OP(const TLeftSignal& lhs,
TempSignal<D,TRightVal,/*unspecified*/>&& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <TempSignal> BIN_OP <NonSignal>
BIN_OP(TempSignal<D,TLeftVal,/*unspecified*/>&& lhs,
TRightVal&& rhs)
-> TempSignal<D,S,/*unspecified*/>
// <NonSignal> BIN_OP <TempSignal>
BIN_OP(TLeftVal&& lhs,
TempSignal<D,TRightVal,/*unspecified*/>&& rhs)
-> TempSignal<D,S,/*unspecified*/>
}