Home | History | Annotate | Download | only in ADT

Lines Matching defs:BitVector

1 //===- llvm/ADT/BitVector.h - Bit vectors -----------------------*- C++ -*-===//
10 // This file implements the BitVector class.
28 class BitVector {
37 unsigned Size; // Size of bitvector in bits.
44 friend class BitVector;
50 reference(BitVector &b, unsigned Idx) {
77 /// BitVector default ctor - Creates an empty bitvector.
78 BitVector() : Size(0), Capacity(0) {
82 /// BitVector ctor - Creates a bitvector of specified number of bits. All
84 explicit BitVector(unsigned s, bool t = false) : Size(s) {
92 /// BitVector copy ctor.
93 BitVector(const BitVector &RHS) : Size(RHS.size()) {
105 BitVector(BitVector &&RHS)
111 ~BitVector() {
115 /// empty - Tests whether there are no bits in this bitvector.
118 /// size - Returns the number of bits in this bitvector.
192 /// resize - Grow or shrink the bitvector.
200 // Set any old unused bits that are now included in the BitVector. This
219 BitVector &set() {
225 BitVector &set(unsigned Idx) {
232 BitVector &set(unsigned I, unsigned E) {
260 BitVector &reset() {
265 BitVector &reset(unsigned Idx) {
271 BitVector &reset(unsigned I, unsigned E) {
299 BitVector &flip() {
306 BitVector &flip(unsigned Idx) {
328 bool anyCommon(const BitVector &RHS) const {
338 bool operator==(const BitVector &RHS) const {
359 bool operator!=(const BitVector &RHS) const {
364 BitVector &operator&=(const BitVector &RHS) {
371 // Any bits that are just in this bitvector become zero, because they aren't
381 BitVector &reset(const BitVector &RHS) {
392 bool test(const BitVector &RHS) const {
407 BitVector &operator|=(const BitVector &RHS) {
415 BitVector &operator^=(const BitVector &RHS) {
424 const BitVector &operator=(const BitVector &RHS) {
436 // Grow the bitvector to have enough elements.
449 const BitVector &operator=(BitVector &&RHS) {
463 void swap(BitVector &RHS) {
479 // given, the bit mask is assumed to cover the entire BitVector.
577 static inline size_t capacity_in_bytes(const BitVector &X) {
584 /// Implement std::swap in terms of BitVector swap.
586 swap(llvm::BitVector &LHS, llvm::BitVector &RHS) {