pub enum Frozen {}
Expand description
The Frozen
format imitates memory layout of the underlying C library.
This reduces amount of allocations and copying required during deserialization, though
Portable
offers comparable performance.
Note that because frozen serialization format imitates C memory layout
of roaring_bitmap_t
, it is not fixed. It is different on big/little endian
platforms and can be changed in future.
Implementations§
Trait Implementations§
source§impl Serializer for Frozen
impl Serializer for Frozen
source§fn serialize_into_writer<W>(treemap: &Treemap, dst: W) -> Result<usize>where
W: Write,
fn serialize_into_writer<W>(treemap: &Treemap, dst: W) -> Result<usize>where
W: Write,
Serializes a Treemap to a writer in frozen format.
See Treemap::serialize_into_writer
for examples.
source§fn serialize_into<'a>(treemap: &Treemap, dst: &'a mut Vec<u8>) -> &'a [u8] ⓘ
fn serialize_into<'a>(treemap: &Treemap, dst: &'a mut Vec<u8>) -> &'a [u8] ⓘ
Serializes a Treemap to a slice of bytes in frozen format.
See Treemap::serialize_into
for examples.
source§fn get_serialized_size_in_bytes(treemap: &Treemap) -> usize
fn get_serialized_size_in_bytes(treemap: &Treemap) -> usize
Computes the serialized size in bytes of the Treemap in frozen format.
See Treemap::get_serialized_size_in_bytes
for examples.
source§impl Serializer for Frozen
impl Serializer for Frozen
source§fn serialize_into<'a>(bitmap: &Bitmap, dst: &'a mut Vec<u8>) -> &'a [u8] ⓘ
fn serialize_into<'a>(bitmap: &Bitmap, dst: &'a mut Vec<u8>) -> &'a [u8] ⓘ
Serializes a bitmap to a slice of bytes in “frozen” format.
This has an odd API because it always returns a slice which is aligned to 32 bytes:
This means the returned slice may not start exactly at the beginning of the passed Vec
See Bitmap::serialize_into
for examples.
source§fn get_serialized_size_in_bytes(bitmap: &Bitmap) -> usize
fn get_serialized_size_in_bytes(bitmap: &Bitmap) -> usize
Computes the serialized size in bytes of the Bitmap in frozen format.
See Bitmap::get_serialized_size_in_bytes
for examples.
source§impl ViewDeserializer for Frozen
impl ViewDeserializer for Frozen
source§unsafe fn deserialize_view(data: &[u8]) -> BitmapView<'_>
unsafe fn deserialize_view(data: &[u8]) -> BitmapView<'_>
Create a frozen bitmap view using the passed data
Safety
data
must be the result of serializing a roaring bitmap in frozen mode (in c withroaring_bitmap_frozen_serialize
, or viaBitmap::serialize_into::<Frozen>
).- Its beginning must be aligned by 32 bytes.
- data.len() must be equal exactly to the size of the frozen bitmap.
See BitmapView::deserialize
for examples.