Struct sucds::compact_vector::CompactVector
source · [−]pub struct CompactVector { /* private fields */ }
Expand description
Compact vector in which each integer is represented in a fixed number of bits.
Examples
use sucds::CompactVector;
let cv = CompactVector::from_slice(&[5, 256, 0, 10]);
assert_eq!(cv.get(0), 5);
assert_eq!(cv.get(1), 256);
assert_eq!(cv.get(2), 0);
assert_eq!(cv.get(3), 10);
assert_eq!(cv.len(), 4);
assert_eq!(cv.width(), 9);
let mut bytes = vec![];
let size = cv.serialize_into(&mut bytes).unwrap();
let other = CompactVector::deserialize_from(&bytes[..]).unwrap();
assert_eq!(cv, other);
assert_eq!(size, bytes.len());
assert_eq!(size, cv.size_in_bytes());
Implementations
Creates a new CompactVector
of len
integers.
Arguments
len
: Number of integers to be stored.width
: Number of bits to represent an integer.
Creates a new CompactVector
that capa
integers are reserved.
Arguments
capa
: Number of integers to be reserved.width
: Number of bits to represent an integer.
Creates a new CompactVector
from a slice of integers.
Arguments
ints
: Integers to be stored.
Examples
use sucds::CompactVector;
let cv = CompactVector::from_slice(&[5, 256, 0, 10]);
assert_eq!(cv.get(0), 5);
assert_eq!(cv.get(1), 256);
assert_eq!(cv.get(2), 0);
assert_eq!(cv.get(3), 10);
Serializes the data structure into the writer, returning the number of serialized bytes.
Arguments
writer
:std::io::Write
variable.
Returns the number of bytes to serialize the data structure.
Trait Implementations
Returns the “default value” for a type. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for CompactVector
impl Send for CompactVector
impl Sync for CompactVector
impl Unpin for CompactVector
impl UnwindSafe for CompactVector
Blanket Implementations
Mutably borrows from an owned value. Read more