pub trait AllocatorImpl: AllocatorImplExt + GstObjectImpl + Send + Sync {
// Provided methods
fn alloc(
&self,
size: usize,
params: Option<&AllocationParams>,
) -> Result<Memory, BoolError> { ... }
fn free(&self, memory: Memory) { ... }
}
Provided Methods§
sourcefn alloc(
&self,
size: usize,
params: Option<&AllocationParams>,
) -> Result<Memory, BoolError>
fn alloc( &self, size: usize, params: Option<&AllocationParams>, ) -> Result<Memory, BoolError>
Use self
to allocate a new memory block with memory that is at least
size
big.
The optional params
can specify the prefix and padding for the memory. If
None
is passed, no flags, no extra prefix/padding and a default alignment is
used.
The prefix/padding will be filled with 0 if flags contains
MemoryFlags::ZERO_PREFIXED
and MemoryFlags::ZERO_PADDED
respectively.
When self
is None
, the default allocator will be used.
The alignment in params
is given as a bitmask so that align
+ 1 equals
the amount of bytes to align to. For example, to align to 8 bytes,
use an alignment of 7.
§size
size of the visible memory area
§params
optional parameters
§Returns
a new Memory
.
fn free(&self, memory: Memory)
Object Safety§
This trait is not object safe.