| 
    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