Systems
/*
thrust::cpp
is a top-level alias for thrust::system::cpp. */namespace thrust::cpp { … }
/* thrust::system
is the namespace which contains specific Thrust backend systems. It also contains functionality for reporting error conditions originating from the operating system or other low-level application program interfaces such as the CUDA runtime. They are provided in a separate namespace for import convenience but are also aliased in the top-level thrust
namespace for easy access. */namespace thrust::system { … }
namespace thrust::system::omp { … }
namespace thrust::system::cpp { … }
/* thrust::system::cuda
is the namespace containing functionality for allocating, manipulating, and deallocating memory available to Thrust's CUDA backend system. The identifiers are provided in a separate namespace underneath thrust::system
for import convenience but are also aliased in the top-level thrust::cuda
namespace for easy access. */namespace thrust::system::cuda { … }
namespace thrust::system::tbb { … }
/* thrust::omp
is a top-level alias for thrust::system::omp. */namespace thrust::omp { … }
/* thrust::tbb
is a top-level alias for thrust::system::tbb. */namespace thrust::tbb { … }
template <typename T> using thrust::system::cpp::pointer = see below;
template <typename T> using thrust::system::cpp::universal_pointer = see below;
template <typename T> using thrust::system::cpp::reference = see below;
template <typename T> using thrust::system::omp::pointer = see below;
template <typename T> using thrust::system::omp::universal_pointer = see below;
template <typename T> using thrust::system::omp::reference = see below;
template <typename T> using thrust::system::tbb::pointer = see below;
template <typename T> using thrust::system::tbb::universal_pointer = see below;
template <typename T> using thrust::system::tbb::reference = see below;
Types
Type Alias thrust::system::cpp::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 thrust::system::cpp::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 thrust::system::cpp::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 thrust::system::omp::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 thrust::system::omp::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 thrust::system::omp::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 thrust::system::tbb::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 thrust::system::tbb::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 thrust::system::tbb::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.