Systems

template <typename T> using pointer = see below;
template <typename T> using universal_pointer = see below;
template <typename T> using reference = see below;
template <typename T> using pointer = see below;
template <typename T> using universal_pointer = see below;
template <typename T> using reference = see below;
template <typename T> using pointer = see below;
template <typename T> using universal_pointer = see below;
template <typename T> using reference = see below;

Types

Type Alias pointer

template <typename T> using pointer = thrust::pointer< T, thrust::system::cpp::tag, thrust::tagged_reference< T, thrust::system::cpp::tag > >; cpp::pointer stores a pointer to an object allocated in memory accessible by the cpp system. This type provides type safety when dispatching algorithms on ranges resident in cpp memory.

cpp::pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

cpp::pointer can be created with the function cpp::malloc, or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a cpp::pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: cpp::pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by cpp::pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • cpp::malloc
  • cpp::free
  • raw_pointer_cast

Type Alias universal_pointer

template <typename T> using universal_pointer = thrust::pointer< T, thrust::system::cpp::tag, typename std::add_lvalue_reference< T >::type >; cpp::universal_pointer stores a pointer to an object allocated in memory accessible by the cpp system and host systems.

cpp::universal_pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

cpp::universal_pointer can be created with cpp::universal_allocator or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a cpp::universal_pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: cpp::universal_pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by cpp::universal_pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • cpp::universal_allocator
  • raw_pointer_cast

Type Alias reference

template <typename T> using reference = thrust::reference< T, thrust::system::cpp::tag >; reference is a wrapped reference to an object stored in memory available to the cpp system. reference is the type of the result of dereferencing a cpp::pointer.

Template Parameters: T: Specifies the type of the referenced object.

Type Alias pointer

template <typename T> using pointer = thrust::pointer< T, thrust::system::omp::tag, thrust::tagged_reference< T, thrust::system::omp::tag > >; omp::pointer stores a pointer to an object allocated in memory accessible by the omp system. This type provides type safety when dispatching algorithms on ranges resident in omp memory.

omp::pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

omp::pointer can be created with the function omp::malloc, or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a omp::pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: omp::pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by omp::pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • omp::malloc
  • omp::free
  • raw_pointer_cast

Type Alias universal_pointer

template <typename T> using universal_pointer = thrust::pointer< T, thrust::system::omp::tag, typename std::add_lvalue_reference< T >::type >; omp::universal_pointer stores a pointer to an object allocated in memory accessible by the omp system and host systems.

omp::universal_pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

omp::universal_pointer can be created with omp::universal_allocator or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a omp::universal_pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: omp::universal_pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by omp::universal_pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • omp::universal_allocator
  • raw_pointer_cast

Type Alias reference

template <typename T> using reference = thrust::tagged_reference< T, thrust::system::omp::tag >; reference is a wrapped reference to an object stored in memory available to the omp system. reference is the type of the result of dereferencing a omp::pointer.

Template Parameters: T: Specifies the type of the referenced object.

Type Alias pointer

template <typename T> using pointer = thrust::pointer< T, thrust::system::tbb::tag, thrust::tagged_reference< T, thrust::system::tbb::tag > >; tbb::pointer stores a pointer to an object allocated in memory accessible by the tbb system. This type provides type safety when dispatching algorithms on ranges resident in tbb memory.

tbb::pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

tbb::pointer can be created with the function tbb::malloc, or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a tbb::pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: tbb::pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by tbb::pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • tbb::malloc
  • tbb::free
  • raw_pointer_cast

Type Alias universal_pointer

template <typename T> using universal_pointer = thrust::pointer< T, thrust::system::tbb::tag, typename std::add_lvalue_reference< T >::type >; tbb::universal_pointer stores a pointer to an object allocated in memory accessible by the tbb system and host systems.

tbb::universal_pointer has pointer semantics: it may be dereferenced and manipulated with pointer arithmetic.

tbb::universal_pointer can be created with tbb::universal_allocator or by explicitly calling its constructor with a raw pointer.

The raw pointer encapsulated by a tbb::universal_pointer may be obtained by eiter its get member function or the raw_pointer_cast function.

Note: tbb::universal_pointer is not a “smart” pointer; it is the programmer’s responsibility to deallocate memory pointed to by tbb::universal_pointer.

Template Parameters: T: specifies the type of the pointee.

See:

  • tbb::universal_allocator
  • raw_pointer_cast

Type Alias reference

template <typename T> using reference = thrust::tagged_reference< T, thrust::system::tbb::tag >; reference is a wrapped reference to an object stored in memory available to the tbb system. reference is the type of the result of dereferencing a tbb::pointer.

Template Parameters: T: Specifies the type of the referenced object.