While I was writing the std_allocator adapter of foonathan/memory I’ve learned some not so well-known facts about the STL
AllocatorAwareContainer concepts I’d like to share.
Let’s take a deep breath and dive in into an aspect of the STL containers that isn’t that well covered: Allocator storage.
I will explain the comparison properties of Allocators, show the C++11
propagate_on_container_XXX traits and how the combination of the two can lead to an unnecessary pessimization and a probably not widely known case of undefined behavior.