#include <remove_copy_if.h>
Inheritance diagram for rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >:
Public Types | |
typedef RetType | result_type |
typedef RngIn | range_in_t |
typedef RngOut | range_out_t |
typedef UnaOp | args_functor |
typedef RngOut::iterator | internal_result_type |
The same as 'return_type' except for cases such as obuf_iterator. | |
Public Member Functions | |
remove_copy_if_args (const RngIn &aRngIn, const RngOut &aRngOut, const UnaOp &aFunc) | |
template<class SubRetType> | |
void | reduce (const SubRetType &refVal, seqnum_t idxVal) |
Most of times the parameter is RngOut::iterator. | |
const RngOut & | output_interval (void) const |
const result_type & | result (void) const |
const result_type & | operator() (void) |
Plain sequential execution. | |
template<class Thr> | |
threadify_t< UnaOp, Thr >::functor_type | threadize (Thr &refThr) |
Helper for wrapping a functor and its thread. | |
Public Attributes | |
seqnum_t | _numReduc |
If it is negative, it means that no result is available. | |
RngIn | _seqIn |
RngOut | _seqOut |
UnaOp | _Func |
typedef UnaOp rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::args_functor |
typedef RngOut::iterator rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::internal_result_type |
The same as 'return_type' except for cases such as obuf_iterator.
typedef RngIn rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::range_in_t |
typedef RngOut rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::range_out_t |
typedef RetType rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::result_type |
Reimplemented in rpa::remove_copy_if_seq_size_jump< RngIn, range_outp< obuf_iterator< IterOut, Buffer, IterBuf, void > >, Ftor >::functor_t, rpa::remove_copy_if_t< Range, ItOut, UnaOp >, rpa::remove_copy_if_t< rpa::range_void, SliceOut::iterator, Ftor >, rpa::remove_copy_if_t< RngIn, rpa::range_outp< rpa::obuf_iterator< IterOut, Buffer, IterBuf, Mutex > >, Ftor >, and rpa::remove_copy_if_t< RngIn, rpa::range_outp< rpa::obuf_iterator< IterOut, Buffer, IterBuf, void > >, Ftor >.
rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::remove_copy_if_args | ( | const RngIn & | aRngIn, | |
const RngOut & | aRngOut, | |||
const UnaOp & | aFunc | |||
) | [inline] |
const result_type& rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::operator() | ( | void | ) | [inline] |
Plain sequential execution.
Used when there is no or one sub-thread, or when a sub-thread executes the algorithm for one slice.
Beware : _seqOut.begin() and _seqOut.result() may not have the same type : If the output iterator is an obuf_iterator, the return type is too. But internally, another data type is used. This is why we separate these two types.
Beware that 'result' may not have the same datatype as 'begin'.
This will match, for example, two very different cases :
const RngOut& rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::output_interval | ( | void | ) | const [inline] |
void rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::reduce | ( | const SubRetType & | refVal, | |
seqnum_t | idxVal | |||
) | [inline] |
Most of times the parameter is RngOut::iterator.
const result_type& rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::result | ( | void | ) | const [inline] |
threadify_t< UnaOp,Thr >::functor_type rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::threadize | ( | Thr & | refThr | ) | [inline] |
Helper for wrapping a functor and its thread.
UnaOp rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::_Func |
seqnum_t rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::_numReduc |
If it is negative, it means that no result is available.
RngIn rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::_seqIn |
RngOut rpa::remove_copy_if_args< RngIn, RngOut, UnaOp, RetType >::_seqOut |