9 #ifndef __PDGE_RESOLUTIONS_H__
10 #define __PDGE_RESOLUTIONS_H__
33 , myIsDeferHeavy(defer_heavy) {}
38 std::move(array.myResolutions);
40 std::move(array.myPartials);
51 std::move(other.myResolutions);
53 std::move(other.myPartials);
54 myIsSerial = other.myIsSerial;
55 myIsDeferHeavy = other.myIsDeferHeavy;
60 int64 getMemoryUsage(
bool inclusive)
const;
66 myResolutions.clear();
83 resolutions.myResolutions);
85 resolutions.myPartials);
90 {
return myResolutions.size(); }
94 {
return myPartials.size(); }
99 {
return myIsSerial; }
104 { myResolutions.append(dependency); }
122 template <
typename T>
130 PDGE_DependencyOwner::cast<T>(
133 return addPartial(dependency,
141 void evaluateResolves(
149 void evaluatePartials(
void clearPartials()
Clears only partial resolutions from the array.
bool addPartial(PDGE_Dependency *dependency, const UT_Array< T > &owners, bool ascending=true, bool serial=false)
Save as above, but with an arbitrarily typed array.
exint numPartials() const
Returns the number of partial resolutions in the array.
void concat(const PDGE_Resolutions &resolutions)
void addResolve(PDGE_Dependency *dependency)
Adds a new dependency to the list of full resolutions.
exint numResolves() const
Returns the number of full resolutions in the array.
PDGE_Resolutions(bool defer_heavy=true)
PDGE_Resolutions & operator=(PDGE_Resolutions &&other)
PDGE_Resolutions(PDGE_Resolutions &&array)