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
VarZeroVecFormatthat 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
VarZeroVecFormatthat 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 toVarZeroVecandVarZeroSlice.
Enums§
- A zero-copy data structure that efficiently stores integer values.
Traits§
- This trait allows switching between different possible internal representations of VarZeroVec.