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());
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Fields<'a>
impl<'a> RefUnwindSafe for Fields<'a>
impl<'a> Send for Fields<'a>
impl<'a> Sync for Fields<'a>
impl<'a> Unpin for Fields<'a>
impl<'a> UnwindSafe for Fields<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more