cpp/memory/polymorphic allocator

The class template is an  which exhibits different allocation behavior depending upon the std from which it is constructed. Since uses runtime polymorphism to manage allocations, different container instances with  as their static allocator type are interoperable, but can behave as if they had different allocator types.

All specializations of meet the Allocator completeness requirements.

The member function does uses-allocator construction, so that the elements of a container using a  will use that same allocator for their own allocations. For example, a will use the same  for the 's storage and each 's storage.