#include <common.h>
Public Types | |
typedef range_out | range_type |
typedef It2 | iterator |
typedef It2 | result_t |
Public Member Functions | |
range_out (const result_t &aCurr) | |
const result_t & | result (void) const |
This must return the same data type as the constructor's one. | |
void | leave_seq (const iterator &anIter) |
void | leave_par (const typename slice::iterator &anIter) |
Used for parallel execution. | |
range_out (const range_out &aSO) | |
It2 | begout (void) const |
For sequential use only. The place at which the insertions start. | |
slice | chop (size_t aJmp) |
Private Member Functions | |
range_out & | operator= (const range_out &aSO) |
Private Attributes | |
It2 | _Curr |
Classes | |
class | slice |
typedef It2 rpa::range_jump< It >::range_out< It2, IterCat >::iterator |
typedef range_out rpa::range_jump< It >::range_out< It2, IterCat >::range_type |
This is the current type : We cannot simply reuse another type, because 'range_jump' has very specific needs.
typedef It2 rpa::range_jump< It >::range_out< It2, IterCat >::result_t |
rpa::range_jump< It >::range_out< It2, IterCat >::range_out | ( | const result_t & | aCurr | ) | [inline, explicit] |
rpa::range_jump< It >::range_out< It2, IterCat >::range_out | ( | const range_out< It2, IterCat > & | aSO | ) | [inline] |
It2 rpa::range_jump< It >::range_out< It2, IterCat >::begout | ( | void | ) | const [inline] |
For sequential use only. The place at which the insertions start.
slice rpa::range_jump< It >::range_out< It2, IterCat >::chop | ( | size_t | aJmp | ) | [inline] |
Once the new slice is extracted, we increment the internal iterator of just one position. This way, the next call will start a new slice, sharing no elements with all the other one, because these iterators for interleave scheduling, jump 'Nbr threads' at each incrementation. Should not be called when we reach the end of the input sequence.
void rpa::range_jump< It >::range_out< It2, IterCat >::leave_par | ( | const typename slice::iterator & | anIter | ) | [inline] |
Used for parallel execution.
void rpa::range_jump< It >::range_out< It2, IterCat >::leave_seq | ( | const iterator & | anIter | ) | [inline] |
This allows to update the latest iterator of this sequence, using the output result of a plain STL algorithm.
range_out& rpa::range_jump< It >::range_out< It2, IterCat >::operator= | ( | const range_out< It2, IterCat > & | aSO | ) | [private] |
const result_t& rpa::range_jump< It >::range_out< It2, IterCat >::result | ( | void | ) | const [inline] |
This must return the same data type as the constructor's one.
It2 rpa::range_jump< It >::range_out< It2, IterCat >::_Curr [private] |