usecrate::sys;usecrate::ui::Ui;/// Token representing an active tab bar
#[derive(Debug)]#[must_use]pubstructTabBarToken<'ui>{_ui:&'ui Ui,
}impl<'ui>TabBarToken<'ui>{/// Creates a new tab bar token
pub(crate)fnnew(ui:&'ui Ui)->Self{Self{ _ui: ui }}/// Ends the tab bar
pubfnend(self){// Token is consumed, destructor will be called
}}impl<'ui> Drop forTabBarToken<'ui>{fndrop(&mutself){unsafe{sys::igEndTabBar();}}}/// Token representing an active tab item
#[derive(Debug)]#[must_use]pubstructTabItemToken<'ui>{_ui:&'ui Ui,
}impl<'ui>TabItemToken<'ui>{/// Creates a new tab item token
pub(crate)fnnew(ui:&'ui Ui)->Self{Self{ _ui: ui }}/// Ends the tab item
pubfnend(self){// Token is consumed, destructor will be called
}}impl<'ui> Drop forTabItemToken<'ui>{fndrop(&mutself){unsafe{sys::igEndTabItem();}}}