pub struct ControllerFeatures<'cglue_a, CGlueInst: 'cglue_a, CGlueCtx: ContextBounds>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,{ /* private fields */ }Expand description
Trait group potentially implementing Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < > traits.
Optional traits are not implemented here, however. There are numerous conversion functions available for safely retrieving a concrete collection of traits.
check_impl_ functions allow to check if the object implements the wanted traits.
into_impl_ functions consume the object and produce a new final structure that
keeps only the required information.
cast_impl_ functions merely check and transform the object into a type that can
be transformed back into ControllerFeatures without losing data.
as_ref_, and as_mut_ functions obtain references to safe objects, but do not
perform any memory transformations either. They are the safest to use, because
there is no risk of accidentally consuming the whole object.
Implementations§
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
pub fn enable_clone(self) -> Self
pub fn enable_keyboardwriter(self) -> Selfwhere
&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Default,
pub fn enable_mousewriter(self) -> Selfwhere
&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Default,
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Sourcepub fn new(
instance: CGlueInst,
context: CGlueCtx,
vtbl_clone: Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
vtbl_keyboardwriter: Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
vtbl_mousewriter: Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
) -> Selfwhere
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
pub fn new(
instance: CGlueInst,
context: CGlueCtx,
vtbl_clone: Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
vtbl_keyboardwriter: Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
vtbl_mousewriter: Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>,
) -> Selfwhere
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Create new instance of ControllerFeatures.
Source§impl<'cglue_a, CGlueT> ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>
impl<'cglue_a, CGlueT> ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>
Sourcepub fn new_boxed(
this: CGlueT,
vtbl_clone: Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
vtbl_keyboardwriter: Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
vtbl_mousewriter: Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
) -> Selfwhere
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
pub fn new_boxed(
this: CGlueT,
vtbl_clone: Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
vtbl_keyboardwriter: Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
vtbl_mousewriter: Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>>,
) -> Selfwhere
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
Create new instance of ControllerFeatures.
instance will be moved onto heap.
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Sourcepub fn check_impl_clone(&self) -> bool
pub fn check_impl_clone(&self) -> bool
Check whether ControllerFeatures implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_clone(self) -> Option<impl 'cglue_a + Loadable + Clone>
pub fn into_impl_clone(self) -> Option<impl 'cglue_a + Loadable + Clone>
Retrieve a final ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >), if all types are present.
Sourcepub fn cast_impl_clone(
self,
) -> Option<ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>>
pub fn cast_impl_clone( self, ) -> Option<ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>>
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_clone<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone)>
pub fn as_mut_impl_clone<'b>( &'b mut self, ) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone)>
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >.
Sourcepub fn as_ref_impl_clone<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone)>
pub fn as_ref_impl_clone<'b>( &'b self, ) -> Option<&'b (impl 'cglue_a + Loadable + Clone)>
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < >.
Sourcepub fn check_impl_keyboardwriter(&self) -> boolwhere
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
pub fn check_impl_keyboardwriter(&self) -> boolwhere
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
Check whether ControllerFeatures implements Loadable < > + KeyboardWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_keyboardwriter(
self,
) -> Option<impl 'cglue_a + Loadable + KeyboardWriter>where
ControllerFeaturesFinalWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
pub fn into_impl_keyboardwriter(
self,
) -> Option<impl 'cglue_a + Loadable + KeyboardWriter>where
ControllerFeaturesFinalWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + KeyboardWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + KeyboardWriter < >), if all types are present.
Sourcepub fn cast_impl_keyboardwriter(
self,
) -> Option<ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
pub fn cast_impl_keyboardwriter(
self,
) -> Option<ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + KeyboardWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_keyboardwriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + KeyboardWriter)>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
pub fn as_mut_impl_keyboardwriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + KeyboardWriter)>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < >.
Sourcepub fn as_ref_impl_keyboardwriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + KeyboardWriter)>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
pub fn as_ref_impl_keyboardwriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + KeyboardWriter)>where
ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < >.
Sourcepub fn check_impl_mousewriter(&self) -> boolwhere
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
pub fn check_impl_mousewriter(&self) -> boolwhere
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
Check whether ControllerFeatures implements Loadable < > + MouseWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + MouseWriter>where
ControllerFeaturesFinalWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
pub fn into_impl_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + MouseWriter>where
ControllerFeaturesFinalWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + MouseWriter < >), if all types are present.
Sourcepub fn cast_impl_mousewriter(
self,
) -> Option<ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
pub fn cast_impl_mousewriter(
self,
) -> Option<ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + MouseWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + MouseWriter)>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
pub fn as_mut_impl_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + MouseWriter)>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + MouseWriter < >.
Sourcepub fn as_ref_impl_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + MouseWriter)>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
pub fn as_ref_impl_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + MouseWriter)>where
ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + MouseWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + MouseWriter < >.
Sourcepub fn check_impl_clone_keyboardwriter(&self) -> boolwhere
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
pub fn check_impl_clone_keyboardwriter(&self) -> boolwhere
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
Check whether ControllerFeatures implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_clone_keyboardwriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + KeyboardWriter>where
ControllerFeaturesFinalWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
pub fn into_impl_clone_keyboardwriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + KeyboardWriter>where
ControllerFeaturesFinalWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >), if all types are present.
Sourcepub fn cast_impl_clone_keyboardwriter(
self,
) -> Option<ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
pub fn cast_impl_clone_keyboardwriter(
self,
) -> Option<ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_clone_keyboardwriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + KeyboardWriter)>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
pub fn as_mut_impl_clone_keyboardwriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + KeyboardWriter)>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >.
Sourcepub fn as_ref_impl_clone_keyboardwriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + KeyboardWriter)>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
pub fn as_ref_impl_clone_keyboardwriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + KeyboardWriter)>where
ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < >.
Sourcepub fn check_impl_clone_mousewriter(&self) -> boolwhere
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
pub fn check_impl_clone_mousewriter(&self) -> boolwhere
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
Check whether ControllerFeatures implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_clone_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + MouseWriter>where
ControllerFeaturesFinalWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
pub fn into_impl_clone_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + MouseWriter>where
ControllerFeaturesFinalWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >), if all types are present.
Sourcepub fn cast_impl_clone_mousewriter(
self,
) -> Option<ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
pub fn cast_impl_clone_mousewriter(
self,
) -> Option<ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_clone_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + MouseWriter)>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
pub fn as_mut_impl_clone_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + MouseWriter)>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >.
Sourcepub fn as_ref_impl_clone_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + MouseWriter)>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
pub fn as_ref_impl_clone_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + MouseWriter)>where
ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + MouseWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + MouseWriter < >.
Sourcepub fn check_impl_keyboardwriter_mousewriter(&self) -> boolwhere
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
pub fn check_impl_keyboardwriter_mousewriter(&self) -> boolwhere
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
Check whether ControllerFeatures implements Loadable < > + KeyboardWriter < > + MouseWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_keyboardwriter_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter>where
ControllerFeaturesFinalWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
pub fn into_impl_keyboardwriter_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter>where
ControllerFeaturesFinalWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + KeyboardWriter < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + KeyboardWriter < > + MouseWriter < >), if all types are present.
Sourcepub fn cast_impl_keyboardwriter_mousewriter(
self,
) -> Option<ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
pub fn cast_impl_keyboardwriter_mousewriter(
self,
) -> Option<ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + KeyboardWriter < > + MouseWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_keyboardwriter_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
pub fn as_mut_impl_keyboardwriter_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < > + MouseWriter < >.
Sourcepub fn as_ref_impl_keyboardwriter_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
pub fn as_ref_impl_keyboardwriter_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + KeyboardWriter + MouseWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + KeyboardWriter < > + MouseWriter < >.
Sourcepub fn check_impl_clone_keyboardwriter_mousewriter(&self) -> boolwhere
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
pub fn check_impl_clone_keyboardwriter_mousewriter(&self) -> boolwhere
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
Check whether ControllerFeatures implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >.
If this check returns true, it is safe to run consuming conversion operations.
Sourcepub fn into_impl_clone_keyboardwriter_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter>where
ControllerFeaturesFinalWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
pub fn into_impl_clone_keyboardwriter_mousewriter(
self,
) -> Option<impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter>where
ControllerFeaturesFinalWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
Retrieve a final ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >), if all types are present.
Sourcepub fn cast_impl_clone_keyboardwriter_mousewriter(
self,
) -> Option<ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
pub fn cast_impl_clone_keyboardwriter_mousewriter(
self,
) -> Option<ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
Retrieve a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >.
This consumes the ControllerFeatures, and outputs Some(impl Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >), if all types are present. It is possible to cast this type back with the From implementation.
Sourcepub fn as_mut_impl_clone_keyboardwriter_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
pub fn as_mut_impl_clone_keyboardwriter_mousewriter<'b>(
&'b mut self,
) -> Option<&'b mut (impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
Retrieve mutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >.
Sourcepub fn as_ref_impl_clone_keyboardwriter_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
pub fn as_ref_impl_clone_keyboardwriter_mousewriter<'b>(
&'b self,
) -> Option<&'b (impl 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter)>where
ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>: 'cglue_a + Loadable + Clone + KeyboardWriter + MouseWriter,
Retrieve immutable reference to a concrete ControllerFeatures variant that implements Loadable < > + :: cglue :: ext :: core :: clone :: Clone < > + KeyboardWriter < > + MouseWriter < >.
Trait Implementations§
Source§impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<(CGlueInst, CGlueCtx)> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
Self: From<ControllerFeaturesContainer<CGlueInst, CGlueCtx>>,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<(CGlueInst, CGlueCtx)> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
Self: From<ControllerFeaturesContainer<CGlueInst, CGlueCtx>>,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Source§fn from((instance, context): (CGlueInst, CGlueCtx)) -> Self
fn from((instance, context): (CGlueInst, CGlueCtx)) -> Self
Source§impl<'cglue_a, CGlueT, CGlueCtx: ContextBounds> From<(CGlueT, CGlueCtx)> for ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
Self: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT, CGlueCtx: ContextBounds> From<(CGlueT, CGlueCtx)> for ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, CGlueCtx>where
Self: From<(CBox<'cglue_a, CGlueT>, CGlueCtx)>,
ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, CGlueCtx>>: 'cglue_a + Default,
Source§fn from((this, context): (CGlueT, CGlueCtx)) -> Self
fn from((this, context): (CGlueT, CGlueCtx)) -> Self
Source§impl<'cglue_a, CGlueInst: Deref> From<CGlueInst> for ControllerFeatures<'cglue_a, CGlueInst, NoContext>where
Self: From<(CGlueInst, NoContext)>,
ControllerFeaturesContainer<CGlueInst, NoContext>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref> From<CGlueInst> for ControllerFeatures<'cglue_a, CGlueInst, NoContext>where
Self: From<(CGlueInst, NoContext)>,
ControllerFeaturesContainer<CGlueInst, NoContext>: CGlueObjBase,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, NoContext>>: 'cglue_a + Default,
Source§impl<'cglue_a, CGlueT> From<CGlueT> for ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>where
Self: From<(CBox<'cglue_a, CGlueT>, NoContext)>,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
impl<'cglue_a, CGlueT> From<CGlueT> for ControllerFeatures<'cglue_a, CBox<'cglue_a, CGlueT>, NoContext>where
Self: From<(CBox<'cglue_a, CGlueT>, NoContext)>,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CBox<'cglue_a, CGlueT>, NoContext>>: 'cglue_a + Default,
Source§impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<ControllerFeaturesContainer<CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst::Target: ControllerFeaturesVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
impl<'cglue_a, CGlueInst: Deref, CGlueCtx: ContextBounds> From<ControllerFeaturesContainer<CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst::Target: ControllerFeaturesVtableFiller<'cglue_a, CGlueInst, CGlueCtx>,
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: 'cglue_a + Default,
Source§fn from(container: ControllerFeaturesContainer<CGlueInst, CGlueCtx>) -> Self
fn from(container: ControllerFeaturesContainer<CGlueInst, CGlueCtx>) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithClone<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithCloneKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithCloneKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithCloneMouseWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithKeyboardWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithKeyboardWriterMouseWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> From<ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§fn from(
input: ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>,
) -> Self
fn from( input: ControllerFeaturesWithMouseWriter<'cglue_a, CGlueInst, CGlueCtx>, ) -> Self
Source§impl<CGlueInst: Deref, CGlueCtx: ContextBounds> GetContainer for ControllerFeatures<'_, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<CGlueInst: Deref, CGlueCtx: ContextBounds> GetContainer for ControllerFeatures<'_, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
Source§impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
impl<'cglue_a, CGlueInst, CGlueCtx> GetStaticEquivalent_ for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
type StaticEquivalent = _static_ControllerFeatures<'static, <CGlueInst as GetStaticEquivalent_>::StaticEquivalent, <CGlueCtx as GetStaticEquivalent_>::StaticEquivalent>
Source§impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
impl<'cglue_a, CGlueInst, CGlueCtx: ContextBounds> GetVtbl<LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>> for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
fn get_vtbl( &self, ) -> &LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>
Source§impl<'cglue_a, CGlueInst: Opaquable, CGlueCtx: ContextBounds> Opaquable for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
ControllerFeaturesContainer<CGlueInst::OpaqueTarget, CGlueCtx>: CGlueObjBase,
Convert into opaque object.
impl<'cglue_a, CGlueInst: Opaquable, CGlueCtx: ContextBounds> Opaquable for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
ControllerFeaturesContainer<CGlueInst::OpaqueTarget, CGlueCtx>: CGlueObjBase,
Convert into opaque object.
This is the prerequisite for using underlying trait implementations.
type OpaqueTarget = ControllerFeatures<'cglue_a, <CGlueInst as Opaquable>::OpaqueTarget, CGlueCtx>
Source§fn into_opaque(self) -> Self::OpaqueTarget
fn into_opaque(self) -> Self::OpaqueTarget
Source§impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
impl<'cglue_a, CGlueInst, CGlueCtx> StableAbi for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: CGlueObjBase,
CGlueInst: __StableAbi + 'cglue_a,
CGlueCtx: __StableAbi + ContextBounds,
Source§const LAYOUT: &'static TypeLayout
const LAYOUT: &'static TypeLayout
Source§type IsNonZeroType = False
type IsNonZeroType = False
Source§const ABI_CONSTS: AbiConsts = _
const ABI_CONSTS: AbiConsts = _
const-equivalents of the associated types.Auto Trait Implementations§
impl<'cglue_a, CGlueInst, CGlueCtx> Freeze for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Freeze,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Freeze,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Freeze,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Freeze,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: Freeze,
impl<'cglue_a, CGlueInst, CGlueCtx> RefUnwindSafe for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: RefUnwindSafe,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: RefUnwindSafe,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: RefUnwindSafe,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: RefUnwindSafe,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: RefUnwindSafe,
impl<'cglue_a, CGlueInst, CGlueCtx> Send for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Send,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Send,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Send,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Send,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: Send,
impl<'cglue_a, CGlueInst, CGlueCtx> Sync for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Sync,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Sync,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Sync,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Sync,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: Sync,
impl<'cglue_a, CGlueInst, CGlueCtx> Unpin for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: Unpin,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Unpin,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Unpin,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: Unpin,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: Unpin,
impl<'cglue_a, CGlueInst, CGlueCtx> UnsafeUnpin for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: UnsafeUnpin,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnsafeUnpin,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnsafeUnpin,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnsafeUnpin,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: UnsafeUnpin,
impl<'cglue_a, CGlueInst, CGlueCtx> UnwindSafe for ControllerFeatures<'cglue_a, CGlueInst, CGlueCtx>where
&'cglue_a LoadableVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>: UnwindSafe,
Option<&'cglue_a CloneVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnwindSafe,
Option<&'cglue_a KeyboardWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnwindSafe,
Option<&'cglue_a MouseWriterVtbl<'cglue_a, ControllerFeaturesContainer<CGlueInst, CGlueCtx>>>: UnwindSafe,
ControllerFeaturesContainer<CGlueInst, CGlueCtx>: UnwindSafe,
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
impl<T> GenericTypeBounds for Twhere
T: StableAbi,
Source§impl<T> GetWithMetadata for T
impl<T> GetWithMetadata for T
Source§type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
WithMetadata_<Self, Self>Source§impl<'cglue_a, CGlueO> Loadable for CGlueOwhere
CGlueO: 'cglue_a + GetContainer + GetVtbl<LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>> + LoadableOpaqueObj<'cglue_a>,
LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>: StableAbi,
impl<'cglue_a, CGlueO> Loadable for CGlueOwhere
CGlueO: 'cglue_a + GetContainer + GetVtbl<LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>> + LoadableOpaqueObj<'cglue_a>,
LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>: StableAbi,
Source§impl<'cglue_a, CGlueO> LoadableOpaqueObj<'cglue_a> for CGlueOwhere
CGlueO: 'cglue_a + GetContainer + GetVtbl<LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>>,
<CGlueO as GetContainer>::ContType: StableAbi,
impl<'cglue_a, CGlueO> LoadableOpaqueObj<'cglue_a> for CGlueOwhere
CGlueO: 'cglue_a + GetContainer + GetVtbl<LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>>,
<CGlueO as GetContainer>::ContType: StableAbi,
type LoadableVtbl = LoadableVtbl<'cglue_a, <CGlueO as GetContainer>::ContType>
impl<T> Opaque for Twhere
T: Opaquable<OpaqueTarget = T>,
Source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset. Read moreSource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset. Read moreSource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset. Read moreSource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset. Read moreSource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped except that the function takes &Self
Useful for functions that take &Self instead of Self. Read moreSource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped, except that the function takes &mut Self.
Useful for functions that take &mut Self instead of Self.Source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef,
using the turbofish .as_ref_::<_>() syntax. Read more