A specialization of class template pmr::polymorphic_allocator
meets the Cpp17Allocator
requirements (Table 38
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.