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. |