<p><tt>T</tt> must have accessible copy constructor and must not be a reference.</p>
<h4>Description:</h4>
<p>This class template is used to associate a <tt>Tag</tt> type with a value type <tt>T</tt>. Objects of type <tt><spanclass="RenoLink"><ahref="error_info.html">error_info</a></span><Tag,T></tt> can be passed to <tt><spanclass="RenoLink"><ahref="operator_shl_exception.html">operator<<</a></span>()</tt> to be stored in objects of type <tt>boost::<spanclass="RenoLink"><ahref="exception.html">exception</a></span></tt>.</p>
<h4>Note:</h4>
<p>The header <tt><<spanclass="RenoLink"><ahref="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>></tt> provides a declaration of the <tt><spanclass="RenoLink"><ahref="error_info.html">error_info</a></span></tt> template, which is sufficient for the purpose of <tt>typedef</tt>ing an instance for specific <tt>Tag</tt> and <tt>T</tt>, like this:</p>
<p>Of course, to actually add an <tt>errno_info</tt> object to exceptions using <tt><spanclass="RenoLink"><ahref="operator_shl_exception.html">operator<<</a></span>()</tt>, or to retrieve it using <tt><spanclass="RenoLink"><ahref="get_error_info.html">get_error_info</a></span>()</tt>, you must first <tt>#include <<spanclass="RenoLink"><ahref="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>></tt>.</p>