9 #ifndef PDG_PARTITION_HOLDER
10 #define PDG_PARTITION_HOLDER
35 bool addItemToPartition(
42 bool addItemToPartition(
49 bool addItemToPartition(
57 bool addItemToAllPartitions(
62 void setPartitionFrame(
67 void setPartitionFrame(
73 {
return myPartitions; }
77 {
return myRequiredMap; }
87 {
return myMaxIndex; }
92 {
return myNumPartitions; }
96 {
return mySplitAttrib; }
100 {
return mySplitValue; }
105 {
return myIsSplitting; }
110 {
return mySplitMissing; }
112 {
return mySplitMissing; }
118 auto&& iter = myWorkItemMap.find(
id);
119 if (iter == myWorkItemMap.end())
129 bool isAllSetOnly()
const;
149 bool check_all)
const;
163 int* current_size)
const;
168 int* current_size)
const;
175 IndexMap myPartitions;
176 IndexMap myRequiredMap;
177 IndexFrameMap myFrameMap;
181 StringFrameMap myNamedFrameMap;
196 bool myHasLoopInputs;
exint PDG_WorkItemID
Type defs for unique work item IDs.
PDG_WorkItemArray & splitMissing()
int maxIndex() const
Returns the current max index of all partitions added to the holder.
UT_Optional< fpreal > PDG_OptionalFrame
Optional frame value, used when constructing work items and partitions.
const UT_StringHolder & splitAttribute() const
Returns the split attribute name.
PDG_WorkItem * partitionInput(PDG_WorkItemID id) const
const PDG_WorkItemArray & splitMissing() const
GLuint const GLchar * name
const PDG_WorkItemIDSet & allSet() const
const IndexMap & required() const
Returns the items that should be marked as required for each partition.
const UT_StringHolder & splitValue() const
Returns the current split attribute value.
int numPartitions() const
const IndexMap & partitions() const
Returns the partition map.
std::unordered_map< string, string > StringMap
An unordered map with strings as both keys and values.