operator&lt;&lt;</code> has been overloaded for <code>std::ostream</code> such that tuples are 
output by recursively calling <code>operator&lt;&lt;</code> for each element. 
</p>

<p>
Analogously, the global <code>operator&gt;&gt;</code> has been overloaded to extract tuples from <code>std::istream</code>  by recursively calling <code>operator&gt;&gt;</code> for each element. 
</p>

<p>
The default delimiter between the elements is space, and the tuple is enclosed
in parenthesis.
For Example:

<pre><code>t