title: std::vector<bool> optimization implementation
body: <p>In the <a href="http://en.cppreference.com/w/cpp/container/vector_bool" rel="nofollow">documentation</a>, I can see that <code>std::vector&lt;bool&gt;</code> is optimized for space-efficiency by making every boolean occupy one single bit. From the documentation:</p>
  
  <blockquote>
    <p>The manner in which std::vector is made space efficient (as well as whether it is optimized at all) is implementation defined.</p>
  </blockquote>
  
  <p>Does this mean that it depends on the compiler's implementation? 
  If it does, where can I check if my compiler supports it? Why wouldn't they want it supported? It seems like a really simple and efficient implementation.</p>
  
  <p>If not, what does it mean and what does it imply if I want this optimization to take place?</p>
  
  <p>I'm using TDM GCC toolset.</p>