Lines Matching defs:Value

17 /// A type that can be converted into a [`Value`](struct.Value.html).
20 fn to_value(&self) -> Value;
27 fn to_value(&self) -> Value {
32 impl<'v> ToValue for Value<'v> {
33 fn to_value(&self) -> Value {
34 Value {
44 $crate::kv::Value::from_debug(&$capture)
52 $crate::kv::Value::from_display(&$capture)
61 $crate::kv::Value::from_dyn_error(&$capture)
70 $crate::kv::Value::from_serde(&$capture)
74 /// Get a value from a type implementing `sval::value::Value`.
79 $crate::kv::Value::from_sval(&$capture)
89 /// - Using the `Value::capture_*` methods.
90 /// - Using the `Value::from_*` methods.
94 /// ## Using the `Value::capture_*` methods
96 /// `Value` offers a few constructor methods that capture values of different kinds.
100 /// use log::kv::Value;
102 /// let value = Value::capture_debug(&42i32);
107 /// ## Using the `Value::from_*` methods
109 /// `Value` offers a few constructor methods that capture values of different kinds.
113 /// use log::kv::Value;
115 /// let value = Value::from_debug(&42i32);
146 /// use log::kv::Value;
148 /// let value = Value::from(42i32);
152 pub struct Value<'v> {
156 impl<'v> Value<'v> {
170 Value {
180 Value {
191 Value {
202 Value {
207 /// Get a value from a type implementing `sval::value::Value`.
211 T: self::sval::value::Value + 'static,
213 Value {
223 Value {
233 Value {
244 Value {
249 /// Get a value from a type implementing `sval::value::Value`.
253 T: self::sval::value::Value,
255 Value {
262 Value {
269 Value {
277 Value {
282 /// Get a value from a type implementing `sval::value::Value`.
284 pub fn from_dyn_sval(value: &'v dyn self::sval::value::Value) -> Self {
285 Value {
295 Value {
320 .visit_any(Value { inner: value })
383 impl<'v> fmt::Debug for Value<'v> {
389 impl<'v> fmt::Display for Value<'v> {
396 fn to_value(&self) -> Value {
397 Value::from_dyn_debug(self)
402 fn to_value(&self) -> Value {
403 Value::from_dyn_display(self)
409 fn to_value(&self) -> Value {
410 Value::from_dyn_error(self)
415 impl<'v> self::serde::Serialize for Value<'v> {
425 impl<'v> self::sval::value::Value for Value<'v> {
427 self::sval::value::Value::stream(&self.inner, stream)
432 impl ToValue for dyn self::sval::value::Value {
433 fn to_value(&self) -> Value {
434 Value::from_dyn_sval(self)
439 fn to_value(&self) -> Value {
440 Value::from(self)
445 fn to_value(&self) -> Value {
446 Value::from(self)
451 fn to_value(&self) -> Value {
452 Value::from(self)
457 fn to_value(&self) -> Value {
458 Value::from(self)
463 fn to_value(&self) -> Value {
464 Value::from(self)
468 impl<'v> From<&'v str> for Value<'v> {
470 Value::from_value_bag(value)
474 impl<'v> From<&'v u128> for Value<'v> {
476 Value::from_value_bag(value)
480 impl<'v> From<&'v i128> for Value<'v> {
482 Value::from_value_bag(value)
486 impl<'v> From<&'v std::num::NonZeroU128> for Value<'v> {
487 fn from(v: &'v std::num::NonZeroU128) -> Value<'v> {
489 Value::from_value_bag(unsafe { std::mem::transmute::<&std::num::NonZeroU128, &u128>(v) })
493 impl<'v> From<&'v std::num::NonZeroI128> for Value<'v> {
494 fn from(v: &'v std::num::NonZeroI128) -> Value<'v> {
496 Value::from_value_bag(unsafe { std::mem::transmute::<&std::num::NonZeroI128, &i128>(v) })
501 fn to_value(&self) -> Value {
502 Value::from_value_bag(())
510 fn to_value(&self) -> Value {
513 None => Value::from_value_bag(()),
522 fn to_value(&self) -> Value {
523 Value::from(*self)
527 impl<'v> From<$into_ty> for Value<'v> {
529 Value::from_value_bag(value)
540 fn to_value(&self) -> Value {
541 Value::from(self.get())
545 impl<'v> From<std::num::$into_ty> for Value<'v> {
547 Value::from(value.get())
556 impl<'v> Value<'v> {
592 impl<'v> Value<'v> {
615 fn to_value(&self) -> Value {
621 fn to_value(&self) -> Value {
622 Value::from(&**self)
627 fn to_value(&self) -> Value {
628 Value::from(&**self)
632 impl<'v> Value<'v> {
639 impl<'v> From<&'v String> for Value<'v> {
641 Value::from(&**v)
646 /// A visitor for a `Value`.
648 /// Visit a `Value`.
652 /// The `Value` may be formatted using its `fmt::Debug` or `fmt::Display` implementation,
653 /// or serialized using its `sval::Value` or `serde::Serialize` implementation.
654 fn visit_any(&mut self, value: Value) -> Result<(), Error>;
705 self.visit_any(Value::from_dyn_error(err))
714 self.visit_any(Value::from_dyn_error(err))
722 fn visit_any(&mut self, value: Value) -> Result<(), Error> {
782 impl<'v> Value<'v> {
788 fn unsigned() -> impl Iterator<Item = Value<'static>> {
790 Value::from(8u8),
791 Value::from(16u16),
792 Value::from(32u32),
793 Value::from(64u64),
794 Value::from(1usize),
795 Value::from(std::num::NonZeroU8::new(8).unwrap()),
796 Value::from(std::num::NonZeroU16::new(16).unwrap()),
797 Value::from(std::num::NonZeroU32::new(32).unwrap()),
798 Value::from(std::num::NonZeroU64::new(64).unwrap()),
799 Value::from(std::num::NonZeroUsize::new(1).unwrap()),
804 fn signed() -> impl Iterator<Item = Value<'static>> {
806 Value::from(-8i8),
807 Value::from(-16i16),
808 Value::from(-32i32),
809 Value::from(-64i64),
810 Value::from(-1isize),
811 Value::from(std::num::NonZeroI8::new(-8).unwrap()),
812 Value::from(std::num::NonZeroI16::new(-16).unwrap()),
813 Value::from(std::num::NonZeroI32::new(-32).unwrap()),
814 Value::from(std::num::NonZeroI64::new(-64).unwrap()),
815 Value::from(std::num::NonZeroIsize::new(-1).unwrap()),
820 fn float() -> impl Iterator<Item = Value<'static>> {
821 vec![Value::from(32.32f32), Value::from(64.64f64)].into_iter()
824 fn bool() -> impl Iterator<Item = Value<'static>> {
825 vec![Value::from(true), Value::from(false)].into_iter()
828 fn str() -> impl Iterator<Item = Value<'static>> {
829 vec![Value::from("a string"), Value::from("a loong string")].into_iter()
832 fn char() -> impl Iterator<Item = Value<'static>> {
833 vec![Value::from('a'), Value::from('⛰')].into_iter()
838 assert_eq!(Some(42u64), Value::capture_display(&42).to_u64());
839 assert_eq!(Some(42u64), Value::capture_debug(&42).to_u64());
841 assert!(Value::from_display(&42).to_u64().is_none());
842 assert!(Value::from_debug(&42).to_u64().is_none());
850 assert!(Value::capture_error(&err).to_borrowed_error().is_some());
851 assert!(Value::from_dyn_error(&err).to_borrowed_error().is_some());
857 assert_eq!(Some(42u64), Value::capture_serde(&42).to_u64());
859 assert_eq!(Some(42u64), Value::from_serde(&42).to_u64());
865 assert_eq!(Some(42u64), Value::capture_sval(&42).to_u64());
867 assert_eq!(Some(42u64), Value::from_sval(&42).to_u64());
931 let v = Value::from(&*short_lived);
983 let v = Value::capture_debug(&Foo(42));
994 fn visit_any(&mut self, value: Value) -> Result<(), Error> {
1006 Value::from(42u64).visit(&mut extract).unwrap();
1016 fn visit_any(&mut self, value: Value) -> Result<(), Error> {
1030 Value::from(&*short_lived).visit(&mut extract).unwrap();