Trait feanor_math::mempool::GrowableMemoryProvider

source ·
pub trait GrowableMemoryProvider<T>: MemoryProvider<T> {
    // Required methods
    fn shrink(&self, el: &mut Self::Object, new_len: usize);
    unsafe fn grow<F: FnOnce(&mut [MaybeUninit<T>])>(
        &self,
        el: &mut Self::Object,
        new_size: usize,
        initializer: F,
    );

    // Provided method
    fn grow_init<F: FnMut(usize) -> T>(
        &self,
        el: &mut Self::Object,
        new_size: usize,
        initializer: F,
    ) { ... }
}

Required Methods§

source

fn shrink(&self, el: &mut Self::Object, new_len: usize)

source

unsafe fn grow<F: FnOnce(&mut [MaybeUninit<T>])>( &self, el: &mut Self::Object, new_size: usize, initializer: F, )

Provided Methods§

source

fn grow_init<F: FnMut(usize) -> T>( &self, el: &mut Self::Object, new_size: usize, initializer: F, )

Object Safety§

This trait is not object safe.

Implementors§