Trait Typed

Source
pub trait Typed {
    type Type: HyperType + Eq + Copy + Send + Sync;

    // Required method
    fn get_type(&self) -> Self::Type;

    // Provided method
    fn try_get_type(&self) -> Option<Self::Type> { ... }
}

Required Associated Types§

Required Methods§

Source

fn get_type(&self) -> Self::Type

Provided Methods§

Source

fn try_get_type(&self) -> Option<Self::Type>

Implementors§

Source§

impl Typed for Tree

Source§

impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for hyperast::store::nodes::boxed_components::HashedNodeRef<'a, Id>
where Id::Ty: Copy + Hash + Eq,

Source§

type Type = <Id as TypedNodeId>::Ty

Source§

impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for hyperast::store::nodes::hecs::HashedNodeRef<'a, Id>
where Id::Ty: Copy + Hash + Eq + ComponentRef<'a>,

Source§

type Type = <Id as TypedNodeId>::Ty

Source§

impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for &hyperast::store::nodes::legion::HashedNodeRef<'a, Id>

Source§

impl<'a, Id: 'static + TypedNodeId<IdN = NodeIdentifier>> Typed for hyperast::store::nodes::legion::HashedNodeRef<'a, Id>

Source§

type Type = <Id as TypedNodeId>::Ty

Source§

impl<'a, T: TypedNodeId> Typed for hyperast::store::nodes::fetched::HashedNodeRef<'a, T>
where T::Ty: TypeTrait,

Source§

type Type = <T as TypedNodeId>::Ty

Source§

impl<H: Hash + PrimInt, U: NodeHashs<Hash = H>, N, L, T: HyperType + Copy + Hash + Eq + Sync + Send> Typed for HashedCompressedNode<U, N, L, T>

Source§

type Type = T

Source§

impl<N, L, T: HyperType + Copy + Hash + Eq + Send + Sync> Typed for CompressedNode<N, L, T>

Source§

type Type = T

Source§

impl<T: Typed> Typed for TreeRef<'_, T>

Source§

type Type = <T as Typed>::Type