Public Member Functions | |
t_bounded_noall (ThrTree aThrTree, size_t aBufSz) | |
const string & | what (void) const |
template<class RangeT> | |
void | operator() (RangeT aRng, VecDataT &aVecDatRef) |
rpa::thr_nb_t | thrs (void) const |
Number of threads. | |
Private Attributes | |
string | _what |
ThrTree | _ThrTree |
size_t | _BufSz |
t_bounded_noall< ThrTree >::t_bounded_noall | ( | ThrTree | aThrTree, | |
size_t | aBufSz | |||
) | [inline] |
void t_bounded_noall< ThrTree >::operator() | ( | RangeT | aRng, | |
VecDataT & | aVecDatRef | |||
) | [inline] |
We pass the output argument as a reference because it avoids a useless and slow vector copy.
* 'buffer_back_inserter' does the same is 'back_inserter', but allows more parallelization. 'make_thread_tree' creates, out of any threads iterator, a 'thread_tree' object which is necessary for parallel execution. A mutex is necessary because buffers have a limited size and will be periodically flushed into the output iterator.
rpa::thr_nb_t t_bounded_noall< ThrTree >::thrs | ( | void | ) | const [inline] |
Number of threads.
const string& t_bounded_noall< ThrTree >::what | ( | void | ) | const [inline] |
size_t t_bounded_noall< ThrTree >::_BufSz [private] |
ThrTree t_bounded_noall< ThrTree >::_ThrTree [private] |
string t_bounded_noall< ThrTree >::_what [private] |