18 #ifndef __itkOpenCLVector_h
19 #define __itkOpenCLVector_h
51 template<
typename T >
104 void Read( T * data,
const std::size_t count,
const std::size_t offset = 0 );
108 void Write(
const T * data,
const std::size_t count,
const std::size_t offset = 0 );
111 void Write(
const Vector< T > & data,
const std::size_t offset = 0 );
132 template<
typename charT,
typename traits,
typename dataType >
134 std::basic_ostream< charT, traits > &
135 operator<<( std::basic_ostream< charT, traits > & strm,
140 strm <<
"OpenCLVector(null)";
144 const char indent =
' ';
146 strm <<
"OpenCLVector" << std::endl
147 << indent <<
"Size: " << vector.
GetSize() << std::endl;
157 #ifndef ITK_MANUAL_INSTANTIATION
158 #include "itkOpenCLVector.hxx"
The OpenCLBuffer class represents an OpenCL buffer object.
The OpenCLContext class represents an OpenCL context.
The base class for the OpenCLVector implementation.
The OpenCLVector class represents a templated OpenCL buffer object.
OpenCLVector(const OpenCLVector< T > &other)
OpenCLContext * GetContext() const
OpenCLVector< T > & operator=(const OpenCLVector< T > &other)
std::vcl_size_t GetSize() const
void Write(const T *data, const std::vcl_size_t count, const std::vcl_size_t offset=0)
void Write(const Vector< T > &data, const std::vcl_size_t offset=0)
T & operator[](const std::vcl_size_t index)
const T & operator[](const std::vcl_size_t index) const
OpenCLVector(OpenCLContext *context, const OpenCLMemoryObject::Access access, const std::vcl_size_t size)
void Read(T *data, const std::vcl_size_t count, const std::vcl_size_t offset=0)
OpenCLBuffer GetBuffer() const
std::basic_ostream< charT, traits > & operator<<(std::basic_ostream< charT, traits > &strm, const OpenCLCommandQueue &queue)