Bolt  1.3
C++ template library with support for OpenCL
Functions
CL-filling

Functions

template<typename ForwardIterator , typename T >
void bolt::cl::fill (const bolt::cl::control &ctl, ForwardIterator first, ForwardIterator last, const T &value, const std::string &cl_code="")
 Fill assigns the value of value to each element in the range [first,last].
 
template<typename ForwardIterator , typename T >
void bolt::cl::fill (ForwardIterator first, ForwardIterator last, const T &value, const std::string &cl_code="")
 
template<typename OutputIterator , typename Size , typename T >
OutputIterator bolt::cl::fill_n (const bolt::cl::control &ctl, OutputIterator first, Size n, const T &value, const std::string &cl_code="")
 fill_n assigns the value value to every element in the range [first,first+n]. The return value is first + n.
 
template<typename OutputIterator , typename Size , typename T >
OutputIterator bolt::cl::fill_n (OutputIterator first, Size n, const T &value, const std::string &cl_code="")
 

Detailed Description

Function Documentation

template<typename ForwardIterator , typename T >
void bolt::cl::fill ( const bolt::cl::control ctl,
ForwardIterator  first,
ForwardIterator  last,
const T &  value,
const std::string &  cl_code = "" 
)

Fill assigns the value of value to each element in the range [first,last].

Parameters
ctlOptional control structure to control command-queue, debug, tuning, etc. See bolt::cl::control.
firstThe first element in the range of interest.
lastThe last element in the range of interest.
valueSets this value to elements in the range [first,last].
cl_codeOptional OpenCL(TM) code to be prepended to any OpenCL kernels used by this function.
Template Parameters
ForwardIteratoris a model of Forward Iterator, and InputIterator is mutable.
Tis a model of Assignable.

The following code snippet demonstrates how to fill a device_vector with a float value.

#include <bolt/cl/fill.h>
#include <stdlib.h>
...
bolt::cl::device_vector<float> v(10);
float x=25.0f;
bolt::cl::fill(v.begin(), v.end(), x);
// the elements of v are now assigned to the float value.
See Also
http://www.sgi.com/tech/stl/fill.html
template<typename OutputIterator , typename Size , typename T >
OutputIterator bolt::cl::fill_n ( const bolt::cl::control ctl,
OutputIterator  first,
Size  n,
const T &  value,
const std::string &  cl_code = "" 
)

fill_n assigns the value value to every element in the range [first,first+n]. The return value is first + n.

Parameters
ctlOptional control structure to control command-queue, debug, tuning, etc. See bolt::cl::control.
firstThe first element in the range of interest.
nThe size of the range of interest.
valueSets this value to elements in the range [first,first+n].
cl_codeOptional OpenCL(TM) code to be prepended to any OpenCL kernels used by this function.
Template Parameters
OutputIteratoris a model of Output Iterator
Sizeis an integral type (either signed or unsigned).
Tis a model of Assignable
Returns
first+n.

The following code snippet demonstrates how to fill a device_vector with a float value.

#include <bolt/cl/fill.h>
#include <stdlib.h>
...
bolt::cl::device_vector<float> v(10);
float x=25.0f;
bolt::cl::fill_n(v.begin(), 10, x);
// the elements of v are now assigned to the float value.
See Also
http://www.sgi.com/tech/stl/fill_n.html