Enum valuable::Slice [−][src]
#[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
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])
alloc
only.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
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());
Returns true
if the slice is not empty.
Examples
use valuable::Slice;
let slice = Slice::U32(&[1, 1, 2, 3, 5]);
assert!(!slice.is_empty());
let slice = Slice::U32(&[]);
assert!(slice.is_empty());