<!-- Generator: GNU source-highlight 3.1.7
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><b><font color="#0000FF">template</font></b> <font color="#990000">&lt;</font><b><font color="#0000FF">class</font></b> <font color="#008080">Thing</font><font color="#990000">&gt;</font> <font color="#008080">Thing</font> <font color="#990000">&amp;</font>Pair<font color="#990000">&lt;</font>Thing<font color="#990000">&gt;::</font><b><font color="#000000">get_first</font></b><font color="#990000">()</font> <font color="#FF0000">{</font>
  <b><font color="#0000FF">return</font></b> first_<font color="#990000">;</font>
<font color="#FF0000">}</font>

<b><font color="#0000FF">template</font></b> <font color="#990000">&lt;</font><b><font color="#0000FF">class</font></b> <font color="#008080">Thing</font><font color="#990000">&gt;</font> <font color="#008080">Thing</font> <font color="#990000">&amp;</font>Pair<font color="#990000">&lt;</font>Thing<font color="#990000">&gt;::</font><b><font color="#000000">get_second</font></b><font color="#990000">()</font> <font color="#FF0000">{</font>
  <b><font color="#0000FF">return</font></b> second_<font color="#990000">;</font>
<font color="#FF0000">}</font>

<b><font color="#0000FF">template</font></b> <font color="#990000">&lt;</font><b><font color="#0000FF">class</font></b> <font color="#008080">Thing</font><font color="#990000">&gt;</font> <font color="#009900">void</font> Pair<font color="#990000">&lt;</font>Thing<font color="#990000">&gt;::</font><b><font color="#000000">set_first</font></b><font color="#990000">(</font><font color="#008080">Thing</font> <font color="#990000">&amp;</font>copyme<font color="#990000">)</font> <font color="#FF0000">{</font>
  first_ <font color="#990000">=</font> copyme<font color="#990000">;</font>
<font color="#FF0000">}</font>

<b><font color="#0000FF">template</font></b> <font color="#990000">&lt;</font><b><font color="#0000FF">class</font></b> <font color="#008080">Thing</font><font color="#990000">&gt;</font> <font color="#009900">void</font> Pair<font color="#990000">&lt;</font>Thing<font color="#990000">&gt;::</font><b><font color="#000000">set_second</font></b><font color="#990000">(</font><font color="#008080">Thing</font> <font color="#990000">&amp;</font>copyme<font color="#990000">)</font> <font color="#FF0000">{</font>
  second_ <font color="#990000">=</font> copyme<font color="#990000">;</font>
<font color="#FF0000">}</font>

<b><font color="#0000FF">template</font></b> <font color="#990000">&lt;</font><b><font color="#0000FF">class</font></b> <font color="#008080">Thing</font><font color="#990000">&gt;</font> <font color="#009900">void</font> Pair<font color="#990000">&lt;</font>Thing<font color="#990000">&gt;::</font><b><font color="#000000">Reverse</font></b><font color="#990000">()</font> <font color="#FF0000">{</font>
  <i><font color="#9A1900">// makes *3* copies</font></i>
  <font color="#008080">Thing</font> tmp <font color="#990000">=</font> first_<font color="#990000">;</font>
  first_ <font color="#990000">=</font> second_<font color="#990000">;</font>
  second_ <font color="#990000">=</font> tmp<font color="#990000">;</font>
<font color="#FF0000">}</font>
</tt></pre>