Esempio n. 1
0
inline OutputIterator
dispatch_copy(InputIterator first,
              InputIterator last,
              OutputIterator result,
              command_queue &queue,
              typename boost::enable_if<
                  mpl::and_<
                      is_device_iterator<InputIterator>,
                      is_device_iterator<OutputIterator>,
                      mpl::not_<
                          can_copy_with_copy_buffer<
                              InputIterator, OutputIterator
                          >
                      >
                  >
              >::type* = 0)
{
    return copy_on_device(first, last, result, queue);
}
Esempio n. 2
0
inline OutputIterator
dispatch_copy(InputIterator first,
              InputIterator last,
              OutputIterator result,
              command_queue &queue,
              typename boost::enable_if_c<
                  is_device_iterator<InputIterator>::value &&
                  is_device_iterator<OutputIterator>::value &&
                  !(boost::is_same<
                        InputIterator,
                        buffer_iterator<typename InputIterator::value_type>
                        >::value &&
                    boost::is_same<
                        OutputIterator,
                        buffer_iterator<typename OutputIterator::value_type>
                    >::value &&
                    boost::is_same<
                        typename InputIterator::value_type,
                        typename OutputIterator::value_type
                    >::value)
              >::type* = 0)
{
    return copy_on_device(first, last, result, queue);
}