std::vector<bool>::reference
From cppreference.com
                    
                                        
                    < cpp | container | vector bool
                    
                                                            
                    |   class reference; 
 | 
||
The std::vector<bool> specialization defines std::vector<bool>::reference as a publicly-accessible nested class. std::vector<bool>::reference proxies the behavior of references to a single bit in std::vector<bool>.
The primary use of std::vector<bool>::reference is to provide an l-value that can be returned from operator[].
Any reads or writes to a vector that happen via a std::vector<bool>::reference potentially read or write to the entire underlying vector.
Contents | 
[edit] Member functions
|    (constructor)  | 
  constructs the reference. Accessible only to std::vector<bool> itself  (public member function)  | 
|    (destructor)  | 
  destroys the reference  (public member function)  | 
|    operator=  | 
   assigns a bool to the referenced bit  (public member function)  | 
|     operator bool  | 
   returns the referenced bit  (public member function)  | 
|    flip  | 
   flips the referenced bit  (public member function)  | 
std::vector<bool>::~reference
|   ~reference() 
 | 
||
Destroys the reference.
std::vector<bool>::reference::operator=
|   reference& operator=( bool x ); 
reference& operator=( const reference& x );  | 
||
Assigns a value to the referenced bit.
Parameters
| x | - | value to assign | 
Return value
*this
Exceptions
| (none) | (until C++11) | 
|   
noexcept specification:   
noexcept    | 
(since C++11) | 
std::vector<bool>::reference::operator bool
|   operator bool() const; 
 | 
||
Returns the value of the referenced bit.
Parameters
(none)
Return value
The referenced bit.
Exceptions
| (none) | (until C++11) | 
|   
noexcept specification:   
noexcept    | 
(since C++11) | 
std::vector<bool>::reference::flip
|   void flip(); 
 | 
||
Inverts the referenced bit.
Parameters
(none)
Return value
(none)
Exceptions
| (none) | (until C++11) | 
|   
noexcept specification:   
noexcept    | 
(since C++11) | 
[edit] See also
|    access specified element   (public member function of std::vector) 
 | 
|
|    [static] 
 | 
   swaps two std::vector<bool>::references (public static member function)  |