Struct roaring::treemap::RoaringTreemap
source · pub struct RoaringTreemap { /* private fields */ }
Expand description
A compressed bitmap with u64 values.
Implemented as a BTreeMap
of RoaringBitmap
s.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
// insert all primes less than 10
rb.insert(2);
rb.insert(3);
rb.insert(5);
rb.insert(7);
println!("total bits set to true: {}", rb.len());
Implementations§
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn is_disjoint(&self, other: &Self) -> bool
pub fn is_disjoint(&self, other: &Self) -> bool
Returns true if the set has no elements in common with other. This is equivalent to checking for an empty intersection.
§Examples
use roaring::RoaringTreemap;
let mut rb1 = RoaringTreemap::new();
let mut rb2 = RoaringTreemap::new();
rb1.insert(1);
assert_eq!(rb1.is_disjoint(&rb2), true);
rb2.insert(1);
assert_eq!(rb1.is_disjoint(&rb2), false);
sourcepub fn is_subset(&self, other: &Self) -> bool
pub fn is_subset(&self, other: &Self) -> bool
Returns true
if this set is a subset of other
.
§Examples
use roaring::RoaringTreemap;
let mut rb1 = RoaringTreemap::new();
let mut rb2 = RoaringTreemap::new();
rb1.insert(1);
assert_eq!(rb1.is_subset(&rb2), false);
rb2.insert(1);
assert_eq!(rb1.is_subset(&rb2), true);
rb1.insert(2);
assert_eq!(rb1.is_subset(&rb2), false);
sourcepub fn is_superset(&self, other: &Self) -> bool
pub fn is_superset(&self, other: &Self) -> bool
Returns true
if this set is a superset of other
.
§Examples
use roaring::RoaringTreemap;
let mut rb1 = RoaringTreemap::new();
let mut rb2 = RoaringTreemap::new();
rb1.insert(1);
assert_eq!(rb2.is_superset(&rb1), false);
rb2.insert(1);
assert_eq!(rb2.is_superset(&rb1), true);
rb1.insert(2);
assert_eq!(rb2.is_superset(&rb1), false);
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn new() -> RoaringTreemap
pub fn new() -> RoaringTreemap
Creates an empty RoaringTreemap
.
§Examples
use roaring::RoaringTreemap;
let rb = RoaringTreemap::new();
sourcepub fn full() -> RoaringTreemap
pub fn full() -> RoaringTreemap
sourcepub fn insert(&mut self, value: u64) -> bool
pub fn insert(&mut self, value: u64) -> bool
Adds a value to the set. Returns true
if the value was not already present in the set.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.insert(3), true);
assert_eq!(rb.insert(3), false);
assert_eq!(rb.contains(3), true);
sourcepub fn insert_range<R: RangeBounds<u64>>(&mut self, range: R) -> u64
pub fn insert_range<R: RangeBounds<u64>>(&mut self, range: R) -> u64
Inserts a range of values.
Returns the number of inserted values.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.insert_range(2..4);
assert!(rb.contains(2));
assert!(rb.contains(3));
assert!(!rb.contains(4));
sourcepub fn push(&mut self, value: u64) -> bool
pub fn push(&mut self, value: u64) -> bool
Pushes value
in the treemap only if it is greater than the current maximum value.
Returns whether the value was inserted.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert!(rb.push(1));
assert!(rb.push(3));
assert_eq!(rb.push(3), false);
assert!(rb.push(5));
assert_eq!(rb.iter().collect::<Vec<u64>>(), vec![1, 3, 5]);
sourcepub fn remove(&mut self, value: u64) -> bool
pub fn remove(&mut self, value: u64) -> bool
Removes a value from the set. Returns true
if the value was present in the set.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.insert(3);
assert_eq!(rb.remove(3), true);
assert_eq!(rb.remove(3), false);
assert_eq!(rb.contains(3), false);
sourcepub fn remove_range<R>(&mut self, range: R) -> u64where
R: RangeBounds<u64>,
pub fn remove_range<R>(&mut self, range: R) -> u64where
R: RangeBounds<u64>,
Removes a range of values. Returns the number of removed values.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.insert(2);
rb.insert(3);
assert_eq!(rb.remove_range(2..4), 2);
sourcepub fn contains(&self, value: u64) -> bool
pub fn contains(&self, value: u64) -> bool
Returns true
if this set contains the specified integer.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.insert(1);
assert_eq!(rb.contains(0), false);
assert_eq!(rb.contains(1), true);
assert_eq!(rb.contains(100), false);
sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clears all integers in this set.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.insert(1);
assert_eq!(rb.contains(1), true);
rb.clear();
assert_eq!(rb.contains(1), false);
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true
if there are no integers in this set.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.is_empty(), true);
rb.insert(3);
assert_eq!(rb.is_empty(), false);
sourcepub fn len(&self) -> u64
pub fn len(&self) -> u64
Returns the number of distinct integers added to the set.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.len(), 0);
rb.insert(3);
assert_eq!(rb.len(), 1);
rb.insert(3);
rb.insert(4);
assert_eq!(rb.len(), 2);
sourcepub fn min(&self) -> Option<u64>
pub fn min(&self) -> Option<u64>
Returns the minimum value in the set (if the set is non-empty).
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.min(), None);
rb.insert(3);
rb.insert(4);
assert_eq!(rb.min(), Some(3));
sourcepub fn max(&self) -> Option<u64>
pub fn max(&self) -> Option<u64>
Returns the maximum value in the set (if the set is non-empty).
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.max(), None);
rb.insert(3);
rb.insert(4);
assert_eq!(rb.max(), Some(4));
sourcepub fn rank(&self, value: u64) -> u64
pub fn rank(&self, value: u64) -> u64
Returns the number of integers that are <= value. rank(u64::MAX) == len()
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.rank(0), 0);
rb.insert(3);
rb.insert(4);
assert_eq!(rb.rank(3), 1);
assert_eq!(rb.rank(10), 2)
sourcepub fn select(&self, n: u64) -> Option<u64>
pub fn select(&self, n: u64) -> Option<u64>
Returns the n
th integer in the set or None
if n >= len()
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
assert_eq!(rb.select(0), None);
rb.append(vec![0, 10, 100]);
assert_eq!(rb.select(0), Some(0));
assert_eq!(rb.select(1), Some(10));
assert_eq!(rb.select(2), Some(100));
assert_eq!(rb.select(3), None);
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn iter(&self) -> Iter<'_> ⓘ
pub fn iter(&self) -> Iter<'_> ⓘ
Iterator over each value stored in the RoaringTreemap, guarantees values are ordered by value.
§Examples
use roaring::RoaringTreemap;
use core::iter::FromIterator;
let bitmap = (1..3).collect::<RoaringTreemap>();
let mut iter = bitmap.iter();
assert_eq!(iter.next(), Some(1));
assert_eq!(iter.next(), Some(2));
assert_eq!(iter.next(), None);
sourcepub fn bitmaps(&self) -> BitmapIter<'_>
pub fn bitmaps(&self) -> BitmapIter<'_>
Iterator over pairs of partition number and the corresponding RoaringBitmap. The partition number is defined by the 32 most significant bits of the bit index.
§Examples
use roaring::{RoaringBitmap, RoaringTreemap};
use core::iter::FromIterator;
let original = (0..6000).collect::<RoaringTreemap>();
let mut bitmaps = original.bitmaps();
assert_eq!(bitmaps.next(), Some((0, &(0..6000).collect::<RoaringBitmap>())));
assert_eq!(bitmaps.next(), None);
sourcepub fn from_bitmaps<I: IntoIterator<Item = (u32, RoaringBitmap)>>(
iterator: I
) -> Self
pub fn from_bitmaps<I: IntoIterator<Item = (u32, RoaringBitmap)>>( iterator: I ) -> Self
Construct a RoaringTreemap from an iterator of partition number and RoaringBitmap pairs. The partition number is defined by the 32 most significant bits of the bit index. Note that repeated partitions, if present, will replace previously set partitions.
§Examples
use roaring::RoaringTreemap;
use core::iter::FromIterator;
let original = (0..6000).collect::<RoaringTreemap>();
let clone = RoaringTreemap::from_bitmaps(original.bitmaps().map(|(p, b)| (p, b.clone())));
assert_eq!(clone, original);
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn from_sorted_iter<I: IntoIterator<Item = u64>>(
iterator: I
) -> Result<RoaringTreemap, NonSortedIntegers>
pub fn from_sorted_iter<I: IntoIterator<Item = u64>>( iterator: I ) -> Result<RoaringTreemap, NonSortedIntegers>
Create the set from a sorted iterator. Values must be sorted and deduplicated.
The values of the iterator must be ordered and strictly greater than the greatest value in the set. If a value in the iterator doesn’t satisfy this requirement, it is not added and the append operation is stopped.
Returns Ok
with the requested RoaringTreemap
, Err
with the number of elements
we tried to append before an error occurred.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::from_sorted_iter(0..10).unwrap();
assert!(rb.iter().eq(0..10));
sourcepub fn append<I: IntoIterator<Item = u64>>(
&mut self,
iterator: I
) -> Result<u64, NonSortedIntegers>
pub fn append<I: IntoIterator<Item = u64>>( &mut self, iterator: I ) -> Result<u64, NonSortedIntegers>
Extend the set with a sorted iterator.
The values of the iterator must be ordered and strictly greater than the greatest value in the set. If a value in the iterator doesn’t satisfy this requirement, it is not added and the append operation is stopped.
Returns Ok
with the number of elements appended to the set, Err
with
the number of elements we effectively appended before an error occurred.
§Examples
use roaring::RoaringTreemap;
let mut rb = RoaringTreemap::new();
rb.append(0..10);
assert!(rb.iter().eq(0..10));
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn union_len(&self, other: &RoaringTreemap) -> u64
pub fn union_len(&self, other: &RoaringTreemap) -> u64
Computes the len of the union with the specified other treemap without creating a new treemap.
This is faster and more space efficient when you’re only interested in the cardinality of the union.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let rb2: RoaringTreemap = (3..5).collect();
assert_eq!(rb1.union_len(&rb2), (rb1 | rb2).len());
sourcepub fn intersection_len(&self, other: &RoaringTreemap) -> u64
pub fn intersection_len(&self, other: &RoaringTreemap) -> u64
Computes the len of the intersection with the specified other treemap without creating a new treemap.
This is faster and more space efficient when you’re only interested in the cardinality of the intersection.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let rb2: RoaringTreemap = (3..5).collect();
assert_eq!(rb1.intersection_len(&rb2), (rb1 & rb2).len());
sourcepub fn difference_len(&self, other: &RoaringTreemap) -> u64
pub fn difference_len(&self, other: &RoaringTreemap) -> u64
Computes the len of the difference with the specified other treemap without creating a new treemap.
This is faster and more space efficient when you’re only interested in the cardinality of the difference.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let rb2: RoaringTreemap = (3..5).collect();
assert_eq!(rb1.difference_len(&rb2), (rb1 - rb2).len());
sourcepub fn symmetric_difference_len(&self, other: &RoaringTreemap) -> u64
pub fn symmetric_difference_len(&self, other: &RoaringTreemap) -> u64
Computes the len of the symmetric difference with the specified other treemap without creating a new bitmap.
This is faster and more space efficient when you’re only interested in the cardinality of the symmetric difference.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let rb2: RoaringTreemap = (3..5).collect();
assert_eq!(rb1.symmetric_difference_len(&rb2), (rb1 ^ rb2).len());
source§impl RoaringTreemap
impl RoaringTreemap
sourcepub fn serialized_size(&self) -> usize
pub fn serialized_size(&self) -> usize
Return the size in bytes of the serialized output. This is compatible with the official C/C++, Java and Go implementations.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let mut bytes = Vec::with_capacity(rb1.serialized_size());
rb1.serialize_into(&mut bytes).unwrap();
let rb2 = RoaringTreemap::deserialize_from(&bytes[..]).unwrap();
assert_eq!(rb1, rb2);
sourcepub fn serialize_into<W: Write>(&self, writer: W) -> Result<()>
pub fn serialize_into<W: Write>(&self, writer: W) -> Result<()>
Serialize this bitmap. This is compatible with the official C/C++, Java and Go implementations.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let mut bytes = vec![];
rb1.serialize_into(&mut bytes).unwrap();
let rb2 = RoaringTreemap::deserialize_from(&bytes[..]).unwrap();
assert_eq!(rb1, rb2);
sourcepub fn deserialize_from<R: Read>(reader: R) -> Result<Self>
pub fn deserialize_from<R: Read>(reader: R) -> Result<Self>
Deserialize a bitmap into memory.
This is compatible with the official C/C++, Java and Go implementations. This method checks that all of the internal values are valid.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let mut bytes = vec![];
rb1.serialize_into(&mut bytes).unwrap();
let rb2 = RoaringTreemap::deserialize_from(&bytes[..]).unwrap();
assert_eq!(rb1, rb2);
sourcepub fn deserialize_unchecked_from<R: Read>(reader: R) -> Result<Self>
pub fn deserialize_unchecked_from<R: Read>(reader: R) -> Result<Self>
Deserialize a bitmap into memory.
This is compatible with the official C/C++, Java and Go implementations. This method is memory safe but will not check if the data is a valid bitmap.
§Examples
use roaring::RoaringTreemap;
let rb1: RoaringTreemap = (1..4).collect();
let mut bytes = vec![];
rb1.serialize_into(&mut bytes).unwrap();
let rb2 = RoaringTreemap::deserialize_unchecked_from(&bytes[..]).unwrap();
assert_eq!(rb1, rb2);
Trait Implementations§
source§impl BitAnd<&RoaringTreemap> for &RoaringTreemap
impl BitAnd<&RoaringTreemap> for &RoaringTreemap
source§fn bitand(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitand(self, rhs: &RoaringTreemap) -> RoaringTreemap
An intersection
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
&
operator.source§impl BitAnd<&RoaringTreemap> for RoaringTreemap
impl BitAnd<&RoaringTreemap> for RoaringTreemap
source§fn bitand(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitand(self, rhs: &RoaringTreemap) -> RoaringTreemap
An intersection
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
&
operator.source§impl BitAnd<RoaringTreemap> for &RoaringTreemap
impl BitAnd<RoaringTreemap> for &RoaringTreemap
source§fn bitand(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitand(self, rhs: RoaringTreemap) -> RoaringTreemap
An intersection
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
&
operator.source§impl BitAnd for RoaringTreemap
impl BitAnd for RoaringTreemap
source§fn bitand(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitand(self, rhs: RoaringTreemap) -> RoaringTreemap
An intersection
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
&
operator.source§impl BitAndAssign<&RoaringTreemap> for RoaringTreemap
impl BitAndAssign<&RoaringTreemap> for RoaringTreemap
source§fn bitand_assign(&mut self, rhs: &RoaringTreemap)
fn bitand_assign(&mut self, rhs: &RoaringTreemap)
An intersection
between two sets.
source§impl BitAndAssign for RoaringTreemap
impl BitAndAssign for RoaringTreemap
source§fn bitand_assign(&mut self, rhs: RoaringTreemap)
fn bitand_assign(&mut self, rhs: RoaringTreemap)
An intersection
between two sets.
source§impl BitOr<&RoaringTreemap> for &RoaringTreemap
impl BitOr<&RoaringTreemap> for &RoaringTreemap
source§fn bitor(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitor(self, rhs: &RoaringTreemap) -> RoaringTreemap
An union
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
|
operator.source§impl BitOr<&RoaringTreemap> for RoaringTreemap
impl BitOr<&RoaringTreemap> for RoaringTreemap
source§fn bitor(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitor(self, rhs: &RoaringTreemap) -> RoaringTreemap
An union
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
|
operator.source§impl BitOr<RoaringTreemap> for &RoaringTreemap
impl BitOr<RoaringTreemap> for &RoaringTreemap
source§fn bitor(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitor(self, rhs: RoaringTreemap) -> RoaringTreemap
An union
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
|
operator.source§impl BitOr for RoaringTreemap
impl BitOr for RoaringTreemap
source§fn bitor(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitor(self, rhs: RoaringTreemap) -> RoaringTreemap
An union
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
|
operator.source§impl BitOrAssign<&RoaringTreemap> for RoaringTreemap
impl BitOrAssign<&RoaringTreemap> for RoaringTreemap
source§fn bitor_assign(&mut self, rhs: &RoaringTreemap)
fn bitor_assign(&mut self, rhs: &RoaringTreemap)
An union
between two sets.
source§impl BitOrAssign for RoaringTreemap
impl BitOrAssign for RoaringTreemap
source§fn bitor_assign(&mut self, rhs: RoaringTreemap)
fn bitor_assign(&mut self, rhs: RoaringTreemap)
An union
between two sets.
source§impl BitXor<&RoaringTreemap> for &RoaringTreemap
impl BitXor<&RoaringTreemap> for &RoaringTreemap
source§fn bitxor(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitxor(self, rhs: &RoaringTreemap) -> RoaringTreemap
A symmetric difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
^
operator.source§impl BitXor<&RoaringTreemap> for RoaringTreemap
impl BitXor<&RoaringTreemap> for RoaringTreemap
source§fn bitxor(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn bitxor(self, rhs: &RoaringTreemap) -> RoaringTreemap
A symmetric difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
^
operator.source§impl BitXor<RoaringTreemap> for &RoaringTreemap
impl BitXor<RoaringTreemap> for &RoaringTreemap
source§fn bitxor(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitxor(self, rhs: RoaringTreemap) -> RoaringTreemap
A symmetric difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
^
operator.source§impl BitXor for RoaringTreemap
impl BitXor for RoaringTreemap
source§fn bitxor(self, rhs: RoaringTreemap) -> RoaringTreemap
fn bitxor(self, rhs: RoaringTreemap) -> RoaringTreemap
A symmetric difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
^
operator.source§impl BitXorAssign<&RoaringTreemap> for RoaringTreemap
impl BitXorAssign<&RoaringTreemap> for RoaringTreemap
source§fn bitxor_assign(&mut self, rhs: &RoaringTreemap)
fn bitxor_assign(&mut self, rhs: &RoaringTreemap)
A symmetric difference
between two sets.
source§impl BitXorAssign for RoaringTreemap
impl BitXorAssign for RoaringTreemap
source§fn bitxor_assign(&mut self, rhs: RoaringTreemap)
fn bitxor_assign(&mut self, rhs: RoaringTreemap)
A symmetric difference
between two sets.
source§impl Clone for RoaringTreemap
impl Clone for RoaringTreemap
source§impl Debug for RoaringTreemap
impl Debug for RoaringTreemap
source§impl Default for RoaringTreemap
impl Default for RoaringTreemap
source§fn default() -> RoaringTreemap
fn default() -> RoaringTreemap
source§impl<'a> Extend<&'a u64> for RoaringTreemap
impl<'a> Extend<&'a u64> for RoaringTreemap
source§fn extend<I: IntoIterator<Item = &'a u64>>(&mut self, iterator: I)
fn extend<I: IntoIterator<Item = &'a u64>>(&mut self, iterator: I)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl Extend<u64> for RoaringTreemap
impl Extend<u64> for RoaringTreemap
source§fn extend<I: IntoIterator<Item = u64>>(&mut self, iterator: I)
fn extend<I: IntoIterator<Item = u64>>(&mut self, iterator: I)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl<'a> FromIterator<&'a u64> for RoaringTreemap
impl<'a> FromIterator<&'a u64> for RoaringTreemap
source§fn from_iter<I: IntoIterator<Item = &'a u64>>(iterator: I) -> RoaringTreemap
fn from_iter<I: IntoIterator<Item = &'a u64>>(iterator: I) -> RoaringTreemap
source§impl FromIterator<(u32, RoaringBitmap)> for RoaringTreemap
impl FromIterator<(u32, RoaringBitmap)> for RoaringTreemap
source§fn from_iter<I: IntoIterator<Item = (u32, RoaringBitmap)>>(
iterator: I
) -> RoaringTreemap
fn from_iter<I: IntoIterator<Item = (u32, RoaringBitmap)>>( iterator: I ) -> RoaringTreemap
source§impl FromIterator<u64> for RoaringTreemap
impl FromIterator<u64> for RoaringTreemap
source§fn from_iter<I: IntoIterator<Item = u64>>(iterator: I) -> RoaringTreemap
fn from_iter<I: IntoIterator<Item = u64>>(iterator: I) -> RoaringTreemap
source§impl<'a> IntoIterator for &'a RoaringTreemap
impl<'a> IntoIterator for &'a RoaringTreemap
source§impl IntoIterator for RoaringTreemap
impl IntoIterator for RoaringTreemap
source§impl<'a, I> MultiOps<&'a RoaringTreemap> for Iwhere
I: IntoIterator<Item = &'a RoaringTreemap>,
impl<'a, I> MultiOps<&'a RoaringTreemap> for Iwhere
I: IntoIterator<Item = &'a RoaringTreemap>,
§type Output = RoaringTreemap
type Output = RoaringTreemap
source§fn intersection(self) -> Self::Output
fn intersection(self) -> Self::Output
intersection
between all elements.source§fn difference(self) -> Self::Output
fn difference(self) -> Self::Output
difference
between all elements.source§fn symmetric_difference(self) -> Self::Output
fn symmetric_difference(self) -> Self::Output
symmetric difference
between all elements.source§impl<I> MultiOps<RoaringTreemap> for Iwhere
I: IntoIterator<Item = RoaringTreemap>,
impl<I> MultiOps<RoaringTreemap> for Iwhere
I: IntoIterator<Item = RoaringTreemap>,
§type Output = RoaringTreemap
type Output = RoaringTreemap
source§fn intersection(self) -> Self::Output
fn intersection(self) -> Self::Output
intersection
between all elements.source§fn difference(self) -> Self::Output
fn difference(self) -> Self::Output
difference
between all elements.source§fn symmetric_difference(self) -> Self::Output
fn symmetric_difference(self) -> Self::Output
symmetric difference
between all elements.source§impl PartialEq for RoaringTreemap
impl PartialEq for RoaringTreemap
source§fn eq(&self, other: &RoaringTreemap) -> bool
fn eq(&self, other: &RoaringTreemap) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Sub<&RoaringTreemap> for &RoaringTreemap
impl Sub<&RoaringTreemap> for &RoaringTreemap
source§fn sub(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn sub(self, rhs: &RoaringTreemap) -> RoaringTreemap
A difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
-
operator.source§impl Sub<&RoaringTreemap> for RoaringTreemap
impl Sub<&RoaringTreemap> for RoaringTreemap
source§fn sub(self, rhs: &RoaringTreemap) -> RoaringTreemap
fn sub(self, rhs: &RoaringTreemap) -> RoaringTreemap
A difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
-
operator.source§impl Sub<RoaringTreemap> for &RoaringTreemap
impl Sub<RoaringTreemap> for &RoaringTreemap
source§fn sub(self, rhs: RoaringTreemap) -> RoaringTreemap
fn sub(self, rhs: RoaringTreemap) -> RoaringTreemap
A difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
-
operator.source§impl Sub for RoaringTreemap
impl Sub for RoaringTreemap
source§fn sub(self, rhs: RoaringTreemap) -> RoaringTreemap
fn sub(self, rhs: RoaringTreemap) -> RoaringTreemap
A difference
between two sets.
§type Output = RoaringTreemap
type Output = RoaringTreemap
-
operator.source§impl SubAssign<&RoaringTreemap> for RoaringTreemap
impl SubAssign<&RoaringTreemap> for RoaringTreemap
source§fn sub_assign(&mut self, rhs: &RoaringTreemap)
fn sub_assign(&mut self, rhs: &RoaringTreemap)
A difference
between two sets.
source§impl SubAssign for RoaringTreemap
impl SubAssign for RoaringTreemap
source§fn sub_assign(&mut self, rhs: RoaringTreemap)
fn sub_assign(&mut self, rhs: RoaringTreemap)
A difference
between two sets.