OpenPose  1.0.0rc2
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cl::Buffer Class Reference

Class interface for Buffer Memory Objects. More...

#include <cl2.hpp>

Inherits cl::Memory.

Inherited by cl::BufferGL, and cl::BufferRenderGL.

Public Member Functions

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

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

Constructor & Destructor Documentation

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

Constructs a Buffer in a specified context.

Wraps clCreateBuffer().

Parameters
host_ptrStorage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.
cl::Buffer::Buffer ( cl_mem_flags  flags,
size_type  size,
void *  host_ptr = NULL,
cl_int *  err = NULL 
)
inline

Constructs a Buffer in the default context.

Wraps clCreateBuffer().

Parameters
host_ptrStorage to be used if the CL_MEM_USE_HOST_PTR flag was specified. Note alignment & exclusivity requirements.
See Also
Context::getDefault()
template<typename IteratorType >
cl::Buffer::Buffer ( IteratorType  startIterator,
IteratorType  endIterator,
bool  readOnly,
bool  useHostPtr = false,
cl_int *  err = NULL 
)
inline

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 >
cl::Buffer::Buffer ( const Context context,
IteratorType  startIterator,
IteratorType  endIterator,
bool  readOnly,
bool  useHostPtr = false,
cl_int *  err = NULL 
)

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 >
cl::Buffer::Buffer ( const CommandQueue queue,
IteratorType  startIterator,
IteratorType  endIterator,
bool  readOnly,
bool  useHostPtr = false,
cl_int *  err = NULL 
)

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

cl::Buffer::Buffer ( )
inline

Default constructor - initializes to NULL.

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

Constructor from cl_mem - takes ownership.

Parameters
retainObjectwill cause the constructor to retain its cl object. Defaults to false to maintain compatibility with earlier versions.

See Memory for further details.

cl::Buffer::Buffer ( const Buffer buf)
inline

Copy constructor to forward copy to the superclass correctly. Required for MSVC.

cl::Buffer::Buffer ( Buffer &&  buf)
inline

Move constructor to forward move to the superclass correctly. Required for MSVC.

Member Function Documentation

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

Creates a new buffer object from this.

Wraps clCreateSubBuffer().

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Buffer& cl::Buffer::operator= ( const Buffer buf)
inline

Copy assignment to forward copy to the superclass correctly. Required for MSVC.

Buffer& cl::Buffer::operator= ( Buffer &&  buf)
inline

Move assignment to forward move to the superclass correctly. Required for MSVC.


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