20 #ifndef _HLL4ARRAY_HPP_
21 #define _HLL4ARRAY_HPP_
23 #include "AuxHashMap.hpp"
24 #include "HllArray.hpp"
29 class Hll4Array final :
public HllArray<A> {
31 explicit Hll4Array(uint8_t lgConfigK,
bool startFullSize,
const A& allocator);
32 explicit Hll4Array(
const Hll4Array<A>& that);
33 explicit Hll4Array(
const HllArray<A>& that);
36 virtual std::function<void(HllSketchImpl<A>*)> get_deleter()
const;
38 virtual Hll4Array* copy()
const;
40 inline uint8_t getSlot(uint32_t slotNo)
const;
41 inline void putSlot(uint32_t slotNo, uint8_t value);
42 inline uint8_t adjustRawValue(uint32_t index, uint8_t value)
const;
44 virtual uint32_t getUpdatableSerializationBytes()
const;
45 virtual uint32_t getHllByteArrBytes()
const;
47 virtual HllSketchImpl<A>* couponUpdate(uint32_t coupon)
final;
49 virtual AuxHashMap<A>* getAuxHashMap()
const;
51 void putAuxHashMap(AuxHashMap<A>* auxHashMap);
53 virtual typename HllArray<A>::const_iterator begin(
bool all =
false)
const;
54 virtual typename HllArray<A>::const_iterator end()
const;
57 void internalCouponUpdate(uint32_t coupon);
58 void internalHll4Update(uint32_t slotNo, uint8_t newVal);
59 void shiftToBiggerCurMin();
61 AuxHashMap<A>* auxHashMap_;
DataSketches namespace.
Definition: binomial_bounds.hpp:38