MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::BitSetParallel Namespace Reference

Typedefs

using Range = tbb::blocked_range<size_t>
 

Functions

template<typename IndexType >
auto blockRange (const IdRange< IndexType > &bitRange)
 
template<typename BS >
auto blockRange (const BS &bs)
 
template<typename BS >
auto bitRange (const BS &bs)
 
template<typename IndexType >
auto bitSubRange (const IdRange< IndexType > &bitRange, const tbb::blocked_range< size_t > &range, const tbb::blocked_range< size_t > &subRange)
 
MRMESH_API void forAllRanged (const Range &bitRange, FunctionRef< void(size_t, const Range &)> f)
 
MRMESH_API void forAllRanged (const Range &bitRange, FunctionRef< void(size_t, const Range &, void *)> f, FunctionRef< void *()> ctx)
 
MRMESH_API bool forAllRanged (const Range &bitRange, FunctionRef< void(size_t, const Range &, void *)> f, FunctionRef< void *()> ctx, ProgressCallback progressCb, size_t reportProgressEveryBit=1024)
 
template<typename BS , typename F , typename ... Cb>
auto ForAllRanged (const BS &bs, F &&f, Cb &&... cb)
 
template<typename BS , typename L , typename F , typename ... Cb>
auto ForAllRanged (const BS &bs, tbb::enumerable_thread_specific< L > &e, F &&f, Cb &&... cb)
 

Typedef Documentation

◆ Range

using MR::BitSetParallel::Range = tbb::blocked_range<size_t>

Function Documentation

◆ bitRange()

template<typename BS >
auto MR::BitSetParallel::bitRange ( const BS & bs)
inline

◆ bitSubRange()

template<typename IndexType >
auto MR::BitSetParallel::bitSubRange ( const IdRange< IndexType > & bitRange,
const tbb::blocked_range< size_t > & range,
const tbb::blocked_range< size_t > & subRange )

◆ blockRange() [1/2]

template<typename BS >
auto MR::BitSetParallel::blockRange ( const BS & bs)
inline

◆ blockRange() [2/2]

template<typename IndexType >
auto MR::BitSetParallel::blockRange ( const IdRange< IndexType > & bitRange)
inline

◆ ForAllRanged() [1/2]

template<typename BS , typename F , typename ... Cb>
auto MR::BitSetParallel::ForAllRanged ( const BS & bs,
F && f,
Cb &&... cb )

◆ ForAllRanged() [2/2]

template<typename BS , typename L , typename F , typename ... Cb>
auto MR::BitSetParallel::ForAllRanged ( const BS & bs,
tbb::enumerable_thread_specific< L > & e,
F && f,
Cb &&... cb )

◆ forAllRanged() [1/3]

MRMESH_API void MR::BitSetParallel::forAllRanged ( const Range & bitRange,
FunctionRef< void(size_t, const Range &)> f )

◆ forAllRanged() [2/3]

MRMESH_API void MR::BitSetParallel::forAllRanged ( const Range & bitRange,
FunctionRef< void(size_t, const Range &, void *)> f,
FunctionRef< void *()> ctx )

◆ forAllRanged() [3/3]

MRMESH_API bool MR::BitSetParallel::forAllRanged ( const Range & bitRange,
FunctionRef< void(size_t, const Range &, void *)> f,
FunctionRef< void *()> ctx,
ProgressCallback progressCb,
size_t reportProgressEveryBit = 1024 )