14 This class is used to construct a DeltaVector.
17 class DeltaEncoder : public VectorEncoder
20 DeltaEncoder(usint block_bytes, usint superblock_size = VectorEncoder::SUPERBLOCK_SIZE);
23 void setBit(usint value);
28 This is a gap-encoded bit vector using delta coding.
31 class DeltaVector : public BitVector
34 DeltaVector(std::ifstream& file);
35 DeltaVector(DeltaEncoder& encoder, usint universe_size);
38 //--------------------------------------------------------------------------
40 usint rank(usint value, bool at_least = false);
42 usint select(usint index);
45 pair_type valueAfter(usint value);
46 pair_type nextValue();
48 pair_type selectRun(usint index, usint max_length);
49 pair_type selectNextRun(usint max_length);
51 bool isSet(usint value);
53 //--------------------------------------------------------------------------
62 #endif // DELTAVECTOR_H