Collects the sources one tracked run reads, and restores the previous frame when it ends.
More...
|
| | TrackingFrame (RuntimeCore &core, Node *observer) noexcept |
| | ~TrackingFrame () |
| | Reinstalls the enclosing frame.
|
|
| TrackingFrame (TrackingFrame const &)=delete |
|
TrackingFrame & | operator= (TrackingFrame const &)=delete |
|
| TrackingFrame (TrackingFrame &&)=delete |
|
TrackingFrame & | operator= (TrackingFrame &&)=delete |
| void | add (Node &source) |
| | Records that the run read source; a no-op in an untracked region.
|
| void | forget (Node &node) noexcept |
| | Drops node, which is being destroyed, from the recorded sources. When node is this frame's observer, the frame stops recording and remembers that its observer is gone.
|
| bool | observerDestroyed () const noexcept |
| | Whether the observer was destroyed during the run: a body may destroy its own node (a remount inside an Effect), and the node's run must not touch it afterwards.
|
| std::vector< Node * > | takeSources () noexcept |
| | Hands the recorded sources to the observer.
|
| TrackingFrame * | previous () const noexcept |
| | The enclosing frame.
|
Collects the sources one tracked run reads, and restores the previous frame when it ends.
A frame whose observer is null is an untracked region: reads inside it subscribe nothing.
Definition at line 367 of file graph.hpp.