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(); };
    ...
};