This class exposes additional type information of the linked node, which enables r-value based node merging at construction time. The primary use case for this is to avoid unnecessary nodes when creating signal expression from overloaded arithmetic operators.
TempSignal
is usually not used as an l-value type, but instead implicitly converted to Signal
.
template
<
typename D,
typename S,
typename TOp
>
class TempSignal : public Signal<D,S>
{
public:
// Constructor
TempSignal();
TempSignal(const TempSignal&); // Copy
TempSignal(TempSignal&&); // Move
// Assignment
TempSignal& operator=(const TempSignal&); // Copy
TempSignal& operator=(TempSignal&& other); // Move
};
Analogously defined to Signal.