<spanclass="RenoIncludeSPAN"> std::string <spanclass="RenoLink"><ahref="diagnostic_information.html">diagnostic_information</a></span>( boost::<spanclass="RenoLink"><ahref="exception.html">exception</a></span> const & x );</span>
<p>This function iterates over all data objects stored in the boost::<spanclass="RenoLink"><ahref="exception.html">exception</a></span> through <spanclass="RenoLink"><ahref="exception_operator_shl.html">operator<<</a></span>. The returned string is constructed by converting each data object to string and then concatenating these strings together.</p>
<p>When the <spanclass="RenoLink"><ahref="error_info.html">error_info</a></span><Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string.</p>
<p>Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string.</p>
<p>Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error.</p>
<h4>Notes:</h4>
<div><ul><li>The format of the returned string is unspecified.</li>
<li>The returned string is <i>not</i> user-friendly.</li>
<li>If dynamic_cast<std::exception const *>(&x) is not null, the returned string includes the output from std::exception::what.</li>
<li>The returned string may include additional platform-specific diagnostic information.</li>