Trait TypeSystem

Source
pub trait TypeSystem: Clone + Copy {
    const AUTOMATION: TypeSystemName = TypeSystemName::Automation;
    const RAW: TypeSystemName = TypeSystemName::Raw;

    // Required methods
    fn key() -> TypeSystemName;
    fn get_ptr<I: ?Sized>(itf: &ComItf<I>) -> Option<InterfacePtr<Self, I>>;
    fn wrap_ptr<I: ?Sized>(ptr: InterfacePtr<Self, I>) -> ComItf<I>;
}
Expand description

Common trait for type systems.

Provided Associated Constants§

Source

const AUTOMATION: TypeSystemName = TypeSystemName::Automation

Source

const RAW: TypeSystemName = TypeSystemName::Raw

Required Methods§

Source

fn key() -> TypeSystemName

Source

fn get_ptr<I: ?Sized>(itf: &ComItf<I>) -> Option<InterfacePtr<Self, I>>

Gets the type system pointer from a ComItf.

Source

fn wrap_ptr<I: ?Sized>(ptr: InterfacePtr<Self, I>) -> ComItf<I>

Constructs a ComItf from a pointer.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§