Public Member Functions | |
t_unbounded_alloc (ThrTree aThrTree, IterBuf aIterBuf) | |
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 |
IterBuf | _IterBuf |
t_unbounded_alloc< ThrTree, IterBuf >::t_unbounded_alloc | ( | ThrTree | aThrTree, | |
IterBuf | aIterBuf | |||
) | [inline] |
void t_unbounded_alloc< ThrTree, IterBuf >::operator() | ( | RangeT | aRng, | |
VecDataT & | aVecDatRef | |||
) | [inline] |
We pass the output argument as a reference because it avoids a useless and slow vector copy.
* 'obuf_iterator' does the same as '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. No mutex is necessary because the buffers have an unlimited size and will be flushed at the end of the execution.
rpa::thr_nb_t t_unbounded_alloc< ThrTree, IterBuf >::thrs | ( | void | ) | const [inline] |
Number of threads.
const string& t_unbounded_alloc< ThrTree, IterBuf >::what | ( | void | ) | const [inline] |
IterBuf t_unbounded_alloc< ThrTree, IterBuf >::_IterBuf [private] |
ThrTree t_unbounded_alloc< ThrTree, IterBuf >::_ThrTree [private] |
string t_unbounded_alloc< ThrTree, IterBuf >::_what [private] |