pub struct DataComponentPredicateData {
discriminator: PredicateDiscriminator,
value: Option<Box<dyn ErasedDataComponentPredicate>>,
}Expand description
Type-erased predicate value retaining Steel’s deterministic concrete key.
Fields§
§discriminator: PredicateDiscriminator§value: Option<Box<dyn ErasedDataComponentPredicate>>Implementations§
Source§impl DataComponentPredicateData
impl DataComponentPredicateData
pub fn new<T: DataComponentPredicateCodec>( predicate_type: DataComponentPredicateTypeRef, value: T, ) -> Self
pub const fn any(component: ComponentEntryRef) -> Self
pub const fn predicate_type(&self) -> Option<DataComponentPredicateTypeRef>
pub const fn any_component(&self) -> Option<ComponentEntryRef>
pub fn downcast_ref<T: DowncastType>(&self) -> Option<&T>
pub const fn key(&self) -> &Identifier
pub(super) fn from_persistent_entry( key: &Identifier, tag: &NbtTag, ) -> Option<Self>
fn to_nbt_value(&self) -> NbtTag
fn hash_value(&self, hasher: &mut ComponentHasher)
Trait Implementations§
Source§impl Clone for DataComponentPredicateData
impl Clone for DataComponentPredicateData
Source§impl Debug for DataComponentPredicateData
impl Debug for DataComponentPredicateData
Auto Trait Implementations§
impl !RefUnwindSafe for DataComponentPredicateData
impl !UnwindSafe for DataComponentPredicateData
impl Freeze for DataComponentPredicateData
impl Send for DataComponentPredicateData
impl Sync for DataComponentPredicateData
impl Unpin for DataComponentPredicateData
impl UnsafeUnpin for DataComponentPredicateData
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<>>