pub struct Obj { /* private fields */ }Expand description
Base class, contains no fields or methods. For Rc-based classes.
Use import and class_unsafe macros
to define a class inherited from Obj:
ⓘ
#[class_unsafe(inherits_Obj)]
struct Class { }Implementations§
Source§impl Obj
impl Obj
Sourcepub fn new() -> Rc<dyn IsObj>
pub fn new() -> Rc<dyn IsObj>
Creates new Obj class instance, wrapped in Rc smart pointer.
A rarely used function, since it creates Obj itself, not one of its inheritors.
Sourcepub unsafe fn new_raw(vtable: Vtable) -> Self
pub unsafe fn new_raw(vtable: Vtable) -> Self
Creates new Obj.
Intended to be called from inheritors constructors to initialize a base type field.
§Safety
Calling this function is safe iff vtable is empty or
generated using the class_unsafe macro on a
direct or indirect Obj inheritor.
Trait Implementations§
Source§impl SupportsInterfaces for Obj
impl SupportsInterfaces for Obj
fn get_interface_metadata( &self, dyn_interface_id: core_any_TypeId, ) -> core_option_Option<BoxedInterfaceMetadata>
impl Send for Obj
impl Sync for Obj
Auto Trait Implementations§
impl Freeze for Obj
impl RefUnwindSafe for Obj
impl Unpin for Obj
impl UnsafeUnpin for Obj
impl UnwindSafe for Obj
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.