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)
void forAllRanged (const Range &bitRange, FunctionRef< void(size_t, const Range &)> f)
void forAllRanged (const Range &bitRange, FunctionRef< void(size_t, const Range &, void *)> f, FunctionRef< void *()> ctx)
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]

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

◆ forAllRanged() [2/3]

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

◆ forAllRanged() [3/3]

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