Expand description
This module contains additional utility types for working with
ZeroVec
and VarZeroVec
. See their docs for more details on the general purpose
of these types.
ZeroSlice
and VarZeroSlice
provide slice-like versions of the vector types
for use behind references and in custom ULE types.
VarZeroVecOwned
is a special owned/mutable version of VarZeroVec
, allowing
direct manipulation of the backing buffer.
Re-exports§
pub use crate::zerovec::ZeroSlice;
pub use crate::zerovec::ZeroVec;
pub use crate::varzerovec::VarZeroSlice;
pub use crate::varzerovec::VarZeroVec;
Structs§
- A zero-copy “slice” that efficiently represents
[usize]
. - The fully-owned variant of
FlexZeroVec
. Contains all mutation methods. - This is a
VarZeroVecFormat
that stores u16s in the index array. Will have a smaller data size, but it’s more likely for larger arrays to be unrepresentable (and error on construction) - This is a
VarZeroVecFormat
that stores u32s in the index array. Will have a larger data size, but will support large arrays without problems. - A fully-owned
VarZeroVec
. This type has no lifetime but has the same internal buffer representation ofVarZeroVec
, making it cheaply convertible toVarZeroVec
andVarZeroSlice
.
Enums§
- A zero-copy data structure that efficiently stores integer values.
Traits§
- This trait allows switching between different possible internal representations of VarZeroVec.