[−][src]Struct melange::tensor::heap_layout::HeapLayout
Vec
-backed contiguous layout that does not require a shape known
at compile time. This comes with some memory overhead to store both
the shape and intrinsic strides (i.e. cumulative products of the
dimensions).
HeapLayout
is the default dynamic storage in Melange and should
be prefered unless you have specific needs.
Trait Implementations
impl<T> Alloc for HeapLayout<T> where
T: Default + Clone,
[src]
T: Default + Clone,
impl<T: Clone> Clone for HeapLayout<T>
[src]
fn clone(&self) -> HeapLayout<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug> Debug for HeapLayout<T>
[src]
impl<T> Deref for HeapLayout<T>
[src]
impl<T> DerefMut for HeapLayout<T>
[src]
impl<T> DynamicFill<T> for HeapLayout<T> where
T: Clone,
[src]
T: Clone,
impl<'a, T> Layout<'a, T> for HeapLayout<T> where
T: 'static,
[src]
T: 'static,
type Iter = Chunks<'a, T>
type View = SliceLayout<'a, T>
fn shape(&self) -> Vec<usize>
[src]
fn strides(&self) -> Vec<usize>
[src]
fn opt_chunk_size(&self) -> usize
[src]
fn num_elements(&self) -> usize
[src]
fn chunks(&'a self, chunk_size: usize) -> Self::Iter
[src]
fn as_view_unchecked(
&'a self,
shape: Vec<usize>,
strides: Vec<usize>,
num_elements: usize,
opt_chunk_size: usize
) -> Self::View
[src]
&'a self,
shape: Vec<usize>,
strides: Vec<usize>,
num_elements: usize,
opt_chunk_size: usize
) -> Self::View
impl<'a, T> LayoutMut<'a, T> for HeapLayout<T> where
T: 'a,
[src]
T: 'a,
impl<T: PartialEq> PartialEq<HeapLayout<T>> for HeapLayout<T>
[src]
fn eq(&self, other: &HeapLayout<T>) -> bool
[src]
fn ne(&self, other: &HeapLayout<T>) -> bool
[src]
impl<T> StructuralPartialEq for HeapLayout<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for HeapLayout<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for HeapLayout<T> where
T: Send,
T: Send,
impl<T> Sync for HeapLayout<T> where
T: Sync,
T: Sync,
impl<T> Unpin for HeapLayout<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for HeapLayout<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,