|
| SVMAllocator (cl::Context context) |
|
| SVMAllocator (const SVMAllocator &other) |
|
template<typename U > |
| SVMAllocator (const SVMAllocator< U, SVMTrait > &other) |
|
pointer | address (reference r) CL_HPP_NOEXCEPT_ |
|
const_pointer | address (const_reference r) CL_HPP_NOEXCEPT_ |
|
pointer | allocate (size_type size, typename cl::SVMAllocator< void, SVMTrait >::const_pointer=0) |
|
void | deallocate (pointer p, size_type) |
|
size_type | max_size () const CL_HPP_NOEXCEPT_ |
|
template<class U , class... Args> |
void | construct (U *p, Args &&... args) |
|
template<class U > |
void | destroy (U *p) |
|
bool | operator== (SVMAllocator const &rhs) |
|
bool | operator!= (SVMAllocator const &a) |
|
template<typename T, class SVMTrait>
class cl::SVMAllocator< T, SVMTrait >
STL-like allocator class for managing SVM objects provided for convenience.
Note that while this behaves like an allocator for the purposes of constructing vectors and similar objects, care must be taken when using with smart pointers. The allocator should not be used to construct a unique_ptr if we are using coarse-grained SVM mode because the coarse-grained management behaviour would behave incorrectly with respect to reference counting.
Instead the allocator embeds a Deleter which may be used with unique_ptr and is used with the allocate_shared and allocate_ptr supplied operations.
Definition at line 3551 of file cl2.hpp.