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());