Enum croaring::Frozen

source ·
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§

source§

impl Frozen

source

pub const REQUIRED_ALIGNMENT: usize = 32usize

The frozen format requires bitmaps are aligned to 32 bytes.

Trait Implementations§

source§

impl Serializer for Frozen

source§

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]

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

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

source§

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

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

source§

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 with roaring_bitmap_frozen_serialize, or via Bitmap::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.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.