#[repr(C)]pub struct ItemVisitorVTable {
pub visit_item: unsafe extern "C" fn(_: VRefMut<'_, ItemVisitorVTable>, item_tree: &VRc<ItemTreeVTable, Dyn>, index: u32, item: Pin<VRef<'_, ItemVTable>>) -> VisitChildrenResult,
pub drop: unsafe extern "C" fn(_: VRefMut<'_, ItemVisitorVTable>),
}
Expand description
Object to be passed in visit_item_children method of the ItemTree.
Fields§
§visit_item: unsafe extern "C" fn(_: VRefMut<'_, ItemVisitorVTable>, item_tree: &VRc<ItemTreeVTable, Dyn>, index: u32, item: Pin<VRef<'_, ItemVTable>>) -> VisitChildrenResult
Called for each child of the visited item
The item_tree
parameter is the ItemTree in which the item live which might not be the same
as the parent’s ItemTree.
index
is to be used again in the visit_item_children function of the ItemTree (the one passed as parameter)
and item
is a reference to the item itself
drop: unsafe extern "C" fn(_: VRefMut<'_, ItemVisitorVTable>)
Destructor
Implementations§
Source§impl ItemVisitorVTable
impl ItemVisitorVTable
Sourcepub fn new<T: ItemVisitor>() -> Self
pub fn new<T: ItemVisitor>() -> Self
Create a vtable suitable for a given type implementing the trait.
Trait Implementations§
Source§impl VTableMeta for ItemVisitorVTable
impl VTableMeta for ItemVisitorVTable
Source§type VTable = ItemVisitorVTable
type VTable = ItemVisitorVTable
That’s the VTable itself (so most likely Self)
Source§type Target = ItemVisitorTO
type Target = ItemVisitorTO
That’s the trait object that implements the functions Read more
Source§impl VTableMetaDrop for ItemVisitorVTable
impl VTableMetaDrop for ItemVisitorVTable
Source§fn new_box<X: HasStaticVTable<ItemVisitorVTable>>(
value: X,
) -> VBox<ItemVisitorVTable>
fn new_box<X: HasStaticVTable<ItemVisitorVTable>>( value: X, ) -> VBox<ItemVisitorVTable>
allocate a new
VBox
Auto Trait Implementations§
impl Freeze for ItemVisitorVTable
impl RefUnwindSafe for ItemVisitorVTable
impl Send for ItemVisitorVTable
impl Sync for ItemVisitorVTable
impl Unpin for ItemVisitorVTable
impl UnwindSafe for ItemVisitorVTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more