9 #ifndef __PDGE_DEPENDENCY_H__
10 #define __PDGE_DEPENDENCY_H__
98 int64 getMemoryUsage(
bool inclusive)
const;
104 bool partial =
false,
106 bool is_any =
false);
110 {
return !myDependencies.empty(); }
114 {
return !myDependents.isEmpty(); }
121 return myDependencies.contains(dependency);
128 {
return myPartialSrc; }
133 {
return myPartialDst; }
138 {
return myIsResolved; }
142 {
return myIsHeavy; }
151 {
return (myState & state); }
155 { myState |= state; }
165 {
return myDependencies; }
169 {
return myDependents; }
173 {
return myEdgeLock; }
178 void reset(
int initial_count=0,
179 bool is_heavy=
false);
193 {
return tryResolve(
count, 0); }
197 void increment(
int count=1);
207 void unresolve(
int unresolve_count,
Set& visited);
213 bool partialPairs(
Partial& partial_pairs,
215 bool ascending)
const;
218 inline bool tryResolve(
int count,
uint8 state)
226 return (myUnresolvedCount.add(-count) == 0);
229 inline void incrementInternal(
int count)
230 { myUnresolvedCount.add(count); }
233 class EvaluationScope
246 uint8 myUnresolveDepth;
258 uint8 myUnresolveDepth;
259 uint8 myEvaluationDepth;
263 bool myPartialSrc : 1;
264 bool myPartialDst : 1;
265 bool myIsResolved : 1;
269 #ifdef PDGE_DEBUG_ENABLE_NAMES
273 #ifdef PDGE_DEBUG_ENABLE_IDS
bool tryResolve(int count=1)
uint8 state() const
Returns the current state value of the dependency.
UT_TBBSpinLock & edgeLock() const
Returns the edge lock for this dependency object.
One or more work items failed during the cook.
PDGE_DependencyOwner * owner() const
Returns the object that owns this dependency.
The service client is sent the "reset" command.
bool isHeavy() const
Returns true if this dependency has a heavy-weight evaluation routine.
bool isPartialDst() const
const Array & dependents() const
Returns the array of all dependents.
bool hasDependencies() const
Returns true if this object has any dependencies.
void updateState(State state)
ORs the state value into the current state.
GLuint const GLchar * name
std::pair< PDGE_Dependency *, OwnerArray > PartialPair
const Set & dependencies() const
Returns the set of all dependencies.
bool hasDependents() const
Returns true if this object has any dependents.
bool isPartialSrc() const
bool hasState(State state) const
Returns true if the current state value is set.
bool hasDependency(PDGE_Dependency *dependency) const
Returns true if this object has the specifed dependency.
One or more work items were canceled during the cook.