#[derive(Clone, Debug, PartialEq)]
pub struct Values<'a> {
slice: &'a [&'a str],
}
impl<'a> Values<'a> {
pub fn new(slice: &'a [&'a str]) -> Self {
Values { slice }
}
pub fn iter(&self) -> impl Iterator<Item = &'a str> {
self.slice.iter().copied()
}
pub fn empty() -> Self {
Self::new(&[])
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum AtMost {
Zero,
One,
Many,
}