[−][src]Struct alloc_compose::SegregateAlloc
Dispatches calls to AllocRef between two allocators depending on the size allocated.
All allocations smaller than or equal to threshold will be dispatched to Small. The others
will go to Large.
Fields
small: Smalllarge: LargeTrait Implementations
impl<Small, Large, const THRESHOLD: usize> AllocRef for SegregateAlloc<Small, Large, THRESHOLD> where
Small: AllocRef,
Large: AllocRef, [src]
Small: AllocRef,
Large: AllocRef,
fn alloc(
&mut self,
layout: Layout,
init: AllocInit
) -> Result<MemoryBlock, AllocErr>[src]
&mut self,
layout: Layout,
init: AllocInit
) -> Result<MemoryBlock, AllocErr>
unsafe fn dealloc(&mut self, ptr: NonNull<u8>, layout: Layout)[src]
unsafe fn grow(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize,
placement: ReallocPlacement,
init: AllocInit
) -> Result<MemoryBlock, AllocErr>[src]
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize,
placement: ReallocPlacement,
init: AllocInit
) -> Result<MemoryBlock, AllocErr>
unsafe fn shrink(
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize,
placement: ReallocPlacement
) -> Result<MemoryBlock, AllocErr>[src]
&mut self,
ptr: NonNull<u8>,
layout: Layout,
new_size: usize,
placement: ReallocPlacement
) -> Result<MemoryBlock, AllocErr>
fn by_ref(&mut self) -> &mut Self[src]
impl<Small: Clone, Large: Clone, const THRESHOLD: usize> Clone for SegregateAlloc<Small, Large, THRESHOLD>[src]
fn clone(&self) -> SegregateAlloc<Small, Large, THRESHOLD>[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<Small: Copy, Large: Copy, const THRESHOLD: usize> Copy for SegregateAlloc<Small, Large, THRESHOLD>[src]
impl<Small: Debug, Large: Debug, const THRESHOLD: usize> Debug for SegregateAlloc<Small, Large, THRESHOLD>[src]
impl<Small, Large, const THRESHOLD: usize> Owns for SegregateAlloc<Small, Large, THRESHOLD> where
Small: Owns,
Large: Owns, [src]
Small: Owns,
Large: Owns,
fn owns(&self, memory: MemoryBlock) -> bool[src]
Auto Trait Implementations
impl<const THRESHOLD: usize, Small, Large> RefUnwindSafe for SegregateAlloc<Small, Large, THRESHOLD> where
Large: RefUnwindSafe,
Small: RefUnwindSafe,
Large: RefUnwindSafe,
Small: RefUnwindSafe,
impl<const THRESHOLD: usize, Small, Large> Send for SegregateAlloc<Small, Large, THRESHOLD> where
Large: Send,
Small: Send,
Large: Send,
Small: Send,
impl<const THRESHOLD: usize, Small, Large> Sync for SegregateAlloc<Small, Large, THRESHOLD> where
Large: Sync,
Small: Sync,
Large: Sync,
Small: Sync,
impl<const THRESHOLD: usize, Small, Large> Unpin for SegregateAlloc<Small, Large, THRESHOLD> where
Large: Unpin,
Small: Unpin,
Large: Unpin,
Small: Unpin,
impl<const THRESHOLD: usize, Small, Large> UnwindSafe for SegregateAlloc<Small, Large, THRESHOLD> where
Large: UnwindSafe,
Small: UnwindSafe,
Large: UnwindSafe,
Small: 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,
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> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
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.
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>,