OpenCL C++ Bindings

Loading...
Searching...
No Matches
cl::Memory Class Reference

Class interface for cl_mem. More...

`#include <opencl.hpp>`

Inheritance diagram for cl::Memory:

## Public Member Functions
| 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< cl_type > & | operator= (const Wrapper< cl_type > &rhs)
const cl_type & | operator() () const
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 cl_mem.

Note
  Copies of these objects are shallow, meaning that the copy will refer to the same underlying cl_mem as the original. For details, see clRetainMemObject() and clReleaseMemObject().

See also
  cl_mem

Definition at line 3885 of file opencl.hpp.

## Constructor & Destructor Documentation

## ◆ Memory() [1/2]

cl::Memory::Memory | ( |  | ) |
| inline

Default constructor - initializes to nullptr.

Definition at line 3889 of file opencl.hpp.

## ◆ Memory() [2/2]

cl::Memory::Memory | ( | const cl_mem & | memory,
|  | bool | retainObject )
| inline explicit

Constructor from cl_mem - takes ownership.

Optionally transfer ownership of a refcount on the cl_mem into the new Memory object.

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 3902 of file opencl.hpp.

## Member Function Documentation

## ◆ getInfo() [1/2]

template<cl_mem_info name>

detail::param_traits< detail::cl_mem_info, name >::param_type cl::Memory::getInfo | ( | cl_int * | err = nullptr | ) | const
| inline

Wrapper for clGetMemObjectInfo() that returns by value.

Definition at line 3928 of file opencl.hpp.

## ◆ getInfo() [2/2]

template<typename T>

cl_int cl::Memory::getInfo | ( | cl_mem_info | name,
|  | T * | param ) const
| inline

Wrapper for clGetMemObjectInfo().

Definition at line 3918 of file opencl.hpp.

## ◆ operator=()

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

Assignment operator from cl_mem - takes ownership.

This effectively transfers ownership of a refcount on the rhs and calls clReleaseMemObject() on the value previously held by this instance.

Definition at line 3910 of file opencl.hpp.

## ◆ setDestructorCallback()

cl_int cl::Memory::setDestructorCallback | ( | void(CL_CALLBACK *pfn_notify)(cl_mem, void *) | ,
|  | void * | user_data = nullptr )
| inline

Registers a callback function to be called when the memory object is no longer needed.

Wraps clSetMemObjectDestructorCallback().

Repeated calls to this function, for a given cl_mem value, will append to the list of functions called (in reverse order) when memory object's resources are freed and the memory object is deleted.

Note
  The registered callbacks are associated with the underlying cl_mem value - not the Memory class instance.

Definition at line 3953 of file opencl.hpp.

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

- opencl.hpp