10 \$dep nodes of type void
Sometimes the functionally dependent state of a node in the depencency graph are the pixels on the screen (i.e. state in video memory) or state which exists in a third party library such as wxWidgets.
In such cases it can be appropriate to use a $dep of type void. Although it seems strange to calculate a variable of type void it just means the calculated state is being recorded elsewhere.
Example:
$adt+ implement RodSession final <<-dc -copy>> isa IObject
{
$dep void selfCleaningAgent_
evictable { return false; }
invalidate { PostTaskToCleanAgent(); }
calc { CalcAgent(); };
...
};
Self cleaning dependents
A self-cleaning dependent node is a node which posts a task to clean itself in its invalidate {...} callback.
Example:
$adt+ implement RodSession final <<-dc -copy>> isa IObject
{
$dep void selfCleaningAgent_
evictable { return false; }
invalidate { PostTaskToCleanAgent(); }
calc { CalcAgent(); };
...
};