#[non_exhaustive]#[repr(C)]pub struct SmartPointerDef {
pub vtable: &'static SmartPointerVTable,
pub pointee: Option<&'static Shape>,
pub weak: Option<fn() -> &'static Shape>,
pub strong: Option<fn() -> &'static Shape>,
pub flags: SmartPointerFlags,
pub known: Option<KnownSmartPointer>,
}Expand description
Describes a smart pointer — including a vtable to query and alter its state, and the inner shape (the pointee type in the smart pointer).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.vtable: &'static SmartPointerVTablevtable for interacting with the smart pointer
pointee: Option<&'static Shape>shape of the inner type of the smart pointer, if not opaque
weak: Option<fn() -> &'static Shape>shape of the corresponding strong pointer, if this pointer is weak
strong: Option<fn() -> &'static Shape>shape of the corresponding non-atomic pointer, if this pointer is atomic
flags: SmartPointerFlagsFlags representing various characteristics of the smart pointer
known: Option<KnownSmartPointer>An optional field to identify the kind of smart pointer
Implementations§
Source§impl SmartPointerDef
impl SmartPointerDef
Sourcepub const fn builder() -> SmartPointerDefBuilder
pub const fn builder() -> SmartPointerDefBuilder
Creates a new SmartPointerDefBuilder with all fields set to None.
Trait Implementations§
Source§impl Clone for SmartPointerDef
impl Clone for SmartPointerDef
Source§fn clone(&self) -> SmartPointerDef
fn clone(&self) -> SmartPointerDef
Returns a copy 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 SmartPointerDef
impl Debug for SmartPointerDef
Source§impl Hash for SmartPointerDef
impl Hash for SmartPointerDef
Source§impl PartialEq for SmartPointerDef
impl PartialEq for SmartPointerDef
impl Copy for SmartPointerDef
impl Eq for SmartPointerDef
impl StructuralPartialEq for SmartPointerDef
Auto Trait Implementations§
impl Freeze for SmartPointerDef
impl RefUnwindSafe for SmartPointerDef
impl Send for SmartPointerDef
impl Sync for SmartPointerDef
impl Unpin for SmartPointerDef
impl UnwindSafe for SmartPointerDef
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