16#ifndef vtkSMPToolsImpl_h
17#define vtkSMPToolsImpl_h
19#include "vtkCommonCoreModule.h"
23#define VTK_SMP_MAX_BACKENDS_NB 4
25#define VTK_SMP_BACKEND_SEQUENTIAL 0
26#define VTK_SMP_BACKEND_STDTHREAD 1
27#define VTK_SMP_BACKEND_TBB 2
28#define VTK_SMP_BACKEND_OPENMP 3
45#if VTK_SMP_DEFAULT_IMPLEMENTATION_SEQUENTIAL
47#elif VTK_SMP_DEFAULT_IMPLEMENTATION_STDTHREAD
49#elif VTK_SMP_DEFAULT_IMPLEMENTATION_TBB
51#elif VTK_SMP_DEFAULT_IMPLEMENTATION_OPENMP
55template <BackendType Backend>
75 template <
typename FunctorInternal>
79 template <
typename InputIt,
typename OutputIt,
typename Functor>
80 void Transform(InputIt inBegin, InputIt inEnd, OutputIt outBegin, Functor transform);
83 template <
typename InputIt1,
typename InputIt2,
typename OutputIt,
typename Functor>
85 InputIt1 inBegin1, InputIt1 inEnd, InputIt2 inBegin2, OutputIt outBegin, Functor transform);
88 template <
typename Iterator,
typename T>
89 void Fill(Iterator begin, Iterator end,
const T& value);
92 template <
typename RandomAccessIterator>
93 void Sort(RandomAccessIterator begin, RandomAccessIterator end);
96 template <
typename RandomAccessIterator,
typename Compare>
97 void Sort(RandomAccessIterator begin, RandomAccessIterator end, Compare comp);
100 bool NestedActivated =
true;
101 bool IsParallel =
false;
void(*)(void *, vtkIdType, vtkIdType, vtkIdType) ExecuteFunctorPtrType
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.