OpenCL C++ Bindings: cl::Buffer Class Reference

OpenCL C++ Bindings

Loading...
Searching...
No Matches
Public Member Functions | List of all members
cl::Buffer Class Reference

Class interface for Buffer Memory Objects. More...

`#include <opencl.hpp>`

Inheritance diagram for cl::Buffer:

## Public Member Functions
| Buffer (const Context &context, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in a specified context.
| Buffer (const Context &context, const vector< cl_mem_properties > &properties, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in a specified context and with specified properties.
| Buffer (cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in the default context.
| Buffer (const vector< cl_mem_properties > &properties, cl_mem_flags flags, size_type size, void *host_ptr=nullptr, cl_int *err=nullptr)
| Constructs a Buffer in the default context and with specified properties.
template<typename IteratorType >
| Buffer (IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| Construct a Buffer from a host container via iterators. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data.
template<typename IteratorType >
| Buffer (const Context &context, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| Construct a Buffer from a host container via iterators using a specified context. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data.
template<typename IteratorType >
| Buffer (const CommandQueue &queue, IteratorType startIterator, IteratorType endIterator, bool readOnly, bool useHostPtr=false, cl_int *err=nullptr)
| Construct a Buffer from a host container via iterators using a specified queue. If useHostPtr is specified iterators must be random access.
| Buffer ()
| Default constructor - initializes to nullptr.
| Buffer (const cl_mem &buffer, bool retainObject=false)
| Constructor from cl_mem - takes ownership.
Buffer & | operator= (const cl_mem &rhs)
| Assignment from cl_mem - performs shallow copy.
Buffer | createSubBuffer (cl_mem_flags flags, cl_buffer_create_type buffer_create_type, const void *buffer_create_info, cl_int *err=nullptr)
| Creates a new buffer object from this.
Public Member Functions inherited from cl::Memory
| Memory ()
| Default constructor - initializes to nullptr.
| Memory (const cl_mem &memory, bool retainObject)
| Constructor from cl_mem - takes ownership.
Memory & | operator= (const cl_mem &rhs)
| Assignment operator from cl_mem - takes ownership.
template<typename T >
cl_int | getInfo (cl_mem_info name, T *param) const
| Wrapper for clGetMemObjectInfo().
template<cl_mem_info name>
detail::param_traits< detail::cl_mem_info, name >::param_type | getInfo (cl_int *err=nullptr) const
| Wrapper for clGetMemObjectInfo() that returns by value.
cl_int | setDestructorCallback (void(CL_CALLBACK *pfn_notify)(cl_mem, void *), void *user_data=nullptr)
| Registers a callback function to be called when the memory object is no longer needed.
Public Member Functions inherited from cl::detail::Wrapper< cl_mem >
| Wrapper (const cl_type &obj, bool retainObject)
| Wrapper (const Wrapper< cl_type > &rhs)
| Wrapper (Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_
Wrapper< cl_type > & | operator= (const Wrapper< cl_type > &rhs)
Wrapper< cl_type > & | operator= (Wrapper< cl_type > &&rhs)
Wrapper< cl_type > & | operator= (const cl_type &rhs)
const cl_type & | operator() () const
cl_type & | operator() ()
cl_type | get () const

## Additional Inherited Members
Public Types inherited from cl::detail::Wrapper< cl_mem >
typedef cl_mem | cl_type
Protected Member Functions inherited from cl::detail::Wrapper< cl_mem >
cl_int | retain () const
cl_int | release () const
Protected Attributes inherited from cl::detail::Wrapper< cl_mem >
cl_type | object_

## Detailed Description

Class interface for Buffer Memory Objects.

See Memory for details about copy semantics, etc.

See also
  Memory

Definition at line 4089 of file opencl.hpp.

## Constructor & Destructor Documentation

## ◆ Buffer() [1/9]

cl::Buffer::Buffer | ( | const Context & | context,
|  | cl_mem_flags | flags,
|  | size_type | size,
|  | void * | host_ptr = `nullptr`,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Constructs a Buffer in a specified context.

Wraps clCreateBuffer().

Parameters

  host_ptr | Storage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.

Definition at line 4100 of file opencl.hpp.

## ◆ Buffer() [2/9]

cl::Buffer::Buffer | ( | const Context & | context,
|  | const vector< cl_mem_properties > & | properties,
|  | cl_mem_flags | flags,
|  | size_type | size,
|  | void * | host_ptr = `nullptr`,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Constructs a Buffer in a specified context and with specified properties.

Wraps clCreateBufferWithProperties().

Parameters

  properties | Optional list of properties for the buffer object and their corresponding values. The non-empty list must end with 0.
  host_ptr | Storage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.

Definition at line 4127 of file opencl.hpp.

## ◆ Buffer() [3/9]

cl::Buffer::Buffer | ( | cl_mem_flags | flags,
|  | size_type | size,
|  | void * | host_ptr = `nullptr`,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Constructs a Buffer in the default context.

Wraps clCreateBuffer().

Parameters

  host_ptr | Storage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.

See also
  Context::getDefault()

Definition at line 4162 of file opencl.hpp.

## ◆ Buffer() [4/9]

cl::Buffer::Buffer | ( | const vector< cl_mem_properties > & | properties,
|  | cl_mem_flags | flags,
|  | size_type | size,
|  | void * | host_ptr = `nullptr`,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Constructs a Buffer in the default context and with specified properties.

Wraps clCreateBufferWithProperties().

Parameters

  properties | Optional list of properties for the buffer object and their corresponding values. The non-empty list must end with 0.
  host_ptr | Storage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.

See also
  Context::getDefault()

Definition at line 4181 of file opencl.hpp.

## ◆ Buffer() [5/9]

template<typename IteratorType >

cl::Buffer::Buffer | ( | IteratorType | startIterator,
|  | IteratorType | endIterator,
|  | bool | readOnly,
|  | bool | useHostPtr = `false`,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Construct a Buffer from a host container via iterators. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data.

Definition at line 4195 of file opencl.hpp.

## ◆ Buffer() [6/9]

template<typename IteratorType >

cl::Buffer::Buffer | ( | const Context & | context,
|  | IteratorType | startIterator,
|  | IteratorType | endIterator,
|  | bool | readOnly,
|  | bool | useHostPtr = `false`,
|  | cl_int * | err = `nullptr`
| ) |  |

Construct a Buffer from a host container via iterators using a specified context. IteratorType must be random access. If useHostPtr is specified iterators must represent contiguous data.

Definition at line 9118 of file opencl.hpp.

## ◆ Buffer() [7/9]

template<typename IteratorType >

cl::Buffer::Buffer | ( | const CommandQueue & | queue,
|  | IteratorType | startIterator,
|  | IteratorType | endIterator,
|  | bool | readOnly,
|  | bool | useHostPtr = `false`,
|  | cl_int * | err = `nullptr`
| ) |  |

Construct a Buffer from a host container via iterators using a specified queue. If useHostPtr is specified iterators must be random access.

Definition at line 9169 of file opencl.hpp.

## ◆ Buffer() [8/9]

cl::Buffer::Buffer | ( |  | ) |
| inline

Default constructor - initializes to nullptr.

Definition at line 4258 of file opencl.hpp.

## ◆ Buffer() [9/9]

cl::Buffer::Buffer | ( | const cl_mem & | buffer,
|  | bool | retainObject = `false`
| ) |  |
| inlineexplicit

Constructor from cl_mem - takes ownership.

Parameters

  retainObject | will cause the constructor to retain its cl object. Defaults to false to maintain compatibility with earlier versions.

See Memory for further details.

Definition at line 4267 of file opencl.hpp.

## Member Function Documentation

## ◆ createSubBuffer()

Buffer cl::Buffer::createSubBuffer | ( | cl_mem_flags | flags,
|  | cl_buffer_create_type | buffer_create_type,
|  | const void * | buffer_create_info,
|  | cl_int * | err = `nullptr`
| ) |  |
| inline

Creates a new buffer object from this.

Wraps clCreateSubBuffer().

Definition at line 4286 of file opencl.hpp.

## ◆ operator=()

Buffer & cl::Buffer::operator= | ( | const cl_mem & | rhs | ) |
| inline

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 4274 of file opencl.hpp.

The documentation for this class was generated from the following file:

- opencl.hpp