ASL  0.1.7
Advanced Simulation Library
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:
Inheritance graph
[legend]
Collaboration diagram for cl::Buffer:
Collaboration graph
[legend]

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. More...
 
 Buffer (cl_mem_flags flags, ::size_t 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 represent contiguous data. More...
 
 Buffer ()
 Default constructor - initializes to NULL. More...
 
__CL_EXPLICIT_CONSTRUCTORS Buffer (const cl_mem &buffer)
 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...
 
- Public Member Functions inherited from cl::Memory
 Memory ()
 Default constructor - initializes to NULL. More...
 
__CL_EXPLICIT_CONSTRUCTORS Memory (const cl_mem &memory)
 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...
 
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...
 
- Public Member Functions inherited from cl::detail::Wrapper< cl_mem >
 Wrapper ()
 
 Wrapper (const cl_type &obj)
 
 Wrapper (const Wrapper< cl_type > &rhs)
 
 ~Wrapper ()
 
Wrapper< cl_type > & operator= (const Wrapper< cl_type > &rhs)
 
Wrapper< cl_type > & operator= (const cl_type &rhs)
 
cl_type operator() () const
 
cl_typeoperator() ()
 

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 3017 of file cl.hpp.

Constructor & Destructor Documentation

◆ Buffer() [1/8]

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.

Definition at line 3028 of file cl.hpp.

◆ Buffer() [2/8]

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()

Definition at line 3053 of file cl.hpp.

◆ Buffer() [3/8]

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.

Definition at line 3077 of file cl.hpp.

◆ Buffer() [4/8]

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.

◆ Buffer() [5/8]

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 represent contiguous data.

Definition at line 6530 of file cl.hpp.

◆ Buffer() [6/8]

cl::Buffer::Buffer ( )
inline

Default constructor - initializes to NULL.

Definition at line 3140 of file cl.hpp.

◆ Buffer() [7/8]

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

Constructor from cl_mem - takes ownership.

See Memory for further details.

Definition at line 3146 of file cl.hpp.

◆ Buffer() [8/8]

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

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

Definition at line 3161 of file cl.hpp.

Member Function Documentation

◆ operator=() [1/2]

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

Assignment from cl_mem - performs shallow copy.

See Memory for further details.

Definition at line 3152 of file cl.hpp.

◆ operator=() [2/2]

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

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

Definition at line 3166 of file cl.hpp.


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