FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Member Functions | List of all members
cl::Buffer Class Reference

Class interface for Buffer Memory Objects. More...

#include <cl.hpp>

Inheritance diagram for cl::Buffer:
cl::Memory cl::detail::Wrapper< cl_mem > cl::BufferGL cl::BufferRenderGL

Public Member Functions

 Buffer (const Context &context, cl_mem_flags flags, ::size_t size, void *host_ptr=NULL, cl_int *err=NULL)
 Constructs a Buffer in a specified context.
 
 Buffer (cl_mem_flags flags, ::size_t size, void *host_ptr=NULL, cl_int *err=NULL)
 Constructs a Buffer in the default context.
 
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.
 
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.
 
 Buffer ()
 Default constructor - initializes to NULL.
 
 Buffer (const Buffer &buffer)
 Copy constructor - performs shallow copy.
 
__CL_EXPLICIT_CONSTRUCTORS Buffer (const cl_mem &buffer)
 Constructor from cl_mem - takes ownership.
 
Bufferoperator= (const Buffer &rhs)
 Assignment from Buffer - performs shallow copy.
 
Bufferoperator= (const cl_mem &rhs)
 Assignment from cl_mem - performs shallow copy.
 
- Public Member Functions inherited from cl::Memory
 ~Memory ()
 Destructor.
 
 Memory ()
 Default constructor - initializes to NULL.
 
 Memory (const Memory &memory)
 Copy constructor - performs shallow copy.
 
__CL_EXPLICIT_CONSTRUCTORS Memory (const cl_mem &memory)
 Constructor from cl_mem - takes ownership.
 
Memoryoperator= (const Memory &rhs)
 Assignment operator from Memory.
 
Memoryoperator= (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_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.
 
- Public Member Functions inherited from cl::detail::Wrapper< cl_mem >
 Wrapper (const cl_type &obj)
 
 Wrapper (const Wrapper< cl_type > &rhs)
 
Wrapper< cl_type > & operator= (const Wrapper< cl_type > &rhs)
 
Wrapper< cl_type > & operator= (const cl_type &rhs)
 
cl_type operator() () const
 
cl_type & operator() ()
 

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

◆ Buffer() [1/4]

cl::Buffer::Buffer ( const Context context,
cl_mem_flags  flags,
::size_t  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.

References size().

◆ Buffer() [2/4]

cl::Buffer::Buffer ( cl_mem_flags  flags,
::size_t  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()

References cl::Context::getDefault(), and size().

◆ Buffer() [3/4]

cl::Buffer::Buffer ( const Buffer buffer)
inline

Copy constructor - performs shallow copy.

See Memory for further details.

◆ Buffer() [4/4]

__CL_EXPLICIT_CONSTRUCTORS cl::Buffer::Buffer ( const cl_mem &  buffer)
inline

Constructor from cl_mem - takes ownership.

See Memory for further details.

Member Function Documentation

◆ operator=() [1/2]

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

Assignment from Buffer - performs shallow copy.

See Memory for further details.

References cl::Memory::operator=().

Referenced by cl::BufferGL::operator=(), cl::BufferRenderGL::operator=(), cl::BufferGL::operator=(), and cl::BufferRenderGL::operator=().

◆ operator=() [2/2]

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

References cl::Memory::operator=().