Struct cglue::ext::CloneVtbl [−][src]
#[repr(C)]pub struct CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC: 'static, CGlueD: 'static> { /* fields omitted */ }
Expand description
CGlue vtable for trait Clone.
This virtual function table contains ABI-safe interface for the given trait.
Implementations
Trait Implementations
impl<'cglue_a, CGlueT: Opaquable + 'cglue_a, CGlueF: Clone, CGlueC: Opaquable<OpaqueTarget = CGlueD> + 'static, CGlueD: 'static> CGlueBaseVtbl for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC::OpaqueTarget: Opaquable,
impl<'cglue_a, CGlueT: Opaquable + 'cglue_a, CGlueF: Clone, CGlueC: Opaquable<OpaqueTarget = CGlueD> + 'static, CGlueD: 'static> CGlueBaseVtbl for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC::OpaqueTarget: Opaquable,
type OpaqueVtbl = CloneOpaqueVtbl<'cglue_a, CGlueT::OpaqueTarget, CGlueD>
type RetTmp = CloneRetTmp
Get the opaque vtable for the type.
impl<'cglue_a, CGlueT: ContextRef<Context = CGlueC, ObjType = CGlueF> + Deref<Target = CGlueF>, CGlueF: Clone, CGlueC: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>, CGlueD: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>> Default for &'cglue_a CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
(CGlueF, CGlueC): Into<CGlueT>,
impl<'cglue_a, CGlueT: ContextRef<Context = CGlueC, ObjType = CGlueF> + Deref<Target = CGlueF>, CGlueF: Clone, CGlueC: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>, CGlueD: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>> Default for &'cglue_a CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
(CGlueF, CGlueC): Into<CGlueT>,
Default vtable reference creation.
impl<'cglue_a, CGlueT: ContextRef<Context = CGlueC, ObjType = CGlueF> + Deref<Target = CGlueF>, CGlueF: Clone, CGlueC: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>, CGlueD: 'static + Clone + Send + Sync + Opaquable<OpaqueTarget = CGlueD>> CGlueVtbl<CGlueF, CGlueC> for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueT: Opaquable,
CGlueC::OpaqueTarget: Opaquable,
Auto Trait Implementations
impl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> RefUnwindSafe for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC: RefUnwindSafe,
CGlueD: RefUnwindSafe,
CGlueT: RefUnwindSafe,
impl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> Send for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC: Send,
CGlueD: Send,
CGlueT: Send + Sync,
impl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> Sync for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC: Sync,
CGlueD: Sync,
CGlueT: Sync,
impl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> Unpin for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC: Unpin,
CGlueD: Unpin,
CGlueT: Unpin,
impl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> UnwindSafe for CloneVtbl<'cglue_a, CGlueT, CGlueF, CGlueC, CGlueD> where
CGlueC: UnwindSafe,
CGlueD: UnwindSafe,
CGlueT: RefUnwindSafe + UnwindSafe,