pub struct NamedValues<'a> { /* private fields */ }Expand description
Set of values from a Structable or Enumerable with named fields.
Implementations§
Source§impl<'a> NamedValues<'a>
impl<'a> NamedValues<'a>
Sourcepub fn new(
fields: &'a [NamedField<'a>],
values: &'a [Value<'a>],
) -> NamedValues<'a>
pub fn new( fields: &'a [NamedField<'a>], values: &'a [Value<'a>], ) -> NamedValues<'a>
Create a new NamedValues instance.
Both fields and values must be the same length.
§Panics
The method panics if fields and values are different lengths.
§Examples
use valuable::{NamedField, NamedValues, Value};
let fields = [
NamedField::new("foo"),
NamedField::new("bar")
];
let values = [
Value::U32(123),
Value::U32(456),
];
let named_values = NamedValues::new(&fields, &values);
assert_eq!(
named_values.get(&fields[0]).unwrap().as_u32(),
Some(123));Sourcepub fn get(&self, field: &NamedField<'_>) -> Option<&Value<'_>>
pub fn get(&self, field: &NamedField<'_>) -> Option<&Value<'_>>
Get a value using a NamedField reference.
§Examples
use valuable::{NamedField, NamedValues, Value};
let fields = [
NamedField::new("foo"),
NamedField::new("bar")
];
let values = [
Value::U32(123),
Value::U32(456),
];
let named_values = NamedValues::new(&fields, &values);
assert_eq!(
named_values.get(&fields[0]).unwrap().as_u32(),
Some(123));Sourcepub fn get_by_name(&self, name: impl AsRef<str>) -> Option<&Value<'_>>
pub fn get_by_name(&self, name: impl AsRef<str>) -> Option<&Value<'_>>
Get a value using string.
§Examples
use valuable::{NamedField, NamedValues, Value};
let fields = [
NamedField::new("foo"),
NamedField::new("bar")
];
let values = [
Value::U32(123),
Value::U32(456),
];
let named_values = NamedValues::new(&fields, &values);
assert_eq!(
named_values.get_by_name("foo").unwrap().as_u32(),
Some(123));Sourcepub fn iter<'b>(&'b self) -> Iter<'a, 'b>
pub fn iter<'b>(&'b self) -> Iter<'a, 'b>
Iterate all name-value pairs.
§Examples
use valuable::{NamedField, NamedValues, Value};
let fields = [
NamedField::new("foo"),
NamedField::new("bar")
];
let values = [
Value::U32(123),
Value::U32(456),
];
let named_values = NamedValues::new(&fields, &values);
for (field, value) in named_values.iter() {
println!("{:?}: {:?}", field, value);
}Trait Implementations§
Source§impl<'a> Debug for NamedValues<'a>
impl<'a> Debug for NamedValues<'a>
Source§impl<'a, 'b> IntoIterator for &'b NamedValues<'a>
impl<'a, 'b> IntoIterator for &'b NamedValues<'a>
Source§type Item = (&'b NamedField<'a>, &'b Value<'a>)
type Item = (&'b NamedField<'a>, &'b Value<'a>)
The type of the elements being iterated over.
Source§fn into_iter(self) -> <&'b NamedValues<'a> as IntoIterator>::IntoIter
fn into_iter(self) -> <&'b NamedValues<'a> as IntoIterator>::IntoIter
Creates an iterator from a value. Read more