|
Bolt
1.3
C++ template library with support for OpenCL
|
Functions | |
| template<typename InputIterator , typename OutputIterator > | |
| OutputIterator | bolt::amp::copy (const bolt::amp::control &ctl, InputIterator first, InputIterator last, OutputIterator result) |
| template<typename InputIterator , typename OutputIterator > | |
| OutputIterator | bolt::amp::copy (InputIterator first, InputIterator last, OutputIterator result) |
| template<typename InputIterator , typename Size , typename OutputIterator > | |
| OutputIterator | bolt::amp::copy_n (const bolt::amp::control &ctl, InputIterator first, Size n, OutputIterator result) |
| template<typename InputIterator , typename Size , typename OutputIterator > | |
| OutputIterator | bolt::amp::copy_n (InputIterator first, Size n, OutputIterator result) |
| OutputIterator bolt::amp::copy | ( | const bolt::amp::control & | ctl, |
| InputIterator | first, | ||
| InputIterator | last, | ||
| OutputIterator | result | ||
| ) |
copy copies each element from the sequence [first, last) to [result, result + (last - first)), i.e., it assigns *result = *first, then *(result + 1) = *(first + 1), and so on.
Calling copy with overlapping source and destination ranges has undefined behavior, as the order of copying on the GPU is not guaranteed.
| ctl | Optional Control structure to control accelerator, debug, tuning, etc.See bolt::amp::control. |
| first | Beginning of the source copy sequence. |
| last | End of the source copy sequence. |
| result | Beginning of the destination sequence. |
| InputIterator | is a model of InputIterator and InputIterator's value_type must be convertible to OutputIterator's value_type. |
| OutputIterator | is a model of OutputIterator |
The following demonstrates how to use copy.
| OutputIterator bolt::amp::copy_n | ( | const bolt::amp::control & | ctl, |
| InputIterator | first, | ||
| Size | n, | ||
| OutputIterator | result | ||
| ) |
copy_n copies each element from the sequence [first, first+n) to [result, result + n), i.e., it assigns *result = *first, then *(result + 1) = *(first + 1), and so on.
Calling copy_n with overlapping source and destination ranges has undefined behavior, as the order of copying on the GPU is not guaranteed.
| ctl | Optional Control structure to control accelerator, debug, tuning, etc.See bolt::amp::control. |
| first | Beginning of the source copy sequence. |
| n | Number of elements to copy. |
| result | Beginning of the destination sequence. |
| InputIterator | is a model of InputIterator and InputIterator's value_type must be convertible to OutputIterator's value_type. |
| Size | is an integral type. |
| OutputIterator | is a model of OutputIterator |
The following demonstrates how to use copy.
1.8.3