[−][src]Trait storages::buffer::Buffer
Backend for collection types like Box
and Vec
.
Every buffer may require an external datum, which is passed every time the buffer is accessed. This way the implementation does not require the data to store which might save some memory.
Associated Types
type ExternalData: ?Sized
[src]
Data required to be passed at every interaction with the buffer.
Required methods
pub fn as_ptr(&self, data: &Self::ExternalData) -> *const T
[src]
Returns a shared pointer to the buffered datum.
pub fn as_mut_ptr(&mut self, data: &Self::ExternalData) -> *mut T
[src]
Returns a unique pointer to the buffered datum.
Implementors
impl<T, A: ?Sized + AllocRef> Buffer<MaybeUninit<T>> for AllocatedBuffer<T, A>
[src]
type ExternalData = A
pub fn as_ptr(&self, _data: &Self::ExternalData) -> *const MaybeUninit<T>
[src]
pub fn as_mut_ptr(&mut self, _data: &Self::ExternalData) -> *mut MaybeUninit<T>
[src]
impl<T, A: ?Sized + AllocRef> Buffer<[MaybeUninit<T>]> for AllocatedBuffer<[T], A>
[src]
type ExternalData = A
pub fn as_ptr(&self, _data: &Self::ExternalData) -> *const [MaybeUninit<T>]
[src]
pub fn as_mut_ptr(
&mut self,
_data: &Self::ExternalData
) -> *mut [MaybeUninit<T>]
[src]
&mut self,
_data: &Self::ExternalData
) -> *mut [MaybeUninit<T>]