pub enum Fields<'a> {
Named(&'a [NamedField<'a>]),
Unnamed(usize),
}Expand description
Data stored within a Structable or an Enumerable.
Variants§
Named(&'a [NamedField<'a>])
Named fields
Unnamed(usize)
Unnamed (positional) fields or unit
The usize value represents the number of fields.
Implementations§
Source§impl Fields<'_>
impl Fields<'_>
Sourcepub const fn is_named(&self) -> bool
pub const fn is_named(&self) -> bool
Returns true if the fields are named.
§Examples
Named fields
use valuable::Fields;
let fields = Fields::Named(&[]);
assert!(fields.is_named());Unnamed fields
use valuable::Fields;
let fields = Fields::Unnamed(2);
assert!(!fields.is_named());Sourcepub const fn is_unnamed(&self) -> bool
pub const fn is_unnamed(&self) -> bool
Returns true if the fields are unnamed.
§Examples
Named fields
use valuable::Fields;
let fields = Fields::Named(&[]);
assert!(!fields.is_unnamed());Unnamed fields
use valuable::Fields;
let fields = Fields::Unnamed(3);
assert!(fields.is_unnamed());Sourcepub const fn len(&self) -> usize
pub const fn len(&self) -> usize
Returns the number of fields.
§Examples
Named fields
use valuable::{Fields, NamedField};
let fields = &[
NamedField::new("alice"),
NamedField::new("bob"),
];
let fields = Fields::Named(fields);
assert_eq!(fields.len(), 2);Unnamed fields
use valuable::Fields;
let fields = Fields::Unnamed(2);
assert_eq!(fields.len(), 2);Sourcepub const fn is_empty(&self) -> bool
pub const fn is_empty(&self) -> bool
Returns true if this set of fields defines no fields.
§Examples
Named fields
use valuable::{Fields, NamedField};
let fields = &[
NamedField::new("alice"),
NamedField::new("bob"),
];
let non_empty = Fields::Named(fields);
let empty = Fields::Named(&[]);
assert!(!non_empty.is_empty());
assert!(empty.is_empty());Unnamed fields
use valuable::Fields;
let non_empty = Fields::Unnamed(2);
let empty = Fields::Unnamed(0);
assert!(!non_empty.is_empty());
assert!(empty.is_empty());