9 #ifndef __PDGE_RESOLUTIONS_H__
10 #define __PDGE_RESOLUTIONS_H__
34 , myIsDeferHeavy(defer_heavy) {}
39 std::move(array.myResolutions);
41 std::move(array.myPartials);
52 std::move(other.myResolutions);
54 std::move(other.myPartials);
55 myIsSerial = other.myIsSerial;
56 myIsDeferHeavy = other.myIsDeferHeavy;
61 int64 getMemoryUsage(
bool inclusive)
const;
67 myResolutions.clear();
84 resolutions.myResolutions);
86 resolutions.myPartials);
91 {
return myResolutions.size(); }
95 {
return myPartials.size(); }
100 {
return myIsSerial; }
105 { myResolutions.append(dependency); }
123 template <
typename T>
131 PDGE_DependencyOwner::cast<T>(
134 return addPartial(dependency,
141 template <
typename T>
149 PDGE_DependencyOwner::cast<T>(
152 return addPartial(dependency,
160 void evaluateResolves(
168 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.
bool addPartial(PDGE_Dependency *dependency, const UT_Array< UT_UniquePtr< T >> &owners, bool ascending=true, bool serial=false)
Save as above, but with an arbitrarily typed array of unique pointers.
exint numPartials() const
Returns the number of partial resolutions in the array.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
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)