#[repr(C)]pub struct ListVTable {
pub len: ListLenFn,
pub get: ListGetFn,
pub get_mut: Option<ListGetMutFn>,
pub as_ptr: Option<ListAsPtrFn>,
pub as_mut_ptr: Option<ListAsMutPtrFn>,
}Expand description
Virtual table for shareable list operations.
These operations can be type-erased and shared across all instantiations
of a generic list type (e.g., one vtable for all Vec<T>). They work
using runtime shape information to compute element offsets.
Per-type operations that cannot be shared (init, push, iterator) live
in ListTypeOps.
Fields§
§len: ListLenFncf. ListLenFn
get: ListGetFncf. ListGetFn
get_mut: Option<ListGetMutFn>cf. ListGetMutFn
Only available for mutable lists
as_ptr: Option<ListAsPtrFn>cf. ListAsPtrFn
Only available for types that can be accessed as a contiguous array
as_mut_ptr: Option<ListAsMutPtrFn>cf. ListAsMutPtrFn
Only available for types that can be accessed as a contiguous array
Implementations§
Source§impl ListVTable
impl ListVTable
Sourcepub const fn builder() -> ListVTableBuilder
pub const fn builder() -> ListVTableBuilder
Creates a new builder for this vtable
Trait Implementations§
Source§impl Clone for ListVTable
impl Clone for ListVTable
Source§fn clone(&self) -> ListVTable
fn clone(&self) -> ListVTable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ListVTable
impl Debug for ListVTable
impl Copy for ListVTable
Auto Trait Implementations§
impl Freeze for ListVTable
impl RefUnwindSafe for ListVTable
impl Send for ListVTable
impl Sync for ListVTable
impl Unpin for ListVTable
impl UnwindSafe for ListVTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more