pub trait MentionableTop<'a, Ctx: Context<'a>>: 'a {
    // Required method
    fn points_typed(&self, points: &mut impl PointsVisitor<'a, Ctx>)
       where Self: Mentionable<'a, Ctx>;

    // Provided methods
    fn topology_hash(&self) -> Hash
       where Self: Mentionable<'a, Ctx> { ... }
    fn topology(&self) -> Arc<dyn Topology<'a, Ctx>>
       where Self: Mentionable<'a, Ctx> { ... }
}
Expand description

Topological Mentionable. Allows iterating over Points it references, if any;

Required Methods§

source

fn points_typed(&self, points: &mut impl PointsVisitor<'a, Ctx>)where Self: Mentionable<'a, Ctx>,

References (Points) to other objects. Typed.

Provided Methods§

source

fn topology_hash(&self) -> Hashwhere Self: Mentionable<'a, Ctx>,

See implementation for the definition. Hash of all the references’ points concatenated, ordered, non-unique. Used for walking over object trees to ensure two objects with different references don’t collide.

source

fn topology(&self) -> Arc<dyn Topology<'a, Ctx>>where Self: Mentionable<'a, Ctx>,

Implementations on Foreign Types§

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>, B: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for (A, B)

source§

fn points_typed(&self, points: &mut impl PointsVisitor<'a, Ctx>)

Implementors§

source§

impl<'a, Ctx: Context<'a>> MentionableTop<'a, Ctx> for TypelessMentionable<'a, Ctx>

source§

impl<'a, Ctx: Context<'a>, A: AtomicBase> MentionableTop<'a, Ctx> for AtomicObject<A>

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for Nullable<'a, Ctx, A>

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for StackNode<'a, Ctx, A>

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for Node<'a, Ctx, A>

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for Tree<'a, Ctx, A>

source§

impl<'a, Ctx: Context<'a>, A: Mentionable<'a, Ctx>> MentionableTop<'a, Ctx> for Point<'a, Ctx, A>

source§

impl<'a, Ctx: Context<'a>, SP: StaticPair<'a>> MentionableTop<'a, Ctx> for StaticPairObject<SP>where SP::A: Mentionable<'a, Ctx>, SP::B: Mentionable<'a, Ctx>,