rpa::range_jump< It >::range_out< It2, IterCat > Class Template Reference

In the general case, we keep the original order. More...

#include <common.h>

List of all members.

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_tresult (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_outoperator= (const range_out &aSO)

Private Attributes

It2 _Curr

Classes

class  slice


Detailed Description

template<class It>
template<class It2, class IterCat>
class rpa::range_jump< It >::range_out< It2, IterCat >

In the general case, we keep the original order.


Member Typedef Documentation

template<class It>
template<class It2, class IterCat>
typedef It2 rpa::range_jump< It >::range_out< It2, IterCat >::iterator

template<class It>
template<class It2, class IterCat>
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.

template<class It>
template<class It2, class IterCat>
typedef It2 rpa::range_jump< It >::range_out< It2, IterCat >::result_t


Constructor & Destructor Documentation

template<class It>
template<class It2, class IterCat>
rpa::range_jump< It >::range_out< It2, IterCat >::range_out ( const result_t aCurr  )  [inline, explicit]

template<class It>
template<class It2, class IterCat>
rpa::range_jump< It >::range_out< It2, IterCat >::range_out ( const range_out< It2, IterCat > &  aSO  )  [inline]


Member Function Documentation

template<class It>
template<class It2, class IterCat>
It2 rpa::range_jump< It >::range_out< It2, IterCat >::begout ( void   )  const [inline]

For sequential use only. The place at which the insertions start.

template<class It>
template<class It2, class IterCat>
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.

template<class It>
template<class It2, class IterCat>
void rpa::range_jump< It >::range_out< It2, IterCat >::leave_par ( const typename slice::iterator anIter  )  [inline]

Used for parallel execution.

template<class It>
template<class It2, class IterCat>
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.

template<class It>
template<class It2, class IterCat>
range_out& rpa::range_jump< It >::range_out< It2, IterCat >::operator= ( const range_out< It2, IterCat > &  aSO  )  [private]

template<class It>
template<class It2, class IterCat>
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.


Member Data Documentation

template<class It>
template<class It2, class IterCat>
It2 rpa::range_jump< It >::range_out< It2, IterCat >::_Curr [private]


The documentation for this class was generated from the following file:
Generated on Tue Sep 25 10:20:37 2007 for rpa by  doxygen 1.4.7