#[non_exhaustive]pub enum Slice<'a> {
Show 19 variants
Bool(&'a [bool]),
Char(&'a [char]),
F32(&'a [f32]),
F64(&'a [f64]),
I8(&'a [i8]),
I16(&'a [i16]),
I32(&'a [i32]),
I64(&'a [i64]),
I128(&'a [i128]),
Isize(&'a [isize]),
Str(&'a [&'a str]),
String(&'a [String]),
U8(&'a [u8]),
U16(&'a [u16]),
U32(&'a [u32]),
U64(&'a [u64]),
U128(&'a [u128]),
Usize(&'a [usize]),
Unit(&'a [()]),
}Expand description
A slice containing primitive values.
The Slice enum is used to pass multiple primitive-values to the
visitor. This is used as an optimization when visiting
Listable types to avoid a dynamic dispatch call to Visit for
each element in the collection.
Slice instances are usually not created explicitly. Instead, they
are created when calling Valuable::visit_slice().
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Bool(&'a [bool])
A slice containing bool values.
§Examples
use valuable::Slice;
let v = Slice::Bool(&[true, true, false]);Char(&'a [char])
A slice containing char values.
§Examples
use valuable::Slice;
let v = Slice::Char(&['a', 'b', 'c']);F32(&'a [f32])
A slice containing f32 values.
§Examples
use valuable::Slice;
let v = Slice::F32(&[3.1415, 2.71828]);F64(&'a [f64])
A slice containing f64 values.
§Examples
use valuable::Slice;
let v = Slice::F64(&[3.1415, 2.71828]);I8(&'a [i8])
I16(&'a [i16])
I32(&'a [i32])
I64(&'a [i64])
I128(&'a [i128])
A slice containing I128 values.
§Examples
use valuable::Slice;
let v = Slice::I128(&[1, 1, 2, 3, 5]);Isize(&'a [isize])
A slice containing isize values.
§Examples
use valuable::Slice;
let v = Slice::Isize(&[1, 1, 2, 3, 5]);Str(&'a [&'a str])
A slice containing str values.
§Examples
use valuable::Slice;
let v = Slice::Str(&["foo", "bar", "baz"]);String(&'a [String])
A slice containing String values.
§Examples
use valuable::Slice;
let v = Slice::String(&["foo".to_string(), "bar".to_string()]);U8(&'a [u8])
U16(&'a [u16])
U32(&'a [u32])
U64(&'a [u64])
U128(&'a [u128])
A slice containing u128 values.
§Examples
use valuable::Slice;
let v = Slice::U128(&[1, 1, 2, 3, 5]);Usize(&'a [usize])
A slice containing usize values.
§Examples
use valuable::Slice;
let v = Slice::Usize(&[1, 1, 2, 3, 5]);Unit(&'a [()])
Implementations§
Source§impl<'a> Slice<'a>
impl<'a> Slice<'a>
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of elements in the slice
§Examples
use valuable::Slice;
let slice = Slice::U32(&[1, 1, 2, 3, 5]);
assert_eq!(5, slice.len());