libstdc++
std::vector< bool, _Alloc > Class Template Reference

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

template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
constexpr vector (_InputIterator __first, _InputIterator __last, const allocator_type &__a=allocator_type())
 
constexpr vector (const allocator_type &__a)
 
constexpr vector (const vector &__x)
 
constexpr vector (const vector &__x, const __type_identity_t< allocator_type > &__a)
 
constexpr vector (initializer_list< bool > __l, const allocator_type &__a=allocator_type())
 
constexpr vector (size_type __n, const allocator_type &__a=allocator_type())
 
constexpr vector (size_type __n, const bool &__value, const allocator_type &__a=allocator_type())
 
 vector (vector &&)=default
 
constexpr vector (vector &&__x, const __type_identity_t< allocator_type > &__a) noexcept(_Bit_alloc_traits::_S_always_equal())
 
template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
constexpr void assign (_InputIterator __first, _InputIterator __last)
 
constexpr void assign (initializer_list< bool > __l)
 
constexpr void assign (size_type __n, const bool &__x)
 
constexpr reference at (size_type __n)
 
constexpr const_reference at (size_type __n) const
 
constexpr reference back ()
 
constexpr const_reference back () const
 
constexpr const_iterator begin () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr size_type capacity () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr void clear () noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
template<typename... _Args>
constexpr iterator emplace (const_iterator __pos, _Args &&... __args)
 
template<typename... _Args>
constexpr reference emplace_back (_Args &&... __args)
 
constexpr bool empty () const noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr iterator end () noexcept
 
constexpr iterator erase (const_iterator __first, const_iterator __last)
 
constexpr iterator erase (const_iterator __position)
 
constexpr void flip () noexcept
 
constexpr reference front ()
 
constexpr const_reference front () const
 
constexpr allocator_type get_allocator () const
 
constexpr iterator insert (const_iterator __p, initializer_list< bool > __l)
 
iterator insert (const_iterator __position)
 
template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>>
constexpr iterator insert (const_iterator __position, _InputIterator __first, _InputIterator __last)
 
constexpr iterator insert (const_iterator __position, const bool &__x)
 
constexpr iterator insert (const_iterator __position, size_type __n, const bool &__x)
 
constexpr size_type max_size () const noexcept
 
constexpr vectoroperator= (const vector &__x)
 
constexpr vectoroperator= (initializer_list< bool > __l)
 
constexpr vectoroperator= (vector &&__x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
 
constexpr reference operator[] (size_type __n)
 
constexpr const_reference operator[] (size_type __n) const
 
constexpr void pop_back ()
 
constexpr void push_back (bool __x)
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr void reserve (size_type __n)
 
constexpr void resize (size_type __new_size, bool __x=bool())
 
constexpr void shrink_to_fit ()
 
constexpr size_type size () const noexcept
 
constexpr void swap (vector &__x) noexcept
 

Static Public Member Functions

constexpr static void swap (reference __x, reference __y) noexcept
 

Protected Types

typedef __gnu_cxx::__alloc_traits< _Alloc >::template rebind< _Bit_type >::other _Bit_alloc_type
 

Protected Member Functions

constexpr _Bit_pointer _M_allocate (size_t __n)
 
template<typename _ForwardIterator >
constexpr void _M_assign_aux (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)
 
template<typename _InputIterator >
constexpr void _M_assign_aux (_InputIterator __first, _InputIterator __last, std::input_iterator_tag)
 
constexpr size_type _M_check_len (size_type __n, const char *__s) const
 
constexpr iterator _M_copy_aligned (const_iterator __first, const_iterator __last, iterator __result)
 
constexpr void _M_deallocate ()
 
constexpr iterator _M_erase (iterator __first, iterator __last)
 
constexpr iterator _M_erase (iterator __pos)
 
constexpr void _M_erase_at_end (iterator __pos)
 
constexpr void _M_fill_assign (size_t __n, bool __x)
 
constexpr void _M_fill_insert (iterator __position, size_type __n, bool __x)
 
constexpr const _Bit_alloc_type & _M_get_Bit_allocator () const noexcept
 
constexpr _Bit_alloc_type & _M_get_Bit_allocator () noexcept
 
constexpr void _M_initialize (size_type __n)
 
template<typename _ForwardIterator >
constexpr void _M_initialize_range (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)
 
template<typename _InputIterator >
constexpr void _M_initialize_range (_InputIterator __first, _InputIterator __last, std::input_iterator_tag)
 
constexpr void _M_initialize_value (bool __x) noexcept
 
constexpr void _M_insert_aux (iterator __position, bool __x)
 
template<typename _InputIterator >
constexpr void _M_insert_range (iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag)
 
template<typename _ForwardIterator >
constexpr void _M_insert_range (iterator __position, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag)
 
constexpr void _M_move_data (_Bvector_base &&__x) noexcept
 
constexpr void _M_range_check (size_type __n) const
 
constexpr void _M_reallocate (size_type __n)
 
constexpr bool _M_shrink_to_fit ()
 
void data ()=delete
 

Static Protected Member Functions

constexpr static size_t _S_nword (size_t __n)
 

Protected Attributes

_Bvector_impl _M_impl
 

Friends

struct std::hash< vector >
 

Detailed Description

template<typename _Alloc>
class std::vector< bool, _Alloc >

A specialization of vector for booleans which offers fixed time access to individual elements in any order.

Template Parameters
_AllocAllocator type.

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.

See also
vector for function documentation.

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 690 of file stl_bvector.h.


The documentation for this class was generated from the following files: