Trait log::kv::VisitValue

source ·
pub trait VisitValue<'v> {
Show 13 methods // Required method fn visit_any(&mut self, value: Value<'_>) -> Result<(), Error>; // Provided methods fn visit_null(&mut self) -> Result<(), Error> { ... } fn visit_u64(&mut self, value: u64) -> Result<(), Error> { ... } fn visit_i64(&mut self, value: i64) -> Result<(), Error> { ... } fn visit_u128(&mut self, value: u128) -> Result<(), Error> { ... } fn visit_i128(&mut self, value: i128) -> Result<(), Error> { ... } fn visit_f64(&mut self, value: f64) -> Result<(), Error> { ... } fn visit_bool(&mut self, value: bool) -> Result<(), Error> { ... } fn visit_str(&mut self, value: &str) -> Result<(), Error> { ... } fn visit_borrowed_str(&mut self, value: &'v str) -> Result<(), Error> { ... } fn visit_char(&mut self, value: char) -> Result<(), Error> { ... } fn visit_error(&mut self, err: &(dyn Error + 'static)) -> Result<(), Error> { ... } fn visit_borrowed_error( &mut self, err: &'v (dyn Error + 'static) ) -> Result<(), Error> { ... }
}
Expand description

A visitor for a Value.

Also see Value’s documentation on seralization. Value visitors are a simple alternative to a more fully-featured serialization framework like serde or sval. A value visitor can differentiate primitive types through methods like VisitValue::visit_bool and VisitValue::visit_str, but more complex types like maps and sequences will fallthrough to VisitValue::visit_any.

If you’re trying to serialize a value to a format like JSON, you can use either serde or sval directly with the value. You don’t need a visitor.

Required Methods§

source

fn visit_any(&mut self, value: Value<'_>) -> Result<(), Error>

Visit a Value.

This is the only required method on VisitValue and acts as a fallback for any more specific methods that aren’t overridden. The Value may be formatted using its fmt::Debug or fmt::Display implementation, or serialized using its sval::Value or serde::Serialize implementation.

Provided Methods§

source

fn visit_null(&mut self) -> Result<(), Error>

Visit an empty value.

source

fn visit_u64(&mut self, value: u64) -> Result<(), Error>

Visit an unsigned integer.

source

fn visit_i64(&mut self, value: i64) -> Result<(), Error>

Visit a signed integer.

source

fn visit_u128(&mut self, value: u128) -> Result<(), Error>

Visit a big unsigned integer.

source

fn visit_i128(&mut self, value: i128) -> Result<(), Error>

Visit a big signed integer.

source

fn visit_f64(&mut self, value: f64) -> Result<(), Error>

Visit a floating point.

source

fn visit_bool(&mut self, value: bool) -> Result<(), Error>

Visit a boolean.

source

fn visit_str(&mut self, value: &str) -> Result<(), Error>

Visit a string.

source

fn visit_borrowed_str(&mut self, value: &'v str) -> Result<(), Error>

Visit a string.

source

fn visit_char(&mut self, value: char) -> Result<(), Error>

Visit a Unicode character.

source

fn visit_error(&mut self, err: &(dyn Error + 'static)) -> Result<(), Error>

Visit an error.

source

fn visit_borrowed_error( &mut self, err: &'v (dyn Error + 'static) ) -> Result<(), Error>

Visit an error.

Implementations on Foreign Types§

source§

impl<'a, 'v, T> VisitValue<'v> for &'a mut T
where T: VisitValue<'v> + ?Sized,

source§

fn visit_any(&mut self, value: Value<'_>) -> Result<(), Error>

source§

fn visit_null(&mut self) -> Result<(), Error>

source§

fn visit_u64(&mut self, value: u64) -> Result<(), Error>

source§

fn visit_i64(&mut self, value: i64) -> Result<(), Error>

source§

fn visit_u128(&mut self, value: u128) -> Result<(), Error>

source§

fn visit_i128(&mut self, value: i128) -> Result<(), Error>

source§

fn visit_f64(&mut self, value: f64) -> Result<(), Error>

source§

fn visit_bool(&mut self, value: bool) -> Result<(), Error>

source§

fn visit_str(&mut self, value: &str) -> Result<(), Error>

source§

fn visit_borrowed_str(&mut self, value: &'v str) -> Result<(), Error>

source§

fn visit_char(&mut self, value: char) -> Result<(), Error>

source§

fn visit_error(&mut self, err: &(dyn Error + 'static)) -> Result<(), Error>

source§

fn visit_borrowed_error( &mut self, err: &'v (dyn Error + 'static) ) -> Result<(), Error>

Implementors§