Home | History | Annotate | Download | only in base

Lines Matching defs:BitVector

31  * from zero.  All operations on a BitVector are unsynchronized.
33 class BitVector {
38 * @brief Convenient iterator across the indexes of the BitVector's set bits.
41 * to the highest index of the BitVector's set bits. Instances can be retrieved
42 * only through BitVector::Indexes() which returns an IndexContainer wrapper
87 IndexIterator(const BitVector* bit_vector, begin_tag)
92 IndexIterator(const BitVector* bit_vector, end_tag)
124 friend class BitVector::IndexContainer;
128 * @brief BitVector wrapper class for iteration across indexes of set bits.
132 explicit IndexContainer(const BitVector* bit_vector) : bit_vector_(bit_vector) { }
143 const BitVector* const bit_vector_;
146 BitVector(uint32_t start_bits,
152 virtual ~BitVector();
160 void Copy(const BitVector* src);
161 void Intersect(const BitVector* src2);
162 bool Union(const BitVector* src);
165 bool UnionIfNotIn(const BitVector* union_with, const BitVector* not_in);
167 void Subtract(const BitVector* src);
169 bool Equal(const BitVector* src) {
179 bool SameBitsSet(const BitVector *src);
225 * @brief Dump the bitvector into buffer in a 00101..01 format.
226 * @param buffer the ostringstream used to dump the bitvector into.
231 * @brief Dump the bitvector in a 1 2 5 8 format, where the numbers are the bit set.
232 * @param buffer the ostringstream used to dump the bitvector into.
237 * @brief Wrapper to perform the bitvector dumping with the .dot format.
238 * @param buffer the ostringstream used to dump the bitvector into.