libstdc++
|
Inherits std::_Bvector_base< _Alloc >.
Public Types | |
typedef _Alloc | allocator_type |
typedef _Bit_const_iterator | const_iterator |
typedef const bool * | const_pointer |
typedef bool | const_reference |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
typedef ptrdiff_t | difference_type |
typedef _Bit_iterator | iterator |
typedef _Bit_reference * | pointer |
typedef _Bit_reference | reference |
typedef std::reverse_iterator < iterator > | reverse_iterator |
typedef size_t | size_type |
typedef bool | value_type |
Public Member Functions | |
vector (const allocator_type &__a) | |
vector (size_type __n, const bool &__value=bool(), const allocator_type &__a=allocator_type()) | |
vector (const vector &__x) | |
vector (vector &&__x) noexcept | |
vector (initializer_list< bool > __l, const allocator_type &__a=allocator_type()) | |
template<typename _InputIterator > | |
vector (_InputIterator __first, _InputIterator __last, const allocator_type &__a=allocator_type()) | |
void | assign (size_type __n, const bool &__x) |
template<typename _InputIterator > | |
void | assign (_InputIterator __first, _InputIterator __last) |
void | assign (initializer_list< bool > __l) |
reference | at (size_type __n) |
const_reference | at (size_type __n) const |
reference | back () |
const_reference | back () const |
iterator | begin () _GLIBCXX_NOEXCEPT |
const_iterator | begin () const _GLIBCXX_NOEXCEPT |
size_type | capacity () const _GLIBCXX_NOEXCEPT |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
void | clear () _GLIBCXX_NOEXCEPT |
const_reverse_iterator | crbegin () const noexcept |
const_reverse_iterator | crend () const noexcept |
void | data () _GLIBCXX_NOEXCEPT |
bool | empty () const _GLIBCXX_NOEXCEPT |
iterator | end () _GLIBCXX_NOEXCEPT |
const_iterator | end () const _GLIBCXX_NOEXCEPT |
iterator | erase (iterator __position) |
iterator | erase (iterator __first, iterator __last) |
void | flip () _GLIBCXX_NOEXCEPT |
reference | front () |
const_reference | front () const |
allocator_type | get_allocator () const |
iterator | insert (iterator __position, const bool &__x=bool()) |
template<typename _InputIterator > | |
void | insert (iterator __position, _InputIterator __first, _InputIterator __last) |
void | insert (iterator __position, size_type __n, const bool &__x) |
void | insert (iterator __p, initializer_list< bool > __l) |
size_type | max_size () const _GLIBCXX_NOEXCEPT |
vector & | operator= (const vector &__x) |
vector & | operator= (vector &&__x) |
vector & | operator= (initializer_list< bool > __l) |
reference | operator[] (size_type __n) |
const_reference | operator[] (size_type __n) const |
void | pop_back () |
void | push_back (bool __x) |
reverse_iterator | rbegin () _GLIBCXX_NOEXCEPT |
const_reverse_iterator | rbegin () const _GLIBCXX_NOEXCEPT |
reverse_iterator | rend () _GLIBCXX_NOEXCEPT |
const_reverse_iterator | rend () const _GLIBCXX_NOEXCEPT |
void | reserve (size_type __n) |
void | resize (size_type __new_size, bool __x=bool()) |
void | shrink_to_fit () |
size_type | size () const _GLIBCXX_NOEXCEPT |
void | swap (vector &__x) |
Static Public Member Functions | |
static void | swap (reference __x, reference __y) _GLIBCXX_NOEXCEPT |
Protected Types | |
typedef _Alloc::template rebind< _Bit_type >::other | _Bit_alloc_type |
Protected Member Functions | |
_Bit_type * | _M_allocate (size_t __n) |
template<typename _InputIterator > | |
void | _M_assign_aux (_InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator > | |
void | _M_assign_aux (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
template<typename _Integer > | |
void | _M_assign_dispatch (_Integer __n, _Integer __val, __true_type) |
template<class _InputIterator > | |
void | _M_assign_dispatch (_InputIterator __first, _InputIterator __last, __false_type) |
size_type | _M_check_len (size_type __n, const char *__s) const |
iterator | _M_copy_aligned (const_iterator __first, const_iterator __last, iterator __result) |
void | _M_deallocate () |
void | _M_erase_at_end (iterator __pos) |
void | _M_fill_assign (size_t __n, bool __x) |
void | _M_fill_insert (iterator __position, size_type __n, bool __x) |
_Bit_alloc_type & | _M_get_Bit_allocator () _GLIBCXX_NOEXCEPT |
const _Bit_alloc_type & | _M_get_Bit_allocator () const _GLIBCXX_NOEXCEPT |
void | _M_initialize (size_type __n) |
template<typename _Integer > | |
void | _M_initialize_dispatch (_Integer __n, _Integer __x, __true_type) |
template<typename _InputIterator > | |
void | _M_initialize_dispatch (_InputIterator __first, _InputIterator __last, __false_type) |
template<typename _InputIterator > | |
void | _M_initialize_range (_InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator > | |
void | _M_initialize_range (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
void | _M_insert_aux (iterator __position, bool __x) |
template<typename _Integer > | |
void | _M_insert_dispatch (iterator __pos, _Integer __n, _Integer __x, __true_type) |
template<typename _InputIterator > | |
void | _M_insert_dispatch (iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) |
template<typename _InputIterator > | |
void | _M_insert_range (iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator > | |
void | _M_insert_range (iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
void | _M_range_check (size_type __n) const |
void | _M_reallocate (size_type __n) |
bool | _M_shrink_to_fit () |
Static Protected Member Functions | |
static size_t | _S_nword (size_t __n) |
Protected Attributes | |
_Bvector_impl | _M_impl |
Friends | |
template<typename > | |
class | hash |
A specialization of vector for booleans which offers fixed time access to individual elements in any order.
Note that vector<bool> does not actually meet the requirements for being a container. This is because the reference and pointer types are not really references and pointers to bool. See DR96 for details.
In some terminology a vector can be described as a dynamic C-style array, it offers fast and efficient access to individual elements in any order and saves the user from worrying about memory and size allocation. Subscripting ( [] ) access is also provided as with C-style arrays.
Definition at line 491 of file stl_bvector.h.