A specialization of class template
pmr::polymorphic_allocator meets
the
Cpp17Allocator requirements (
[allocator.requirements.general])
if its template argument is a
cv-unqualified object type
. Constructed with different memory resources,
different instances of the same specialization of
pmr::polymorphic_allocator
can exhibit entirely different allocation behavior
. This runtime polymorphism allows objects that use
polymorphic_allocator
to behave as if they used different allocator types at run time
even though they use the same static allocator type
.