Module vecs
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.
Structs
-
Index16
This is a
VarZeroVecFormatthat stores u16s in the index array, and a u16 for a length. -
Index32
This is a
VarZeroVecFormatthat stores u32s in the index array, and a u32 for a length. Will have a larger data size, but will support large arrays without problems. -
Index8
This is a
VarZeroVecFormatthat stores u8s in the index array, and a u8 for a length. -
VarZeroSlice
A zero-copy "slice", that works for unsized types, i.e. the zero-copy version of
[T]whereTis notSized. - VarZeroSliceIter An iterator over VarZeroSlice
- VarZeroVec A zero-copy, byte-aligned vector for variable-width types.
-
VarZeroVecOwned
A fully-owned
VarZeroVec. This type has no lifetime but has the same internal buffer representation ofVarZeroVec, making it cheaply convertible toVarZeroVecandVarZeroSlice. -
ZeroSlice
A zero-copy "slice", i.e. the zero-copy version of
[T]. - ZeroSliceIter An iterator over elements in a VarZeroVec
- ZeroVec A zero-copy, byte-aligned vector for fixed-width types.
Traits
- VarZeroVecFormat This trait allows switching between different possible internal representations of VarZeroVec.