Crate stack_croaring_sys Copy item path Source __fsid_t roaring_array_s Roaring arrays are array-based key-value pairs having containers as values
and 16-bit integer keys. A roaring bitmap might be implemented as such. roaring_bitmap_s roaring_statistics_s (For advanced users.)
The roaring_statistics_t can be used to collect detailed statistics about
the composition of a roaring bitmap. roaring_uint32_iterator_s What follows is code use to iterate through values in a roaring bitmap INT8_MAX INT8_MIN INT16_MAX INT16_MIN INT32_MAX INT32_MIN INTPTR_MAX INTPTR_MIN INT_FAST8_MAX INT_FAST8_MIN INT_FAST16_MAX INT_FAST16_MIN INT_FAST32_MAX INT_FAST32_MIN INT_LEAST8_MAX INT_LEAST8_MIN INT_LEAST16_MAX INT_LEAST16_MIN INT_LEAST32_MAX INT_LEAST32_MIN MAX_CONTAINERS PTRDIFF_MAX PTRDIFF_MIN ROARING_VERSION_MAJOR ROARING_VERSION_MINOR ROARING_VERSION_REVISION SERIALIZATION_ARRAY_UINT32 SERIALIZATION_CONTAINER SIG_ATOMIC_MAX SIG_ATOMIC_MIN SIZE_MAX UINT8_MAX UINT16_MAX UINT32_MAX UINTPTR_MAX UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX WINT_MAX WINT_MIN _ATFILE_SOURCE _BITS_STDINT_INTN_H _BITS_STDINT_UINTN_H _BITS_TIME64_H _BITS_TYPESIZES_H _BITS_TYPES_H _BITS_WCHAR_H _DEFAULT_SOURCE _FEATURES_H _POSIX_C_SOURCE _POSIX_SOURCE _STDC_PREDEF_H _STDINT_H _SYS_CDEFS_H __FD_SETSIZE __GLIBC_MINOR__ __GLIBC_USE_DEPRECATED_GETS __GLIBC_USE_DEPRECATED_SCANF __GLIBC_USE_IEC_60559_BFP_EXT __GLIBC_USE_IEC_60559_BFP_EXT_C2X __GLIBC_USE_IEC_60559_EXT __GLIBC_USE_IEC_60559_FUNCS_EXT __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X __GLIBC_USE_IEC_60559_TYPES_EXT __GLIBC_USE_ISOC2X __GLIBC_USE_LIB_EXT2 __GLIBC__ __GNU_LIBRARY__ __HAVE_GENERIC_SELECTION __INO_T_MATCHES_INO64_T __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI __OFF_T_MATCHES_OFF64_T __RLIM_T_MATCHES_RLIM64_T __STATFS_MATCHES_STATFS64 __STDC_IEC_559_COMPLEX__ __STDC_IEC_559__ __STDC_IEC_60559_BFP__ __STDC_IEC_60559_COMPLEX__ __STDC_ISO_10646__ __SYSCALL_WORDSIZE __TIMESIZE __USE_ATFILE __USE_FORTIFY_LEVEL __USE_ISOC11 __USE_ISOC95 __USE_ISOC99 __USE_MISC __USE_POSIX __USE_POSIX2 __USE_POSIX199309 __USE_POSIX199506 __USE_POSIX_IMPLICITLY __USE_XOPEN2K __USE_XOPEN2K8 __WORDSIZE __WORDSIZE_TIME64_COMPAT32 __bool_true_false_are_defined __glibc_c99_flexarr_available false_ true_ roaring_advance_uint32_iterator ⚠ Advance the iterator. If there is a new value, then it->has_value
is true.
The new value is in it->current_value
. Values are traversed in increasing
orders. For convenience, returns it->has_value
. roaring_bitmap_add ⚠ Add value x roaring_bitmap_add_checked ⚠ Add value x
Returns true if a new value was added, false if the value already existed. roaring_bitmap_add_many ⚠ Add value n_args from pointer vals, faster than repeatedly calling
roaring_bitmap_add()
roaring_bitmap_add_range_closed ⚠ Add all values in range [min, max] roaring_bitmap_and ⚠ Computes the intersection between two bitmaps and returns new bitmap. The
caller is responsible for memory management. roaring_bitmap_and_cardinality ⚠ Computes the size of the intersection between two bitmaps. roaring_bitmap_and_inplace ⚠ Inplace version of roaring_bitmap_and()
, modifies r1
r1 == r2 is allowed roaring_bitmap_andnot ⚠ Computes the difference (andnot) between two bitmaps and returns new bitmap.
Caller is responsible for freeing the result. roaring_bitmap_andnot_cardinality ⚠ Computes the size of the difference (andnot) between two bitmaps. roaring_bitmap_andnot_inplace ⚠ Inplace version of roaring_bitmap_andnot, modifies r1, r1 != r2. roaring_bitmap_clear ⚠ Empties the bitmap. It will have no auxiliary allocations (so if the bitmap
was initialized in client memory via roaring_bitmap_init(), then a call to
roaring_bitmap_clear() would be enough to “free” it) roaring_bitmap_contains ⚠ Check if value is present roaring_bitmap_contains_range ⚠ Check whether a range of values from range_start (included)
to range_end (excluded) is present roaring_bitmap_copy ⚠ Copies a bitmap (this does memory allocation).
The caller is responsible for memory management. roaring_bitmap_create_with_capacity ⚠ Dynamically allocates a new bitmap (initially empty).
Returns NULL if the allocation fails.
Capacity is a performance hint for how many “containers” the data will need.
Client is responsible for calling roaring_bitmap_free()
. roaring_bitmap_deserialize ⚠ Use with roaring_bitmap_serialize()
. roaring_bitmap_equals ⚠ Return true if the two bitmaps contain the same elements. roaring_bitmap_flip ⚠ Compute the negation of the bitmap in the interval [range_start, range_end).
The number of negated values is range_end - range_start.
Areas outside the range are passed through unchanged. roaring_bitmap_flip_inplace ⚠ compute (in place) the negation of the roaring bitmap within a specified
interval: [range_start, range_end). The number of negated values is
range_end - range_start.
Areas outside the range are passed through unchanged. roaring_bitmap_free ⚠ Frees the memory. roaring_bitmap_from_range ⚠ Add all the values between min (included) and max (excluded) that are at a
distance k*step from min. roaring_bitmap_frozen_serialize ⚠ Serializes bitmap using frozen format.
Buffer size must be at least roaring_bitmap_frozen_size_in_bytes(). roaring_bitmap_frozen_size_in_bytes ⚠ Returns number of bytes required to serialize bitmap using frozen format. roaring_bitmap_frozen_view ⚠ Creates constant bitmap that is a view of a given buffer.
Buffer data should have been written by roaring_bitmap_frozen_serialize()
Its beginning must also be aligned by 32 bytes.
Length must be equal exactly to roaring_bitmap_frozen_size_in_bytes()
.
In case of failure, NULL is returned. roaring_bitmap_get_cardinality ⚠ Get the cardinality of the bitmap (number of elements). roaring_bitmap_init_with_capacity ⚠ Initialize a roaring bitmap structure in memory controlled by client.
Capacity is a performance hint for how many “containers” the data will need.
Can return false if auxiliary allocations fail when capacity greater than 0. roaring_bitmap_intersect ⚠ Check whether two bitmaps intersect. roaring_bitmap_intersect_with_range ⚠ Check whether a bitmap and a closed range intersect. roaring_bitmap_is_empty ⚠ Returns true if the bitmap is empty (cardinality is zero). roaring_bitmap_is_strict_subset ⚠ Return true if all the elements of r1 are also in r2, and r2 is strictly
greater than r1. roaring_bitmap_is_subset ⚠ Return true if all the elements of r1 are also in r2. roaring_bitmap_jaccard_index ⚠ Computes the Jaccard index between two bitmaps. (Also known as the Tanimoto
distance, or the Jaccard similarity coefficient) roaring_bitmap_lazy_or ⚠ (For expert users who seek high performance.) roaring_bitmap_lazy_or_inplace ⚠ (For expert users who seek high performance.) roaring_bitmap_lazy_xor ⚠ Computes the symmetric difference between two bitmaps and returns new bitmap.
The caller is responsible for memory management. roaring_bitmap_lazy_xor_inplace ⚠ (For expert users who seek high performance.) roaring_bitmap_maximum ⚠ Returns the greatest value in the set, or 0 if the set is empty. roaring_bitmap_minimum ⚠ Returns the smallest value in the set, or UINT32_MAX if the set is empty. roaring_bitmap_of ⚠ Creates a new bitmap from a list of uint32_t integers roaring_bitmap_of_ptr ⚠ Creates a new bitmap from a pointer of uint32_t integers roaring_bitmap_or ⚠ Computes the union between two bitmaps and returns new bitmap. The caller is
responsible for memory management. roaring_bitmap_or_cardinality ⚠ Computes the size of the union between two bitmaps. roaring_bitmap_or_inplace ⚠ Inplace version of `roaring_bitmap_or(), modifies r1.
TODO: decide whether r1 == r2 ok roaring_bitmap_or_many ⚠ Compute the union of ‘number’ bitmaps.
Caller is responsible for freeing the result.
See also roaring_bitmap_or_many_heap()
roaring_bitmap_or_many_heap ⚠ Compute the union of ‘number’ bitmaps using a heap. This can sometimes be
faster than `roaring_bitmap_or_many() which uses a naive algorithm.
Caller is responsible for freeing the result. roaring_bitmap_overwrite ⚠ Copies a bitmap from src to dest. It is assumed that the pointer dest
is to an already allocated bitmap. The content of the dest bitmap is
freed/deleted. roaring_bitmap_portable_deserialize ⚠ Read bitmap from a serialized buffer.
In case of failure, NULL is returned. roaring_bitmap_portable_deserialize_safe ⚠ Read bitmap from a serialized buffer safely (reading up to maxbytes).
In case of failure, NULL is returned. roaring_bitmap_portable_deserialize_size ⚠ Check how many bytes would be read (up to maxbytes) at this pointer if there
is a bitmap, returns zero if there is no valid bitmap. roaring_bitmap_portable_serialize ⚠ Write a bitmap to a char buffer. The output buffer should refer to at least
roaring_bitmap_portable_size_in_bytes(r)
bytes of allocated memory. roaring_bitmap_portable_size_in_bytes ⚠ How many bytes are required to serialize this bitmap. roaring_bitmap_printf ⚠ Print the content of the bitmap. roaring_bitmap_printf_describe ⚠ Describe the inner structure of the bitmap. roaring_bitmap_range_cardinality ⚠ Returns the number of elements in the range [range_start, range_end). roaring_bitmap_range_uint32_array ⚠ Convert the bitmap to an array from offset
by limit
, output in ans
. roaring_bitmap_rank ⚠ roaring_bitmap_rank returns the number of integers that are smaller or equal
to x. Thus if x is the first element, this function will return 1. If
x is smaller than the smallest element, this function will return 0. roaring_bitmap_remove ⚠ Remove value x roaring_bitmap_remove_checked ⚠ Remove value x
Returns true if a new value was removed, false if the value was not existing. roaring_bitmap_remove_many ⚠ Remove multiple values roaring_bitmap_remove_range_closed ⚠ Remove all values in range [min, max] roaring_bitmap_remove_run_compression ⚠ Remove run-length encoding even when it is more space efficient.
Return whether a change was applied. roaring_bitmap_repair_after_lazy ⚠ (For expert users who seek high performance.) roaring_bitmap_run_optimize ⚠ Convert array and bitmap containers to run containers when it is more
efficient; also convert from run containers when more space efficient. roaring_bitmap_select ⚠ Selects the element at index ‘rank’ where the smallest element is at index 0.
If the size of the roaring bitmap is strictly greater than rank, then this
function returns true and sets element to the element of given rank.
Otherwise, it returns false. roaring_bitmap_serialize ⚠ Write the bitmap to an output pointer, this output buffer should refer to
at least roaring_bitmap_size_in_bytes(r)
allocated bytes. roaring_bitmap_shrink_to_fit ⚠ If needed, reallocate memory to shrink the memory usage.
Returns the number of bytes saved. roaring_bitmap_size_in_bytes ⚠ How many bytes are required to serialize this bitmap (NOT compatible
with Java and Go versions) roaring_bitmap_statistics ⚠ (For advanced users.) roaring_bitmap_to_uint32_array ⚠ Convert the bitmap to an array, output in ans
, roaring_bitmap_xor ⚠ Computes the symmetric difference (xor) between two bitmaps
and returns new bitmap. The caller is responsible for memory management. roaring_bitmap_xor_cardinality ⚠ Computes the size of the symmetric difference (xor) between two bitmaps. roaring_bitmap_xor_inplace ⚠ Inplace version of roaring_bitmap_xor, modifies r1, r1 != r2. roaring_bitmap_xor_many ⚠ Compute the xor of ‘number’ bitmaps.
Caller is responsible for freeing the result. roaring_copy_uint32_iterator ⚠ Creates a copy of an iterator.
Caller must free it. roaring_create_iterator ⚠ Create an iterator object that can be used to iterate through the values.
Caller is responsible for calling roaring_free_iterator()
. roaring_free_uint32_iterator ⚠ Free memory following roaring_create_iterator()
roaring_init_iterator ⚠ Initialize an iterator object that can be used to iterate through the
values. If there is a value, then this iterator points to the first value
and it->has_value
is true. The value is in it->current_value
. roaring_init_iterator_last ⚠ Initialize an iterator object that can be used to iterate through the
values. If there is a value, then this iterator points to the last value
and it->has_value
is true. The value is in it->current_value
. roaring_iterate ⚠ Iterate over the bitmap elements. The function iterator is called once for
all the values with ptr (can be NULL) as the second parameter of each call. roaring_iterate64 ⚠ roaring_move_uint32_iterator_equalorlarger ⚠ Move the iterator to the first value >= val
. If there is a such a value,
then it->has_value
is true. The new value is in it->current_value
.
For convenience, returns it->has_value
. roaring_previous_uint32_iterator ⚠ Decrement the iterator. If there’s a new value, then it->has_value
is true.
The new value is in it->current_value
. Values are traversed in decreasing
order. For convenience, returns it->has_value
. roaring_read_uint32_iterator ⚠ __blkcnt64_t __blkcnt_t __blksize_t __caddr_t __clock_t __clockid_t __daddr_t __dev_t __fsblkcnt64_t __fsblkcnt_t __fsfilcnt64_t __fsfilcnt_t __fsword_t __gid_t __id_t __ino64_t __ino_t __int8_t __int16_t __int32_t __int64_t __int_least8_t __int_least16_t __int_least32_t __int_least64_t __intmax_t __intptr_t __key_t __loff_t __mode_t __nlink_t __off64_t __off_t __pid_t __quad_t __rlim64_t __rlim_t __sig_atomic_t __socklen_t __ssize_t __suseconds64_t __suseconds_t __syscall_slong_t __syscall_ulong_t __time_t __timer_t __u_char __u_int __u_long __u_quad_t __u_short __uid_t __uint8_t __uint16_t __uint32_t __uint64_t __uint_least8_t __uint_least16_t __uint_least32_t __uint_least64_t __uintmax_t __useconds_t _bindgen_ty_1 int_fast8_t int_fast16_t int_fast32_t int_fast64_t int_least8_t int_least16_t int_least32_t int_least64_t intmax_t roaring_array_t Roaring arrays are array-based key-value pairs having containers as values
and 16-bit integer keys. A roaring bitmap might be implemented as such. roaring_bitmap_t roaring_iterator roaring_iterator64 roaring_statistics_t (For advanced users.)
The roaring_statistics_t can be used to collect detailed statistics about
the composition of a roaring bitmap. roaring_uint32_iterator_t What follows is code use to iterate through values in a roaring bitmap uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t uint_least8_t uint_least16_t uint_least32_t uint_least64_t uintmax_t wchar_t