The STL vector<bool> class is a full specialization of the template vector Class for elements of type bool with an allocator for the underlying type used by the specialization. This departs from the partial specialization stipulated in the 1998 ISO/IEC. The partial specialization, which is not supported by the current compiler, does not specify an allocator for the underlying type used by the specialization.
template<> class vector< bool, allocator<bool> >
The fully specialized class alters some definitions of member types of the template class vector (to optimize the packing and unpacking of elements), adds two member functions (flip and swap), and includes a nested reference class. These three features are documented in the reference topics for vector<bool>.
The vector<bool> reference Class is a nested class whose objects are able to provide references to elements (single bits) within a vector<bool> object.