From 8b80cb311117b7cc96608f83c3af17f9c3176b8e Mon Sep 17 00:00:00 2001
From: Daryle Walker
Date: Sun, 4 Aug 2002 20:09:35 +0000
Subject: [PATCH] Added more exception (non-)safety notes
[SVN r14667]
---
doc/ios_state.html | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/doc/ios_state.html b/doc/ios_state.html
index 4799f33..379ec3f 100644
--- a/doc/ios_state.html
+++ b/doc/ios_state.html
@@ -215,14 +215,14 @@ attribute back to the saved value.
boost::io::basic_ios_iostate_saver<Ch, Tr> |
- Success state of the stream [1] |
+ Failure state of the stream [1] |
std::ios_base::iostate |
rdstate |
clear |
boost::io::basic_ios_exception_saver<Ch, Tr> |
- Which success states trigger an exception [1] |
+ Which failure states trigger an exception [1] |
std::ios_base::iostate |
exceptions |
exceptions |
@@ -236,7 +236,7 @@ attribute back to the saved value.
boost::io::basic_ios_rdbuf_saver<Ch, Tr> |
- Stream buffer associated with the stream |
+ Stream buffer associated with the stream [2] |
std::basic_streambuf<Ch, Tr> * |
rdbuf |
rdbuf |
@@ -250,7 +250,7 @@ attribute back to the saved value.
boost::io::basic_ios_locale_saver<Ch, Tr> |
- Locale information associated with the stream [2] |
+ Locale information associated with the stream [3] |
std::locale |
getloc (from std::ios_base ) |
imbue (from std::basic_ios<Ch, Tr> ) |
@@ -260,12 +260,20 @@ attribute back to the saved value.
Notes
- - 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 destructor of these class templates may
- throw.
- - The saver for the locale uses the
+
- 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 constructor or destructor of these class
+ templates may throw.
+ - 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 constructor or destructor of this class template
+ may throw.
+ - The saver for the locale uses the
std::basic_ios<Ch, Tr>
class to extract their
information, although it could have used the functionality
in std::ios_base
. The problem is that the versions