Skip to main content

DLManagedTensorVersioned

Struct DLManagedTensorVersioned 

Source
#[repr(C)]
pub struct DLManagedTensorVersioned { pub version: DLPackVersion, pub manager_ctx: *mut c_void, pub deleter: Option<unsafe extern "C" fn(self_: *mut DLManagedTensorVersioned)>, pub flags: u64, pub dl_tensor: DLTensor, }
Expand description

\brief A versioned and managed C Tensor object, manage memory of DLTensor.

This data structure is intended to facilitate the borrowing of DLTensor by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn’t need the tensor, it should call the deleter to notify the host that the resource is no longer needed.

\note This is the current standard DLPack exchange data structure.

Fields§

§version: DLPackVersion

\brief The API and ABI version of the current managed Tensor

§manager_ctx: *mut c_void

\brief the context of the original host framework.

Stores DLManagedTensorVersioned is used in the framework. It can also be NULL.

§deleter: Option<unsafe extern "C" fn(self_: *mut DLManagedTensorVersioned)>

\brief Destructor.

This should be called to destruct manager_ctx which holds the DLManagedTensorVersioned. It can be NULL if there is no way for the caller to provide a reasonable destructor. The destructor deletes the argument self as well.

§flags: u64

\brief Additional bitmask flags information about the tensor.

By default the flags should be set to 0.

\note Future ABI changes should keep everything until this field stable, to ensure that deleter can be correctly called.

\sa DLPACK_FLAG_BITMASK_READ_ONLY \sa DLPACK_FLAG_BITMASK_IS_COPIED

§dl_tensor: DLTensor

\brief DLTensor which is being memory managed

Trait Implementations§

Source§

impl Clone for DLManagedTensorVersioned

Source§

fn clone(&self) -> DLManagedTensorVersioned

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for DLManagedTensorVersioned

Source§

impl Debug for DLManagedTensorVersioned

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.