Struct executorch_sys::torch::executor::ArrayRef
source · #[repr(C)]pub struct ArrayRef<T> {
pub Data: *const T,
pub Length: ArrayRef_size_type,
pub _phantom_0: PhantomData<UnsafeCell<T>>,
}Expand description
Represents a constant reference to an array (0 or more elements consecutively in memory), i.e. a start pointer and a length. It allows various APIs to take consecutive elements easily and conveniently.
This class does not own the underlying data, it is expected to be used in situations where the data resides in some other buffer, whose lifetime extends past that of the ArrayRef. For this reason, it is not in general safe to store an ArrayRef.
Span and ArrayRef are extrememly similar with the difference being ArrayRef views a list of constant elements and Span views a list of mutable elements. Clients should decide between the two based on if the list elements for their use case should be mutable.
This is intended to be trivially copyable, so it should be passed by value.
Fields§
§Data: *const TThe start of the array, in an external buffer.
Length: ArrayRef_size_typeThe number of elements.
_phantom_0: PhantomData<UnsafeCell<T>>