pub struct TInstance<'a, T, Own = Shared>where
T: NativeClass,
Own: Ownership,{ /* private fields */ }Expand description
A reference to a GodotObject with a rust NativeClass attached that is assumed safe during a certain lifetime.
See the type-level documentation on Ref for more information on typed thread accesses.
Implementations§
Source§impl<'a, T, Own> TInstance<'a, T, Own>where
T: NativeClass,
Own: Ownership,
impl<'a, T, Own> TInstance<'a, T, Own>where
T: NativeClass,
Own: Ownership,
Sourcepub fn base(&self) -> TRef<'a, <T as NativeClass>::Base, Own>
pub fn base(&self) -> TRef<'a, <T as NativeClass>::Base, Own>
Returns a reference to the base object with the same lifetime.
Sourcepub fn script(&self) -> &<T as NativeClass>::UserData
pub fn script(&self) -> &<T as NativeClass>::UserData
Returns a reference to the script wrapper.
Sourcepub fn try_from_base(
owner: TRef<'a, <T as NativeClass>::Base, Own>,
) -> Option<TInstance<'a, T, Own>>
pub fn try_from_base( owner: TRef<'a, <T as NativeClass>::Base, Own>, ) -> Option<TInstance<'a, T, Own>>
Try to downcast TRef<'a, T::Base, Own> to TInstance<T>.
Source§impl<'a, T, Own> TInstance<'a, T, Own>where
T: NativeClass,
Own: NonUniqueOwnership,
impl<'a, T, Own> TInstance<'a, T, Own>where
T: NativeClass,
Own: NonUniqueOwnership,
Source§impl<'a, T, Own> TInstance<'a, T, Own>
Methods for instances with reference-counted base classes.
impl<'a, T, Own> TInstance<'a, T, Own>
Methods for instances with reference-counted base classes.
Sourcepub fn map<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as Map>::Err>where
<T as NativeClass>::UserData: Map,
F: FnOnce(&T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
pub fn map<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as Map>::Err>where
<T as NativeClass>::UserData: Map,
F: FnOnce(&T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
Calls a function with a NativeClass instance and its owner, and returns its return value.
Sourcepub fn map_mut<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as MapMut>::Err>where
<T as NativeClass>::UserData: MapMut,
F: FnOnce(&mut T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
pub fn map_mut<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as MapMut>::Err>where
<T as NativeClass>::UserData: MapMut,
F: FnOnce(&mut T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
Calls a function with a NativeClass instance and its owner, and returns its return value.
Sourcepub fn map_owned<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as MapOwned>::Err>where
<T as NativeClass>::UserData: MapOwned,
F: FnOnce(T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
pub fn map_owned<F, U>(
&self,
op: F,
) -> Result<U, <<T as NativeClass>::UserData as MapOwned>::Err>where
<T as NativeClass>::UserData: MapOwned,
F: FnOnce(T, TRef<'_, <T as NativeClass>::Base, Own>) -> U,
Calls a function with a NativeClass instance and its owner, and returns its return value.
Trait Implementations§
Source§impl<'a, T, Own> Debug for TInstance<'a, T, Own>where
T: Debug + NativeClass,
Own: Debug + Ownership,
<T as NativeClass>::Base: Debug,
<T as NativeClass>::UserData: Debug,
impl<'a, T, Own> Debug for TInstance<'a, T, Own>where
T: Debug + NativeClass,
Own: Debug + Ownership,
<T as NativeClass>::Base: Debug,
<T as NativeClass>::UserData: Debug,
impl<'a, T, U> AsArg<U> for TInstance<'a, T>where
T: NativeClass,
<T as NativeClass>::Base: GodotObject + SubClass<U>,
<T as NativeClass>::UserData: Map,
U: GodotObject,
Auto Trait Implementations§
impl<'a, T, Own> Freeze for TInstance<'a, T, Own>
impl<'a, T, Own> RefUnwindSafe for TInstance<'a, T, Own>where
<T as NativeClass>::UserData: RefUnwindSafe,
<T as NativeClass>::Base: RefUnwindSafe,
Own: RefUnwindSafe,
impl<'a, T, Own> Send for TInstance<'a, T, Own>
impl<'a, T, Own> Sync for TInstance<'a, T, Own>
impl<'a, T, Own> Unpin for TInstance<'a, T, Own>
impl<'a, T, Own> UnwindSafe for TInstance<'a, T, Own>where
<T as NativeClass>::UserData: UnwindSafe,
<T as NativeClass>::Base: RefUnwindSafe,
Own: UnwindSafe,
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