C++ typedef typename classname::template
<p>I am not able to parse the meaning of the following line of code:</p>

<pre><code>typedef typename Allocator::template rebind&lt;Mapped&gt;::other mapped_type_allocator;
</code></pre>

<p>This is the code for allocator rebinding (line 63 of 
<a href="https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/a00756_source.html" rel="noreferrer">https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/a00756_source.html</a>)</p>

<p>How is this different from the following?</p>

<pre><code>typedef typename Allocator::rebind&lt;Mapped&gt;::other mapped_type_allocator;
</code></pre>