HDK
|
#include <PDGE_PropagateGroup.h>
Public Member Functions | |
PDGE_PropagateGroup (PDGE_DependencyOwner *owner) | |
virtual | ~PDGE_PropagateGroup () |
int64 | getMemoryUsage (bool inclusive) const |
Returns the total memory usage of this propagate groiup. More... | |
void | addTarget (PDGE_DependencyOwner *target) |
void | addInputGroup (PDGE_PropagateGroup *input_group) |
void | reset (PDGE_Dependency *extra_dependency) |
void | addEntry (PDGE_DependencyOwner *target, PDGE_Dependency *root, PDGE_Dependency *dependent) |
void | propagateDependencies (PDGE_Dependency *source, PDGE_Dependency *destination) |
void | upstreamOwners (PDGE_DependencyOwner::Array &owners, PDGE_Dependency *dependency) const |
PDGE_DependencyOwner * | rootOwner (PDGE_Dependency *dependent) const |
Returns the root owner for a propagate dependency owned by this group. More... | |
Definition at line 28 of file PDGE_PropagateGroup.h.
PDGE_PropagateGroup::PDGE_PropagateGroup | ( | PDGE_DependencyOwner * | owner | ) |
Constructs a new propagate group with the specified owner. The owner is used to when connecting this group to input groups and adding entries that should only propagate to a certain depth or target node.
|
virtual |
void PDGE_PropagateGroup::addEntry | ( | PDGE_DependencyOwner * | target, |
PDGE_Dependency * | root, | ||
PDGE_Dependency * | dependent | ||
) |
Adds an propagation entry to this group. The entry must have a target owner and a root dependency. Optionally, an additional dependent can be passed that will automatically be made to depend on the new entry.
The root is the source dependency for which the entry is associated with. The entry will wait for the root and all of its descendants between the target owner and this group.
|
inline |
Adds an input group to this propagate group. Dependencies are added on input group entries, and propagate back down to this group during evaluation.
Definition at line 49 of file PDGE_PropagateGroup.h.
|
inline |
Adds a target owner to the set of targets associated with this group. These are the owners that the group may target, and the group will not recurse beyond them when adding dependencies.
Definition at line 43 of file PDGE_PropagateGroup.h.
int64 PDGE_PropagateGroup::getMemoryUsage | ( | bool | inclusive | ) | const |
Returns the total memory usage of this propagate groiup.
void PDGE_PropagateGroup::propagateDependencies | ( | PDGE_Dependency * | source, |
PDGE_Dependency * | destination | ||
) |
Copies relevant propagate depenencies from source onto the specified downstream dependent, based on what propagate entries exist in this map.
void PDGE_PropagateGroup::reset | ( | PDGE_Dependency * | extra_dependency | ) |
Resets the propagate group. This will free all owned dependencies and clear all structures including input groups and targets.
PDGE_DependencyOwner* PDGE_PropagateGroup::rootOwner | ( | PDGE_Dependency * | dependent | ) | const |
Returns the root owner for a propagate dependency owned by this group.
void PDGE_PropagateGroup::upstreamOwners | ( | PDGE_DependencyOwner::Array & | owners, |
PDGE_Dependency * | dependency | ||
) | const |
Returns the list of dependency owners for a propagate dependency owned by this group.