STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator> Class Template Reference

#include <ppl.h>

Public Member Functions

 _Parallel_transform_binary_helper (_Input_iterator1 &_First1, _Input_iterator1 _Last1, _Input_iterator2 &_First2, _Output_iterator &_Result, const _Binary_operator&_Binary_op)
 
void operator() () const
 

Private Member Functions

_Parallel_transform_binary_helper const & operator= (_Parallel_transform_binary_helper const &)
 

Private Attributes

_Iterator_helper< _Input_iterator1, typename std::iterator_traits< _Input_iterator1 >::iterator_category > _M_input_helper1
 
_Iterator_helper< _Input_iterator2, typename std::iterator_traits< _Input_iterator2 >::iterator_category > _M_input_helper2
 
_Iterator_helper< _Output_iterator, typename std::iterator_traits< _Output_iterator >::iterator_category > _M_output_helper
 
const _Binary_operator& _M_binary_op
 
size_t _M_len
 

Constructor & Destructor Documentation

template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_Parallel_transform_binary_helper ( _Input_iterator1 &  _First1,
_Input_iterator1  _Last1,
_Input_iterator2 &  _First2,
_Output_iterator &  _Result,
const _Binary_operator&  _Binary_op 
)
inline
3698  :
3699  _M_binary_op(_Binary_op), _M_len(0)
3700  {
3701  _M_len = _M_input_helper1._Populate(_First1, _Last1);
3702  _M_input_helper2._Populate(_First2, _M_len);
3703  _M_output_helper._Populate(_Result, _M_len);
3704  }
_Iterator_helper< _Input_iterator2, typename std::iterator_traits< _Input_iterator2 >::iterator_category > _M_input_helper2
Definition: ppl.h:3719
_Iterator_helper< _Input_iterator1, typename std::iterator_traits< _Input_iterator1 >::iterator_category > _M_input_helper1
Definition: ppl.h:3718
const _Binary_operator& _M_binary_op
Definition: ppl.h:3721
_Iterator_helper< _Output_iterator, typename std::iterator_traits< _Output_iterator >::iterator_category > _M_output_helper
Definition: ppl.h:3720
size_t _Populate(_Forward_iterator &_First, _Forward_iterator _Last)
Definition: ppl.h:3607

Member Function Documentation

template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
void Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::operator() ( ) const
inline
3707  {
3708  // Invoke parallel_for on the batched up array of elements
3709  Concurrency::_Parallel_for_impl(static_cast<size_t>(0), _M_len, static_cast<size_t>(1),
3710  [this] (size_t _Index)
3711  {
3713  });
3714  }
void _Parallel_for_impl(_Index_type _First, _Index_type _Last, _Index_type _Step, const _Function &_Func, _Partitioner &&_Part)
Definition: ppl.h:2477
_Iterator_helper< _Input_iterator2, typename std::iterator_traits< _Input_iterator2 >::iterator_category > _M_input_helper2
Definition: ppl.h:3719
_Iterator_helper< _Input_iterator1, typename std::iterator_traits< _Input_iterator1 >::iterator_category > _M_input_helper1
Definition: ppl.h:3718
const _Binary_operator& _M_binary_op
Definition: ppl.h:3721
_Iterator_helper< _Output_iterator, typename std::iterator_traits< _Output_iterator >::iterator_category > _M_output_helper
Definition: ppl.h:3720
void _Store(const value_type &_Elem, size_t _Index) const
Definition: ppl.h:3629
std::iterator_traits< _Forward_iterator >::reference _Load(size_t _Index) const
Definition: ppl.h:3634
template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
_Parallel_transform_binary_helper const& Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::operator= ( _Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator> const &  )
private

Member Data Documentation

template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
const _Binary_operator& Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_M_binary_op
private
template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
_Iterator_helper<_Input_iterator1, typename std::iterator_traits<_Input_iterator1>::iterator_category> Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_M_input_helper1
private
template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
_Iterator_helper<_Input_iterator2, typename std::iterator_traits<_Input_iterator2>::iterator_category> Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_M_input_helper2
private
template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
size_t Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_M_len
private
template<typename _Input_iterator1, typename _Input_iterator2, typename _Output_iterator, typename _Binary_operator>
_Iterator_helper<_Output_iterator, typename std::iterator_traits<_Output_iterator>::iterator_category> Concurrency::_Parallel_transform_binary_helper< _Input_iterator1, _Input_iterator2, _Output_iterator, _Binary_operator>::_M_output_helper
private

The documentation for this class was generated from the following file: