&amp; a, B&amp; b) { 
  ...
  make_tuple(a, b);
</code></pre>
The <code>make_tuple</code> invocation results in a tuple of type <code>tuple&lt;A, B&gt;</code>.

<p>
Sometimes the plain non-reference type is not desired, e.g. if the element type cannot be copied. 
Therefore, the programmer can control the type deduction and state that a reference to const or reference to
non-const type should be used as the element type instead.
This is accomplished with two helper template functions: <code>ref</code> and <c