Trait WithPreOrderOffsets

Source
pub trait WithPreOrderOffsets: WithOffsets {
    type It<'a>: Iterator<Item = Self::Idx>
       where Self: 'a,
             Self::Idx: 'a;

    // Required method
    fn iter_offsets(&self) -> Self::It<'_>;

    // Provided method
    fn shared_ancestors<Other: WithPreOrderOffsets<Idx = Self::Idx>>(
        &self,
        other: &Other,
    ) -> SharedPath<Vec<Self::Idx>> { ... }
}

Required Associated Types§

Source

type It<'a>: Iterator<Item = Self::Idx> where Self: 'a, Self::Idx: 'a

Required Methods§

Source

fn iter_offsets(&self) -> Self::It<'_>

Provided Methods§

Source

fn shared_ancestors<Other: WithPreOrderOffsets<Idx = Self::Idx>>( &self, other: &Other, ) -> SharedPath<Vec<Self::Idx>>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, IdN: Copy, Idx: PrimInt> WithPreOrderOffsets for RootedOffsetsRef<'a, IdN, Idx>

Source§

type It<'b> = Copied<Iter<'b, Idx>> where Self: 'b, Idx: 'b

Source§

impl<IdN, Idx: PrimInt> WithPreOrderOffsets for StructuralPosition<IdN, Idx>

Source§

type It<'a> = SPIter<'a, Idx> where Idx: 'a, Self: 'a

Source§

impl<IdN: Copy, Idx: PrimInt> WithPreOrderOffsets for RootedOffsets<IdN, Idx>

Source§

type It<'b> = Copied<Iter<'b, Idx>> where Self: 'b, Idx: 'b