Trait ICapeCollectionImpl

Source
pub trait ICapeCollectionImpl<CollectionItem: CapeSmartPointer>: ICapeCollection<CollectionItem> {
    type T: ICapeInterfaceImpl + ICapeCollectionImpl<CollectionItem>;

    const VTABLE: CAPEOPEN_1_2_ICapeCollection_VTable = _;

    // Required method
    fn as_interface_pointer(&mut self) -> *mut ICapeInterface;

    // Provided methods
    fn init_interface() -> ICapeInterface { ... }
    fn init<Timpl: ICapeCollectionImpl<CollectionItem> + ICapeInterfaceImpl>(
        u: &mut Timpl,
    ) { ... }
    extern "C" fn raw_item_by_index(
        me: *mut c_void,
        index: CapeInteger,
        item: *mut *mut ICapeInterface,
    ) -> CapeResult { ... }
    extern "C" fn raw_item_by_name(
        me: *mut c_void,
        name: *mut ICapeString,
        item: *mut *mut ICapeInterface,
    ) -> CapeResult { ... }
    extern "C" fn raw_get_count(
        me: *mut c_void,
        item_count: *mut CapeInteger,
    ) -> CapeResult { ... }
}

Provided Associated Constants§

Required Associated Types§

Required Methods§

Provided Methods§

Source

fn init_interface() -> ICapeInterface

prepare CAPEOPEN_1_2_ICapeCollection interface and return as generic ICapeInterface pointer

Source

fn init<Timpl: ICapeCollectionImpl<CollectionItem> + ICapeInterfaceImpl>( u: &mut Timpl, )

Source

extern "C" fn raw_item_by_index( me: *mut c_void, index: CapeInteger, item: *mut *mut ICapeInterface, ) -> CapeResult

Source

extern "C" fn raw_item_by_name( me: *mut c_void, name: *mut ICapeString, item: *mut *mut ICapeInterface, ) -> CapeResult

Source

extern "C" fn raw_get_count( me: *mut c_void, item_count: *mut CapeInteger, ) -> CapeResult

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§