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§
const AUTOMATION: TypeSystemName = TypeSystemName::Automation
const RAW: TypeSystemName = TypeSystemName::Raw
Required Methods§
fn key() -> TypeSystemName
Sourcefn get_ptr<I: ?Sized>(itf: &ComItf<I>) -> Option<InterfacePtr<Self, I>>
fn get_ptr<I: ?Sized>(itf: &ComItf<I>) -> Option<InterfacePtr<Self, I>>
Gets the type system pointer from a ComItf.
Sourcefn wrap_ptr<I: ?Sized>(ptr: InterfacePtr<Self, I>) -> ComItf<I>
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.