Class RoaringBitmap

Nested Relationships

Nested Types

Class Documentation

class RoaringBitmap

a set of integers of 32 bits as a Roaring bitmap

Public Types

using Item = std::uint32_t

the type of the items

using value_type = std::uint32_t
using size_type = std::size_t
using difference_type = std::ptrdiff_t
using reference = std::uint32_t
using const_reference = std::uint32_t
using iterator = const_iterator

Public Functions

RoaringBitmap(void) = default
RoaringBitmap(const RoaringBitmap &o)
RoaringBitmap(RoaringBitmap &&o) noexcept = default
RoaringBitmap &operator=(RoaringBitmap o) noexcept
RoaringBitmap(const std::uint32_t *a, std::size_t n)

the set of the n strictly increasing items of a

Pre:

a strictly increasing (an audit)

bool contains(std::uint32_t x) const
bool insert(std::uint32_t x)

adds x; true if it was not there

bool remove(std::uint32_t x)

removes x; true if it was there

std::size_t size(void) const
bool empty(void) const
void clear(void)
void swap(RoaringBitmap &o) noexcept
std::size_t containers(void) const

the containers, and those that are bitmaps

std::size_t bitmaps(void) const
std::size_t bytes(void) const

the bytes of the containers

template<class F>
void forEach(F &&f) const

f( x ) on the items in increasing order

std::vector<std::uint32_t> items(void) const

the items in increasing order

std::size_t rank(std::uint32_t x) const

the items smaller than x: the counts of the containers before that of x, O( c ), and the place of x in it

inline const_iterator begin(void) const
inline const_iterator end(void) const
inline const_iterator cbegin(void) const
inline const_iterator cend(void) const
const_iterator lowerBound(std::uint32_t x) const

the first item not smaller than x, end() if none

const_iterator select(std::size_t i) const

the item of rank i (from 0), end() if i >= size()

Public Static Attributes

static constexpr std::uint32_t ARRAY = 4096

the items of an array container at most

Friends

friend RoaringBitmap setUnion(const RoaringBitmap &A, const RoaringBitmap &B)
friend RoaringBitmap setIntersection(const RoaringBitmap &A, const RoaringBitmap &B)
friend RoaringBitmap setDifference(const RoaringBitmap &A, const RoaringBitmap &B)
friend RoaringBitmap setSymmetricDifference(const RoaringBitmap &A, const RoaringBitmap &B)
class const_iterator

Public Types

using value_type = std::uint32_t
using reference = std::uint32_t
using difference_type = std::ptrdiff_t
using iterator_concept = std::forward_iterator_tag
using iterator_category = std::input_iterator_tag

Public Functions

const_iterator(void) = default
inline reference operator*(void) const
inline const_iterator &operator++(void)
inline const_iterator operator++(int)
inline bool operator==(const const_iterator &o) const