Bit_vector jest to w zasadzie vector<bool>, ma ten sam interface co vector. Główną różnicą jest to, że bi_vector jest zoptymalizowany pod względem pamięciowym. Vector zawsze wymaga co najmniej 1 bitu na element, a bit_vector dokładnie jednego bitu na element.
Uwaga!
Nazwa bit_vector będzie usunięta z przyszłych wersji STL.
Przykład:
bit_vector V(5); V[0] = true; V[1] = false; V[2] = false; V[3] = true; V[4] = false; for (bit_vector::iterator i = V.begin(); i < V.end(); ++i) cout << (*i ? '1' : '0'); cout << endl;
Member | Where defined | Description |
---|---|---|
value_type | Container | The type of object stored in the bit_vector: bool |
reference | bit_vector | A proxy class that acts as a reference to a single bit. See below for details. |
const_reference | Container | Const reference to value_type. In bit_vector this is simply defined to be bool. |
size_type | Container | An unsigned integral type. |
difference_type | Container | A signed integral type. |
iterator | Container | Iterator used to iterate through a bit_vector. |
const_iterator | Container | Const iterator used to iterate through a bit_vector. |
reverse_iterator | Reversible Container | Iterator used to iterate backwards through a bit_vector. |
const_reverse_iterator | Reversible Container | Const iterator used to iterate backwards through a bit_vector. |
iterator begin() | Container | Returns an iterator pointing to the beginning of the bit_vector. |
iterator end() | Container | Returns an iterator pointing to the end of the bit_vector. |
const_iterator begin() const | Container | Returns a const_iterator pointing to the beginning of the bit_vector. |
const_iterator end() const | Container | Returns a const_iterator pointing to the end of the bit_vector. |
reverse_iterator rbegin() | Reversible Container | Returns a reverse_iterator pointing to the beginning of the reversed bit_vector. |
reverse_iterator rend() | Reversible Container | Returns a reverse_iterator pointing to the end of the reversed bit_vector. |
const_reverse_iterator rbegin() const | Reversible Container | Returns a const_reverse_iterator pointing to the beginning of the reversed bit_vector. |
const_reverse_iterator rend() const | Reversible Container | Returns a const_reverse_iterator pointing to the end of the reversed bit_vector. |
size_type size() const | Container | Returns the number of elements in the bit_vector. |
size_type max_size() const | Container | Returns the largest possible size of the bit_vector. |
size_type capacity() const | bit_vector | See below. |
bool empty() const | Container | true if the bit_vector's size is 0. |
reference operator[](size_type n) | Random Access Container | Returns the n'th element. |
const_reference operator[](size_type n) const | Random Access Container | Returns the n'th element. |
bit_vector() | Container | Creates an empty bit_vector. |
bit_vector(size_type n) | Sequence | Creates a bit_vector with n elements. |
bit_vector(size_type n, bool t) | Sequence | Creates a bit_vector with n copies of t. |
bit_vector(const bit_vector&) | Container | The copy constructor. |
~bit_vector() | Container | The destructor. |
bit_vector& operator=(const bit_vector&) | Container | The assignment operator |
void reserve(size_t) | bit_vector | See below. |
reference front() | Sequence | Returns the first element. |
const_reference front() const | Sequence | Returns the first element. |
reference back() | Back Insertion Sequence | Returns the last element. |
const_reference back() const | Back Insertion Sequence | Returns the last element. |
void push_back(const T&) | Back Insertion Sequence | Inserts a new element at the end. |
void pop_back() | Back Insertion Sequence | Removes the last element. |
void swap(bit_vector&) | Container | Swaps the contents of two bit_vectors. |
void erase(iterator pos) | Sequence | Erases the element at position pos. |
void erase(iterator first, iterator last) | Sequence | Erases the range [first, last) |
void clear() | Sequence | Erases all of the elements. |