Template Class device_new_allocator

Nested Relationships

Inheritance Relationships

Derived Type

Class Documentation

template<typename T>
class device_new_allocator

device_new_allocator is a device memory allocator that employs the device_new function for allocation.

See

device_new

See

device_ptr

See

http://www.sgi.com/tech/stl/Allocators.html

Subclassed by thrust::device_allocator< T >

Public Types

typedef T value_type

Type of element allocated, T.

typedef device_ptr<T> pointer

Pointer to allocation, device_ptr<T>.

typedef device_ptr<const T> const_pointer

const pointer to allocation, device_ptr<const T>.

typedef device_reference<T> reference

Reference to allocated element, device_reference<T>.

typedef device_reference<const T> const_reference

const reference to allocated element, device_reference<const T>.

typedef std::size_t size_type

Type of allocation size, std::size_t.

typedef pointer::difference_type difference_type

Type of allocation difference, pointer::difference_type.

Public Functions

__host__ __device__ thrust::device_new_allocator::device_new_allocator()

No-argument constructor has no effect.

__host__ __device__ thrust::device_new_allocator::~device_new_allocator()

No-argument destructor has no effect.

__host__ __device__ thrust::device_new_allocator::device_new_allocator(device_new_allocator const &)

Copy constructor has no effect.

template<typename U>__host__ __device__ thrust::device_new_allocator::device_new_allocator(device_new_allocator < U > const &)

Constructor from other device_malloc_allocator has no effect.

__host__ __device__ pointer thrust::device_new_allocator::address(reference r)

Returns the address of an allocated object.

Return

&r.

__host__ __device__ const_pointer thrust::device_new_allocator::address(const_reference r)

Returns the address an allocated object.

Return

&r.

__host__ pointer thrust::device_new_allocator::allocate(size_type cnt, const_pointer = const_pointer (static_cast< T *>(0)))

Allocates storage for cnt objects.

Return

A pointer to uninitialized storage for cnt objects.

Note

Memory allocated by this function must be deallocated with deallocate.

Parameters
  • cnt: The number of objects to allocate.

__host__ void thrust::device_new_allocator::deallocate(pointer p, size_type)

Deallocates storage for objects allocated with allocate.

Note

Memory deallocated by this function must previously have been allocated with allocate.

Parameters
  • p: A pointer to the storage to deallocate.

  • cnt: The size of the previous allocation.

__host__ __device__ size_type thrust::device_new_allocator::max_size() const

Returns the largest value n for which allocate(n) might succeed.

Return

The largest value n for which allocate(n) might succeed.

__host__ __device__ bool thrust::device_new_allocator::operator==(device_new_allocator const &)

Compares against another device_malloc_allocator for equality.

Return

true

__host__ __device__ bool thrust::device_new_allocator::operator!=(device_new_allocator const & a)

Compares against another device_malloc_allocator for inequality.

Return

false

template<typename U>
struct rebind

The rebind metafunction provides the type of a device_new_allocator instantiated with another type.

Template Parameters
  • U: The other type to use for instantiation.

Public Types

template<>
typedef device_new_allocator<U> other

The typedef other gives the type of the rebound device_new_allocator.