vector<bool> Class
The vector<bool> class is a partial specialization of vector for elements of type bool. It has an allocator for the underlying type that's used by the specialization, which provides space optimization by storing one bool value per bit.
template<class Allocator = allocator<bool>> class vector< bool, Allocator >
This class template specialization behaves like vector, except for the differences explained in this article.
Operations that deal with the bool type correspond to values in the container storage. allocator_traits::construct is not used to construct these values.
Reverses all bits in the vector<bool>. 

Exchanges the elements of two vector<bool>s. 

Returns a simulated reference to the vector<bool> element at a specified position. 

at 
Functions the same as the unspecialized vector::at function, except that it uses the proxy class vector<bool>::reference. Also see operator[]. 
front 
Functions the same as the unspecialized vector::front function, except that it uses the proxy class vector<bool>::reference. Also see operator[]. 
back 
Functions the same as the unspecialized vector::back function, except that it uses the proxy class vector<bool>::reference. Also see operator[]. 