mm1_proto

Trait Traversable

Source
pub trait Traversable<Inspector, Adjuster> {
    type InspectError: Into<AnyError>;
    type AdjustError: Into<AnyError>;

    // Required methods
    fn inspect(&self, visitor: &mut Inspector) -> Result<(), Self::InspectError>;
    fn adjust(
        &mut self,
        visitor: &mut Adjuster,
    ) -> Result<(), Self::AdjustError>;
}

Required Associated Types§

Required Methods§

Source

fn inspect(&self, visitor: &mut Inspector) -> Result<(), Self::InspectError>

Source

fn adjust(&mut self, visitor: &mut Adjuster) -> Result<(), Self::AdjustError>

Implementations on Foreign Types§

Source§

impl<I, A> Traversable<I, A> for bool

Source§

impl<I, A> Traversable<I, A> for char

Source§

impl<I, A> Traversable<I, A> for f32

Source§

impl<I, A> Traversable<I, A> for f64

Source§

impl<I, A> Traversable<I, A> for i8

Source§

impl<I, A> Traversable<I, A> for i16

Source§

impl<I, A> Traversable<I, A> for i32

Source§

impl<I, A> Traversable<I, A> for i64

Source§

impl<I, A> Traversable<I, A> for i128

Source§

impl<I, A> Traversable<I, A> for isize

Source§

impl<I, A> Traversable<I, A> for u8

Source§

impl<I, A> Traversable<I, A> for u16

Source§

impl<I, A> Traversable<I, A> for u32

Source§

impl<I, A> Traversable<I, A> for u64

Source§

impl<I, A> Traversable<I, A> for u128

Source§

impl<I, A> Traversable<I, A> for ()

Source§

impl<I, A> Traversable<I, A> for usize

Source§

impl<L, R, I, A> Traversable<I, A> for Either<L, R>
where L: Traversable<I, A>, R: Traversable<I, A>,

Source§

type AdjustError = Box<dyn Error + Sync + Send>

Source§

type InspectError = Box<dyn Error + Sync + Send>

Source§

fn inspect(&self, visitor: &mut I) -> Result<(), Self::InspectError>

Source§

fn adjust(&mut self, visitor: &mut A) -> Result<(), Self::AdjustError>

Source§

impl<T, E, I, A> Traversable<I, A> for Result<T, E>
where T: Traversable<I, A>, E: Traversable<I, A>,

Source§

type AdjustError = Box<dyn Error + Sync + Send>

Source§

type InspectError = Box<dyn Error + Sync + Send>

Source§

fn inspect(&self, visitor: &mut I) -> Result<(), Self::InspectError>

Source§

fn adjust(&mut self, visitor: &mut A) -> Result<(), Self::AdjustError>

Source§

impl<T, I, A> Traversable<I, A> for Option<T>
where T: Traversable<I, A>,

Source§

type AdjustError = <T as Traversable<I, A>>::AdjustError

Source§

type InspectError = <T as Traversable<I, A>>::InspectError

Source§

fn inspect(&self, visitor: &mut I) -> Result<(), Self::InspectError>

Source§

fn adjust(&mut self, visitor: &mut A) -> Result<(), Self::AdjustError>

Source§

impl<T, I, A> Traversable<I, A> for Vec<T>
where T: Traversable<I, A>,

Source§

type AdjustError = <T as Traversable<I, A>>::AdjustError

Source§

type InspectError = <T as Traversable<I, A>>::InspectError

Source§

fn inspect(&self, visitor: &mut I) -> Result<(), Self::InspectError>

Source§

fn adjust(&mut self, visitor: &mut A) -> Result<(), Self::AdjustError>

Source§

impl<T, const S: usize, I, A> Traversable<I, A> for [T; S]
where T: Traversable<I, A>,

Source§

type AdjustError = <T as Traversable<I, A>>::AdjustError

Source§

type InspectError = <T as Traversable<I, A>>::InspectError

Source§

fn inspect(&self, visitor: &mut I) -> Result<(), Self::InspectError>

Source§

fn adjust(&mut self, visitor: &mut A) -> Result<(), Self::AdjustError>

Implementors§