#[repr(transparent)]pub struct HashedNodeRef<'a, T = NodeIdentifier>(_, _);
Implementations§
source§impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>
source§impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>
impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>
source§impl<'a, T> HashedNodeRef<'a, T>
impl<'a, T> HashedNodeRef<'a, T>
sourcepub fn into_component<C: Component>(self) -> Result<&'a C, ComponentError>
pub fn into_component<C: Component>(self) -> Result<&'a C, ComponentError>
Returns a reference to one of the entity’s components.
sourcepub unsafe fn into_component_unchecked<C: Component>(
self
) -> Result<&'a mut C, ComponentError>
pub unsafe fn into_component_unchecked<C: Component>( self ) -> Result<&'a mut C, ComponentError>
Returns a mutable reference to one of the entity’s components.
Safety
This function bypasses static borrow checking. The caller must ensure that the component reference will not be mutably aliased.
sourcepub fn get_component<C: Component>(&self) -> Result<&C, ComponentError>
pub fn get_component<C: Component>(&self) -> Result<&C, ComponentError>
Returns a reference to one of the entity’s components.
sourcepub unsafe fn get_component_unchecked<C: Component>(
&self
) -> Result<&mut C, ComponentError>
pub unsafe fn get_component_unchecked<C: Component>( &self ) -> Result<&mut C, ComponentError>
Returns a mutable reference to one of the entity’s components.
Safety
This function bypasses static borrow checking. The caller must ensure that the component reference will not be mutably aliased.
pub fn get_child_by_name( &self, name: &<HashedNodeRef<'a, T> as Labeled>::Label ) -> Option<<HashedNodeRef<'a, T> as Stored>::TreeId>
pub fn get_child_idx_by_name( &self, name: &<HashedNodeRef<'a, T> as Labeled>::Label ) -> Option<<HashedNodeRef<'a, T> as WithChildren>::ChildIdx>
pub fn try_get_children_name( &self ) -> Option<&[<HashedNodeRef<'a, T> as Labeled>::Label]>
source§impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>where
Id::Ty: 'static + Sync + Send + TypeTrait,
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> HashedNodeRef<'a, Id>where Id::Ty: 'static + Sync + Send + TypeTrait,
pub fn into_compressed_node( &self ) -> Result<CompressedNode<Entity, LabelIdentifier, Id::Ty>, ComponentError>
source§impl<'a, T> HashedNodeRef<'a, T>
impl<'a, T> HashedNodeRef<'a, T>
pub fn size_no_spaces(&self) -> usize
source§impl<'a, T> HashedNodeRef<'a, T>
impl<'a, T> HashedNodeRef<'a, T>
pub fn cs( &self ) -> Result<&<Self as WithChildren>::Children<'_>, ComponentError>
pub fn no_spaces( &self ) -> Result<&<Self as WithChildren>::Children<'_>, ComponentError>
Trait Implementations§
source§impl<'a, T> AsRef<HashedNodeRef<'a, T>> for HashedNodeRef<'a, T>
impl<'a, T> AsRef<HashedNodeRef<'a, T>> for HashedNodeRef<'a, T>
source§fn as_ref(&self) -> &HashedNodeRef<'a, T>
fn as_ref(&self) -> &HashedNodeRef<'a, T>
Converts this type into a shared reference of the (usually inferred) input type.
source§impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> Debug for HashedNodeRef<'a, Id>
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> Debug for HashedNodeRef<'a, Id>
source§impl<'a, Id> Deref for HashedNodeRef<'a, Id>
impl<'a, Id> Deref for HashedNodeRef<'a, Id>
source§impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> Hash for HashedNodeRef<'a, Id>
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> Hash for HashedNodeRef<'a, Id>
source§impl<'a, T> Labeled for HashedNodeRef<'a, T>
impl<'a, T> Labeled for HashedNodeRef<'a, T>
type Label = SymbolU32
fn get_label_unchecked(&self) -> &LabelIdentifier
fn try_get_label(&self) -> Option<&Self::Label>
source§impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> PartialEq<HashedNodeRef<'a, Id>> for HashedNodeRef<'a, Id>
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> PartialEq<HashedNodeRef<'a, Id>> for HashedNodeRef<'a, Id>
source§impl<'a, T> RefContainer for HashedNodeRef<'a, T>
impl<'a, T> RefContainer for HashedNodeRef<'a, T>
type Result = BloomResult
fn check<U: MySerialize + Keyed<usize>>(&self, rf: U) -> Self::Result
source§impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Tree for HashedNodeRef<'a, Id>
impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Tree for HashedNodeRef<'a, Id>
source§impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for HashedNodeRef<'a, Id>
impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for HashedNodeRef<'a, Id>
source§impl<'a, T> WithChildren for HashedNodeRef<'a, T>
impl<'a, T> WithChildren for HashedNodeRef<'a, T>
type ChildIdx = u16
type Children<'b> = MySlice<<HashedNodeRef<'a, T> as Stored>::TreeId> where Self: 'b
fn child_count(&self) -> u16
fn child(&self, idx: &Self::ChildIdx) -> Option<Self::TreeId>
fn child_rev(&self, idx: &Self::ChildIdx) -> Option<Self::TreeId>
fn children(&self) -> Option<&Self::Children<'_>>
source§impl<'a, T> WithHashs for HashedNodeRef<'a, T>
impl<'a, T> WithHashs for HashedNodeRef<'a, T>
source§impl<'a, T, C: Component> WithMetaData<C> for HashedNodeRef<'a, T>
impl<'a, T, C: Component> WithMetaData<C> for HashedNodeRef<'a, T>
fn get_metadata(&self) -> Option<&C>
source§impl<'a, T> WithSerialization for HashedNodeRef<'a, T>
impl<'a, T> WithSerialization for HashedNodeRef<'a, T>
fn try_bytes_len(&self) -> Option<usize>
source§impl<'a, T> WithStats for HashedNodeRef<'a, T>
impl<'a, T> WithStats for HashedNodeRef<'a, T>
impl<'a, Id: TypedNodeId<IdN = NodeIdentifier>> Eq for HashedNodeRef<'a, Id>
impl<'a, T> Node for HashedNodeRef<'a, T>
Auto Trait Implementations§
impl<'a, T = Entity> !RefUnwindSafe for HashedNodeRef<'a, T>
impl<'a, T> Send for HashedNodeRef<'a, T>where T: Send,
impl<'a, T> Sync for HashedNodeRef<'a, T>where T: Sync,
impl<'a, T> Unpin for HashedNodeRef<'a, T>where T: Unpin,
impl<'a, T = Entity> !UnwindSafe for HashedNodeRef<'a, T>
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§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
.§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.§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.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.