Public Member Functions | |
tst_bounded_alloc (const ThrTree &aThrTree, size_t aBufSz, IterBuf aIterBuf) | |
const char * | what (void) const |
template<class RangeT> | |
void | operator() (const RangeT &aRng, ObjT::CounterT expectedCount, ListObjT &aLstOfObjs) |
rpa::thr_nb_t | thrs (void) const |
Number of threads. | |
Private Attributes | |
ThrTree | _ThrTree |
size_t | _BufSz |
IterBuf | _IterBuf |
tst_bounded_alloc< ThrTree, IterBuf >::tst_bounded_alloc | ( | const ThrTree & | aThrTree, | |
size_t | aBufSz, | |||
IterBuf | aIterBuf | |||
) | [inline] |
void tst_bounded_alloc< ThrTree, IterBuf >::operator() | ( | const RangeT & | aRng, | |
ObjT::CounterT | expectedCount, | |||
ListObjT & | aLstOfObjs | |||
) | [inline] |
* '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 tst_bounded_alloc< ThrTree, IterBuf >::thrs | ( | void | ) | const [inline] |
Number of threads.
const char* tst_bounded_alloc< ThrTree, IterBuf >::what | ( | void | ) | const [inline] |
size_t tst_bounded_alloc< ThrTree, IterBuf >::_BufSz [private] |
IterBuf tst_bounded_alloc< ThrTree, IterBuf >::_IterBuf [private] |
ThrTree tst_bounded_alloc< ThrTree, IterBuf >::_ThrTree [private] |