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§
const VTABLE: CAPEOPEN_1_2_ICapeCollection_VTable = _
Required Associated Types§
type T: ICapeInterfaceImpl + ICapeCollectionImpl<CollectionItem>
Required Methods§
fn as_interface_pointer(&mut self) -> *mut ICapeInterface
Provided Methods§
Sourcefn init_interface() -> ICapeInterface
fn init_interface() -> ICapeInterface
prepare CAPEOPEN_1_2_ICapeCollection interface and return as generic ICapeInterface pointer
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
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.