HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
loops_impl.h File Reference
#include "pxr/pxr.h"
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_for_each.h>
#include <tbb/task_group.h>
+ Include dependency graph for loops_impl.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define WORK_IMPL_HAS_PARALLEL_FOR_TBB_RANGE
 

Functions

template<typename Fn >
PXR_NAMESPACE_OPEN_SCOPE void WorkImpl_ParallelForN (size_t n, Fn &&callback, size_t grainSize)
 
template<typename RangeType , typename Fn >
void WorkImpl_ParallelForTBBRange (const RangeType &range, Fn &&callback)
 
template<typename InputIterator , typename Fn >
void WorkImpl_ParallelForEach (InputIterator first, InputIterator last, Fn &&fn)
 

Macro Definition Documentation

#define WORK_IMPL_HAS_PARALLEL_FOR_TBB_RANGE

If this is not defined then WorkImpl_ParallelForTBBRange will default to a WorkDispatcher based WorkParallelForTBBRange that is provided in work/loops.h

Definition at line 21 of file loops_impl.h.

Function Documentation

template<typename InputIterator , typename Fn >
void WorkImpl_ParallelForEach ( InputIterator  first,
InputIterator  last,
Fn &&  fn 
)
inline

Implements WorkParallelForEach

Definition at line 73 of file loops_impl.h.

template<typename Fn >
PXR_NAMESPACE_OPEN_SCOPE void WorkImpl_ParallelForN ( size_t  n,
Fn &&  callback,
size_t  grainSize 
)

TBB Parallel For Implementation

Implements ParallelForN

Definition at line 31 of file loops_impl.h.

template<typename RangeType , typename Fn >
void WorkImpl_ParallelForTBBRange ( const RangeType &  range,
Fn &&  callback 
)
inline

Implements WorkParallelForTBBRange

Definition at line 63 of file loops_impl.h.