pub struct ErasedLoadedAsset { /* private fields */ }
Expand description
A “type erased / boxed” counterpart to LoadedAsset
. This is used in places where the loaded type is not statically known.
Implementations§
Source§impl ErasedLoadedAsset
impl ErasedLoadedAsset
Sourcepub fn asset_type_id(&self) -> TypeId
pub fn asset_type_id(&self) -> TypeId
Sourcepub fn asset_type_name(&self) -> &'static str
pub fn asset_type_name(&self) -> &'static str
Retrieves the type_name
of the stored Asset
type.
Sourcepub fn get_labeled(
&self,
label: impl Into<CowArc<'static, str>>,
) -> Option<&ErasedLoadedAsset>
pub fn get_labeled( &self, label: impl Into<CowArc<'static, str>>, ) -> Option<&ErasedLoadedAsset>
Returns the ErasedLoadedAsset
for the given label, if it exists.
Sourcepub fn iter_labels(&self) -> impl Iterator<Item = &str>
pub fn iter_labels(&self) -> impl Iterator<Item = &str>
Iterate over all labels for “labeled assets” in the loaded asset
Sourcepub fn downcast<A: Asset>(self) -> Result<LoadedAsset<A>, ErasedLoadedAsset>
pub fn downcast<A: Asset>(self) -> Result<LoadedAsset<A>, ErasedLoadedAsset>
Cast this loaded asset as the given type. If the type does not match, the original type-erased asset is returned.
Trait Implementations§
Source§impl<A: Asset> From<LoadedAsset<A>> for ErasedLoadedAsset
impl<A: Asset> From<LoadedAsset<A>> for ErasedLoadedAsset
Source§fn from(asset: LoadedAsset<A>) -> Self
fn from(asset: LoadedAsset<A>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ErasedLoadedAsset
impl !RefUnwindSafe for ErasedLoadedAsset
impl Send for ErasedLoadedAsset
impl Sync for ErasedLoadedAsset
impl Unpin for ErasedLoadedAsset
impl !UnwindSafe for ErasedLoadedAsset
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.