diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-07-18 09:29:05 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-07-18 09:37:09 +0300 |
commit | 785d98a7912f39e17f8f523f1417a9a255e1f866 (patch) | |
tree | 3cd501966e45307e1a624199b41cd92aaf0cf79d /contrib/libs/croaring/include | |
parent | 9a82c7b66f562796be8bb78d80c224b511876ea8 (diff) | |
download | ydb-785d98a7912f39e17f8f523f1417a9a255e1f866.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/libs/croaring/include')
-rw-r--r-- | contrib/libs/croaring/include/roaring/portability.h | 10 | ||||
-rw-r--r-- | contrib/libs/croaring/include/roaring/roaring64.h | 11 | ||||
-rw-r--r-- | contrib/libs/croaring/include/roaring/roaring_types.h | 4 |
3 files changed, 25 insertions, 0 deletions
diff --git a/contrib/libs/croaring/include/roaring/portability.h b/contrib/libs/croaring/include/roaring/portability.h index 78081ec88e..5aebe193c9 100644 --- a/contrib/libs/croaring/include/roaring/portability.h +++ b/contrib/libs/croaring/include/roaring/portability.h @@ -589,6 +589,16 @@ static inline uint32_t croaring_refcount_get(const croaring_refcount_t *val) { #define CROARING_DEPRECATED #endif // defined(__GNUC__) || defined(__clang__) +// We want to initialize structs to zero portably (C and C++), without +// warnings. We can do mystruct s = CROARING_ZERO_INITIALIZER; +#if __cplusplus +#define CROARING_ZERO_INITIALIZER \ + {} +#else +#define CROARING_ZERO_INITIALIZER \ + { 0 } +#endif + // We need portability.h to be included first, // but we also always want isadetection.h to be // included (right after). diff --git a/contrib/libs/croaring/include/roaring/roaring64.h b/contrib/libs/croaring/include/roaring/roaring64.h index acf16d65bf..c71bccb917 100644 --- a/contrib/libs/croaring/include/roaring/roaring64.h +++ b/contrib/libs/croaring/include/roaring/roaring64.h @@ -203,6 +203,11 @@ void roaring64_bitmap_remove_range_closed(roaring64_bitmap_t *r, uint64_t min, uint64_t max); /** + * Empties the bitmap. + */ +void roaring64_bitmap_clear(roaring64_bitmap_t *r); + +/** * Returns true if the provided value is present. */ bool roaring64_bitmap_contains(const roaring64_bitmap_t *r, uint64_t val); @@ -273,6 +278,12 @@ uint64_t roaring64_bitmap_range_cardinality(const roaring64_bitmap_t *r, uint64_t min, uint64_t max); /** + * Returns the number of elements in the range [min, max] + */ +uint64_t roaring64_bitmap_range_closed_cardinality(const roaring64_bitmap_t *r, + uint64_t min, uint64_t max); + +/** * Returns true if the bitmap is empty (cardinality is zero). */ bool roaring64_bitmap_is_empty(const roaring64_bitmap_t *r); diff --git a/contrib/libs/croaring/include/roaring/roaring_types.h b/contrib/libs/croaring/include/roaring/roaring_types.h index 88f354a6b1..3a8a618945 100644 --- a/contrib/libs/croaring/include/roaring/roaring_types.h +++ b/contrib/libs/croaring/include/roaring/roaring_types.h @@ -8,6 +8,8 @@ #include <stdbool.h> #include <stdint.h> +#include <roaring/portability.h> + #ifdef __cplusplus extern "C" { namespace roaring { @@ -89,6 +91,8 @@ typedef struct roaring_statistics_s { max_value; /* the maximal value, undefined if cardinality is zero */ uint32_t min_value; /* the minimal value, undefined if cardinality is zero */ + + CROARING_DEPRECATED uint64_t sum_value; /* deprecated always zero */ uint64_t cardinality; /* total number of values stored in the bitmap */ |