|
|
__host__ __device__ | SharedDevPtr () |
| | Default constructor (creates an "empty" instance)
|
| |
| template<typename Deleter > |
| __host__ | SharedDevPtr (T *ptr, Deleter d) |
| | Primary constructor.
|
| |
|
__host__ __device__ | ~SharedDevPtr () noexcept |
| | Destructor.
|
| |
|
__host__ __device__ | SharedDevPtr (const SharedDevPtr &other) noexcept |
| |
|
__host__ __device__ | SharedDevPtr (SharedDevPtr &&other) noexcept |
| |
|
__host__ __device__ SharedDevPtr & | operator= (const SharedDevPtr &other) noexcept |
| |
|
__host__ __device__ SharedDevPtr & | operator= (SharedDevPtr &&other) noexcept |
| |
|
__host__ __device__ void | swap (SharedDevPtr &other) noexcept |
| | swap the contents of this and other
|
| |
| __host__ __device__ void | reset () noexcept |
| | Release ownership of the owned resource (if any)
|
| |
|
__host__ __device__ __forceinline__ T * | get () const noexcept |
| | Return the stored pointer.
|
| |
| __host__ __device__ | operator bool () const noexcept |
| |
| __device__ __forceinline__ T & | operator* () const noexcept |
| | Dereference the stored pointer.
|
| |
| __device__ __forceinline__ T & | operator[] (std::ptrdiff_t idx) const |
| | Dereference the stored pointer.
|
| |
template<typename T>
class SharedDevPtr< T >
Wraps a device pointer while providing shared object semantics.
At a high level, this analogous to shared_ptr, but for device pointers.