</p>

  <p>The Boost <a href="../utility/call_traits.htm">call_traits</a> class
  template contains a <tt>param_type</tt> typedef, which uses partial
  specialisation to make precisely this decision. By declaring the
  <tt>operator()</tt> as</p>

  <blockquote>
    <pre>
Result operator()(typename call_traits&lt;Arg&gt;::param_type x) const
</pre>
  </blockquote>

  <p>we achieve the desired result - we improve efficiency without generating
  references to references.</p>

  <h3>Limitations</h3>

  <p>The c