pub trait ObjectSubclassExt: ObjectSubclass {
    // Required methods
    fn instance(&self) -> BorrowedObject<'_, Self::Type>;
    fn from_instance(obj: &Self::Type) -> &Self;
    fn obj(&self) -> BorrowedObject<'_, Self::Type>;
    fn from_obj(obj: &Self::Type) -> &Self;
    fn ref_counted(&self) -> ObjectImplRef<Self>;
    fn instance_data<U: Any + Send + Sync + 'static>(
        &self,
        type_: Type
    ) -> Option<&U>;
}
Expand description

Extension methods for all ObjectSubclass impls.

Required Methods§

source

fn instance(&self) -> BorrowedObject<'_, Self::Type>

Returns the corresponding object instance.

source

fn from_instance(obj: &Self::Type) -> &Self

Returns the implementation from an instance.

source

fn obj(&self) -> BorrowedObject<'_, Self::Type>

Returns the corresponding object instance.

Shorter alias for instance().

source

fn from_obj(obj: &Self::Type) -> &Self

Returns the implementation from an instance.

Shorter alias for from_instance().

source

fn ref_counted(&self) -> ObjectImplRef<Self>

Returns a new reference-counted wrapper around self.

source

fn instance_data<U: Any + Send + Sync + 'static>( &self, type_: Type ) -> Option<&U>

Returns a pointer to the instance implementation specific data.

This is used for the subclassing infrastructure to store additional instance data.

Implementors§