介绍
有序的整数集合,可存储int16_t、int32_t、int64_t类型数据,数据不会重复
数据结构
源码
typedef struct intset {
uint32_t encoding;
uint32_t length;
int8_t contents[];
} intset;
字段含义
字段 | 含义 |
---|---|
encoding | 数组中的值的编码方式 INTSET_ENC_INT16:2^15 -1 (最小-32768,最大值为32767) INTSET_ENC_INT32:2^31 -1 (最小-2147483648,最大值为2147483647) INTSET_ENC_INT64:2^63 -1 (最小-9223 372 036 854775 808,最大值为9223372036 854775807) |
length | 数组长度 |
contents[] | 数组,记录每个值 |
升级
当整数的值超过encoding定义,升级编码,数组中每个元素都会升级,并且升级后不会降级