mirror of
https://github.com/boostorg/io.git
synced 2025-07-29 20:07:13 +02:00
Added more exception (non-)safety notes
[SVN r14667]
This commit is contained in:
@ -215,14 +215,14 @@ attribute back to the saved value.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boost::io::basic_ios_iostate_saver<Ch, Tr></code></td>
|
||||
<td>Success state of the stream <a href="#Note1">[1]</a></td>
|
||||
<td>Failure state of the stream <a href="#Note1">[1]</a></td>
|
||||
<td><code>std::ios_base::iostate</code></td>
|
||||
<td><code>rdstate</code></td>
|
||||
<td><code>clear</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boost::io::basic_ios_exception_saver<Ch, Tr></code></td>
|
||||
<td>Which success states trigger an exception <a href="#Note1">[1]</a></td>
|
||||
<td>Which failure states trigger an exception <a href="#Note1">[1]</a></td>
|
||||
<td><code>std::ios_base::iostate</code></td>
|
||||
<td><code>exceptions</code></td>
|
||||
<td><code>exceptions</code></td>
|
||||
@ -236,7 +236,7 @@ attribute back to the saved value.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boost::io::basic_ios_rdbuf_saver<Ch, Tr></code></td>
|
||||
<td>Stream buffer associated with the stream</td>
|
||||
<td>Stream buffer associated with the stream <a href="#Note2">[2]</a></td>
|
||||
<td><code>std::basic_streambuf<Ch, Tr> *</code></td>
|
||||
<td><code>rdbuf</code></td>
|
||||
<td><code>rdbuf</code></td>
|
||||
@ -250,7 +250,7 @@ attribute back to the saved value.</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>boost::io::basic_ios_locale_saver<Ch, Tr></code></td>
|
||||
<td>Locale information associated with the stream <a href="#Note2">[2]</a></td>
|
||||
<td>Locale information associated with the stream <a href="#Note3">[3]</a></td>
|
||||
<td><code>std::locale</code></td>
|
||||
<td><code>getloc</code> (from <code>std::ios_base</code>)</td>
|
||||
<td><code>imbue</code> (from <code>std::basic_ios<Ch, Tr></code>)</td>
|
||||
@ -260,12 +260,20 @@ attribute back to the saved value.</p>
|
||||
<h3>Notes</h3>
|
||||
|
||||
<ol>
|
||||
<li>When the success state flags and/or the success state exception
|
||||
watching flags are changed, an exception is thrown if a new
|
||||
match occurs among the two sets of flags. This could mean that
|
||||
the <a name="Note1">destructor of these class templates may
|
||||
throw</a>.</li>
|
||||
<li>The <a name="Note2">saver for the locale uses the
|
||||
<li>When the failure state flags and/or the failure state exception
|
||||
watching flags are changed, an exception is thrown if a match
|
||||
occurs among the two sets of flags. This could mean that
|
||||
the <a name="Note1">constructor or destructor of these class
|
||||
templates may throw</a>.</li>
|
||||
<li>When the associated stream buffer is changed, the stream's
|
||||
failure state set is reset to "good" if the given stream
|
||||
buffer's address is non-NULL, but the "bad" failure
|
||||
state is set if that address is NULL. Given a NULL stream
|
||||
buffer address, an exception is thrown if the "bad"
|
||||
failure state is being watched. This could mean that the <a
|
||||
name="Note2">constructor or destructor of this class template
|
||||
may throw</a>.</li>
|
||||
<li>The <a name="Note3">saver for the locale uses the
|
||||
<code>std::basic_ios<Ch, Tr></code> class to extract their
|
||||
information</a>, although it could have used the functionality
|
||||
in <code>std::ios_base</code>. The problem is that the versions
|
||||
|
Reference in New Issue
Block a user