aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/croaring/include
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-07-18 09:29:05 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-07-18 09:37:09 +0300
commit785d98a7912f39e17f8f523f1417a9a255e1f866 (patch)
tree3cd501966e45307e1a624199b41cd92aaf0cf79d /contrib/libs/croaring/include
parent9a82c7b66f562796be8bb78d80c224b511876ea8 (diff)
downloadydb-785d98a7912f39e17f8f523f1417a9a255e1f866.tar.gz
Intermediate changes
Diffstat (limited to 'contrib/libs/croaring/include')
-rw-r--r--contrib/libs/croaring/include/roaring/portability.h10
-rw-r--r--contrib/libs/croaring/include/roaring/roaring64.h11
-rw-r--r--contrib/libs/croaring/include/roaring/roaring_types.h4
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 */