lso that &quot;const T &amp;&quot;
        is something completely different. For this reason, cv-qualifiers
        on template type arguments that are references are
        ignored.</li>
</ol>

<h2>Listing 1</h2>

<pre>namespace detail{

template &lt;bool b&gt;
struct copier
{
   template&lt;typename I1, typename I2&gt;
   static I2 do_copy(I1 first, 
                     I1 last, I2 out);
};

template &lt;bool b&gt;
template&lt;typename I1, typename I2&gt;
I2 copier&lt;b&gt;::do_copy(I1 first, 
        