Skip to main content

Visitor

Trait Visitor 

Source
pub trait Visitor<'t, B>
where B: Buf + Clone,
{ type Res;
Show 19 methods // Required methods fn get_ty(&self, name: &Path) -> &'t Ty; fn visit_bool(&mut self, v: bool) -> Result<Self::Res, Error>; fn visit_int8(&mut self, v: i8) -> Result<Self::Res, Error>; fn visit_int16(&mut self, v: i16) -> Result<Self::Res, Error>; fn visit_int32(&mut self, v: i32) -> Result<Self::Res, Error>; fn visit_int64(&mut self, v: i64) -> Result<Self::Res, Error>; fn visit_uint8(&mut self, v: u8) -> Result<Self::Res, Error>; fn visit_uint16(&mut self, v: u16) -> Result<Self::Res, Error>; fn visit_uint32(&mut self, v: u32) -> Result<Self::Res, Error>; fn visit_uint64(&mut self, v: u64) -> Result<Self::Res, Error>; fn visit_float32(&mut self, v: f32) -> Result<Self::Res, Error>; fn visit_float64(&mut self, v: f64) -> Result<Self::Res, Error>; fn visit_text( &mut self, contents: B, len: usize, ) -> Result<Self::Res, Error>; fn visit_tuple( &mut self, fields: impl Iterator<Item = (B, &'t TyTupleField)>, ) -> Result<Self::Res, Error>; fn visit_array( &mut self, items: impl Iterator<Item = B>, ty_items: &'t Ty, ) -> Result<Self::Res, Error>; fn visit_enum( &mut self, tag: usize, inner: B, ty_variants: &'t [TyEnumVariant], ) -> Result<Self::Res, Error>; // Provided methods fn get_mat_ty(&self, ty: &'t Ty) -> &'t Ty { ... } fn visit(&mut self, buf: B, ty: &'t Ty) -> Result<Self::Res, Error> { ... } fn visit_concrete(&mut self, buf: B, ty: &'t Ty) -> Result<Self::Res, Error> { ... }
}

Required Associated Types§

Required Methods§

Source

fn get_ty(&self, name: &Path) -> &'t Ty

Source

fn visit_bool(&mut self, v: bool) -> Result<Self::Res, Error>

Source

fn visit_int8(&mut self, v: i8) -> Result<Self::Res, Error>

Source

fn visit_int16(&mut self, v: i16) -> Result<Self::Res, Error>

Source

fn visit_int32(&mut self, v: i32) -> Result<Self::Res, Error>

Source

fn visit_int64(&mut self, v: i64) -> Result<Self::Res, Error>

Source

fn visit_uint8(&mut self, v: u8) -> Result<Self::Res, Error>

Source

fn visit_uint16(&mut self, v: u16) -> Result<Self::Res, Error>

Source

fn visit_uint32(&mut self, v: u32) -> Result<Self::Res, Error>

Source

fn visit_uint64(&mut self, v: u64) -> Result<Self::Res, Error>

Source

fn visit_float32(&mut self, v: f32) -> Result<Self::Res, Error>

Source

fn visit_float64(&mut self, v: f64) -> Result<Self::Res, Error>

Source

fn visit_text(&mut self, contents: B, len: usize) -> Result<Self::Res, Error>

Source

fn visit_tuple( &mut self, fields: impl Iterator<Item = (B, &'t TyTupleField)>, ) -> Result<Self::Res, Error>

Source

fn visit_array( &mut self, items: impl Iterator<Item = B>, ty_items: &'t Ty, ) -> Result<Self::Res, Error>

Source

fn visit_enum( &mut self, tag: usize, inner: B, ty_variants: &'t [TyEnumVariant], ) -> Result<Self::Res, Error>

Provided Methods§

Source

fn get_mat_ty(&self, ty: &'t Ty) -> &'t Ty

Source

fn visit(&mut self, buf: B, ty: &'t Ty) -> Result<Self::Res, Error>

Source

fn visit_concrete(&mut self, buf: B, ty: &'t Ty) -> Result<Self::Res, Error>

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§