crate::import_class! {
#![in_hicc]
pub class shared_ptr<T> {
pub fn get(&self) -> *mut T;
pub fn weak(&self) -> weak_ptr<T>;
pub fn is_empty(&self) -> bool;
}
unsafe impl<T: crate::AbiType + Sync> Send for shared_ptr<T> {}
unsafe impl<T: crate::AbiType + Sync> Sync for shared_ptr<T> {}
pub class weak_ptr<T> {
pub fn expired(&self) -> bool;
pub fn lock(&self) -> shared_ptr<T>;
}
unsafe impl<T: crate::AbiType + Sync> Send for weak_ptr<T> {}
unsafe impl<T: crate::AbiType + Sync> Sync for weak_ptr<T> {}
pub class unique_ptr<T> {
pub fn get(&self) -> *mut T;
pub fn is_empty(&self) -> bool;
}
unsafe impl<T: crate::AbiType + Sync> Send for unique_ptr<T> {}
unsafe impl<T: crate::AbiType + Sync> Sync for unique_ptr<T> {}
}