Esempio n. 1
0
inline future<OutputIterator>
dispatch_copy_async(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_async(first, last, result, queue);
}
Esempio n. 2
0
inline future<OutputIterator>
dispatch_copy_async(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_async(first, last, result, queue);
}