MeshLib Documentation
Loading...
Searching...
No Matches
MRParallelFor.h File Reference
#include "MRVector.h"
#include "MRBox.h"
#include "MRProgressCallback.h"
#include "MRParallel.h"
#include <atomic>
#include <limits>
#include <thread>

Go to the source code of this file.

Namespaces

namespace  MR
 
namespace  MR::Parallel
 

Functions

template<typename I , typename CM , typename F >
void MR::Parallel::For (I begin, I end, const CM &callMaker, F &&f)
 
template<typename I , typename CM , typename F >
bool MR::Parallel::For (I begin, I end, const CM &callMaker, F &&f, ProgressCallback cb, size_t reportProgressEvery=1024)
 
template<typename I , typename ... F>
auto MR::ParallelFor (I begin, I end, F &&... f)
 
template<typename I , typename L , typename ... F>
auto MR::ParallelFor (I begin, I end, tbb::enumerable_thread_specific< L > &e, F &&... f)
 
template<typename T , typename ... F>
auto MR::ParallelFor (const std::vector< T > &v, F &&... f)
 
template<typename T , typename I , typename ... F>
auto MR::ParallelFor (const Vector< T, I > &v, F &&... f)
 
template<typename T >
std::pair< T, T > MR::parallelMinMax (const std::vector< T > &vec, const T *topExcluding=nullptr)
 
template<typename T , typename I >
auto MR::parallelMinMaxArg (const Vector< T, I > &vec, const T *topExcluding=nullptr)