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(std::FILE * file);
36 DeltaVector(DeltaEncoder& encoder, usint universe_size);
39 //--------------------------------------------------------------------------
41 usint rank(usint value, bool at_least = false);
43 usint select(usint index);
46 pair_type valueAfter(usint value);
47 pair_type nextValue();
49 pair_type selectRun(usint index, usint max_length);
50 pair_type selectNextRun(usint max_length);
52 bool isSet(usint value);
54 //--------------------------------------------------------------------------
63 #endif // DELTAVECTOR_H