Struct rin::ecs::NodeId[][src]

pub struct NodeId { /* fields omitted */ }

A node identifier within a particular Arena.

Implementations

impl NodeId[src]

pub fn ancestors<T>(self, arena: &Arena<T>) -> Ancestors<'_, T>[src]

Return an iterator of references to this node and its ancestors.

Call .next().unwrap() once on the iterator to skip the node itself.

pub fn preceding_siblings<T>(self, arena: &Arena<T>) -> PrecedingSiblings<'_, T>[src]

Return an iterator of references to this node and the siblings before it.

Call .next().unwrap() once on the iterator to skip the node itself.

pub fn following_siblings<T>(self, arena: &Arena<T>) -> FollowingSiblings<'_, T>[src]

Return an iterator of references to this node and the siblings after it.

Call .next().unwrap() once on the iterator to skip the node itself.

pub fn children<T>(self, arena: &Arena<T>) -> Children<'_, T>[src]

Return an iterator of references to this node’s children.

pub fn reverse_children<T>(self, arena: &Arena<T>) -> ReverseChildren<'_, T>[src]

Return an iterator of references to this node’s children, in reverse order.

pub fn descendants<T>(self, arena: &Arena<T>) -> Descendants<'_, T>[src]

Return an iterator of references to this node and its descendants, in tree order.

Parent nodes appear before the descendants. Call .next().unwrap() once on the iterator to skip the node itself.

pub fn traverse<T>(self, arena: &Arena<T>) -> Traverse<'_, T>[src]

Return an iterator of references to this node and its descendants, in tree order.

pub fn reverse_traverse<T>(self, arena: &Arena<T>) -> ReverseTraverse<'_, T>[src]

Return an iterator of references to this node and its descendants, in tree order.

pub fn detach<T>(self, arena: &mut Arena<T>) -> NodeRefMut<'_, T>[src]

Detach a node from its parent and siblings. Children are not affected.

pub fn append<T>(
    self,
    new_child: NodeId,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

Append a new child to this node, after existing children.

pub fn append_new<T>(
    self,
    new_data: T,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

pub fn prepend<T>(
    self,
    new_child: NodeId,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

Prepend a new child to this node, before existing children.

pub fn prepend_new<T>(
    self,
    new_data: T,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

pub fn insert_after<T>(
    self,
    new_sibling: NodeId,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

Insert a new sibling after this node.

pub fn insert_after_new<T>(
    self,
    new_data: T,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

pub fn insert_before<T>(
    self,
    new_sibling: NodeId,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

Insert a new sibling before this node.

pub fn insert_before_new<T>(
    self,
    new_data: T,
    arena: &mut Arena<T>
) -> NodeRefMut<'_, T>
[src]

Trait Implementations

impl Clone for NodeId[src]

impl Debug for NodeId[src]

impl<T> From<Node<T>> for NodeId[src]

impl<'a, T> From<NodeRef<'a, T>> for NodeId[src]

impl<'a, T> From<NodeRefMut<'a, T>> for NodeId[src]

impl PartialEq<NodeId> for NodeId[src]

impl Copy for NodeId[src]

impl Eq for NodeId[src]

impl StructuralEq for NodeId[src]

impl StructuralPartialEq for NodeId[src]

Auto Trait Implementations

impl RefUnwindSafe for NodeId

impl Send for NodeId

impl Sync for NodeId

impl Unpin for NodeId

impl UnwindSafe for NodeId

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoPnt<Point<T, U2>> for T where
    T: Scalar
[src]

impl<T> IntoPnt<Point<T, U3>> for T where
    T: Scalar
[src]

impl<T> IntoPnt<Point<T, U4>> for T where
    T: Scalar
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> JoinPnt<T, Point<T, U2>> for T where
    T: Scalar
[src]

type Output = Point<T, U3>

impl<T> JoinPnt<T, Point<T, U3>> for T where
    T: Scalar
[src]

type Output = Point<T, U4>

impl<T> JoinPnt<T, T> for T where
    T: Scalar
[src]

type Output = Point<T, U2>

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: Copy + PartialEq<T> + Debug + Any
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> Slottable for T where
    T: Copy
[src]