pub struct ComponentData {
value: Box<dyn Component>,
}Expand description
A type-erased component value.
Component values retain their concrete Rust type and can be recovered with
Self::downcast_ref.
Fields§
§value: Box<dyn Component>Implementations§
Source§impl ComponentData
impl ComponentData
Sourcepub fn downcast_ref<T: DowncastType>(&self) -> Option<&T>
pub fn downcast_ref<T: DowncastType>(&self) -> Option<&T>
Returns the concrete value when it has type T.
Sourcepub fn type_key(&self) -> DowncastTypeKey
pub fn type_key(&self) -> DowncastTypeKey
Returns the concrete type key.
Trait Implementations§
Source§impl Clone for ComponentData
impl Clone for ComponentData
Source§impl Debug for ComponentData
impl Debug for ComponentData
Auto Trait Implementations§
impl !RefUnwindSafe for ComponentData
impl !UnwindSafe for ComponentData
impl Freeze for ComponentData
impl Send for ComponentData
impl Sync for ComponentData
impl Unpin for ComponentData
impl UnsafeUnpin for ComponentData
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>