HDK
|
#include <GA_SplittableRange.h>
Static Public Member Functions | |
static GA_Range | divideWork (const GA_Range &r, const UT_JobInfo &j) |
Static method to divide work for UT_ThreadedAlgorithm. More... | |
Additional Inherited Members | |
Public Types inherited from GA_Range | |
typedef GA_Iterator | const_iterator |
typedef GA_Iterator | iterator |
A range which can be split into multiple ranges for threading
A GA_SplittableRange can be split into separate ranges. All split ranges are guaranteed to not cross page boundaries, so each split range can be worked on by independent threads.
The range conforms to tbb::range semantics, but also provides methods for UT_ThreadedAlgorithm.
Definition at line 37 of file GA_SplittableRange.h.
|
inline |
Default constructor; object must be assigned before use.
Definition at line 41 of file GA_SplittableRange.h.
Construct a splittable range from any arbitrary range.
GA_SplittableRange::GA_SplittableRange | ( | const GA_SplittableRange & | range | ) |
Copy c-tor.
|
noexcept |
Move c-tor.
|
inline |
Definition at line 48 of file GA_SplittableRange.h.
|
inline |
UT_ParallelUtil interface
Definition at line 55 of file GA_SplittableRange.h.
GA_PageIterator GA_SplittableRange::beginPages | ( | ) | const |
Create an iterator over the pages in the range
GA_PageIterator GA_SplittableRange::beginPages | ( | const UT_JobInfo & | jobinfo | ) | const |
Create an iterator over the pages in the range
|
inline |
Convenience method to test whether we can multi-thread.
Definition at line 67 of file GA_SplittableRange.h.
|
inlinestatic |
Static method to divide work for UT_ThreadedAlgorithm.
Definition at line 88 of file GA_SplittableRange.h.
Get the offset of the first element in a page.
Definition at line 73 of file GA_SplittableRange.h.
GA_Range GA_SplittableRange::getJobElementRange | ( | const UT_JobInfo & | info | ) | const |
Get a range of elements for a given job.
|
inline |
Return the number of pages.
Definition at line 70 of file GA_SplittableRange.h.
Get an iterator over the elements in a given page.
|
inline |
UT_ParallelUtil interface
Definition at line 60 of file GA_SplittableRange.h.
GA_SplittableRange& GA_SplittableRange::operator= | ( | const GA_SplittableRange & | that | ) |
|
noexcept |
|
inline |
Split this range into two new ranges by splitting the RTI.
Definition at line 94 of file GA_SplittableRange.h.