polymorphic_allocator: when and why should I use it? : <p><a href="http://en.cppreference.com/w/cpp/memory/polymorphic_allocator">Here</a> is the documentation on <em>cppreference</em>, <a href="http://eel.is/c++draft/memory.polymorphic.allocator.class">here</a> is the working draft.</p>

<p>I must admit that I didn't understand what's the real purpose of <code>polymorphic_allocator</code> and when/why/how I should use it.<br>
As an example, the <a href="http://eel.is/c++draft/vector.syn"><code>pmr::vector</code></a> has the following signature:</p>

<pre><code>namespace pmr {
    template &lt;class T&gt;
    using vector = std::vector&lt;T, polymorphic_allocator&lt;T&gt;&gt;;
}
</code></pre>

<p>What does the <code>polymorphic_allocator</code> offer? What does the <code>std::pmr::vector</code> offer as well in regard of the old-fashioned <code>std::vector</code>?
What can I do now that I wasn't able to do till now?<br>
What's the real purpose of that allocator and when should I use it actually?</p>
