Lines Matching full:layout
3 //! Memory layout.
5 //! Custom layout types extending or improving [`Layout`].
7 use core::{alloc::Layout, marker::PhantomData};
12 /// A layout for an array `[T; n]`.
32 /// Creates a new layout for `[T; 0]`.
41 /// Creates a new layout for `[T; len]`.
50 /// # use kernel::alloc::layout::{ArrayLayout, LayoutError};
51 /// let layout = ArrayLayout::<i32>::new(15)?;
52 /// assert_eq!(layout.len(), 15);
55 /// let layout = ArrayLayout::<i32>::new(isize::MAX as usize);
56 /// assert!(layout.is_err());
60 /// let layout = ArrayLayout::<i32>::new(isize::MAX as usize / 2);
61 /// assert!(layout.is_err());
78 /// Creates a new layout for `[T; len]`.
92 /// Returns the number of array elements represented by this layout.
97 /// Returns `true` when no array elements are represented by this layout.
103 impl<T> From<ArrayLayout<T>> for Layout { implementation
105 let res = Layout::array::<T>(value.len); in from()