From 33284635219dd62e65d7a77208f8c23360929dac Mon Sep 17 00:00:00 2001
From: Daryle Walker
Date: Sun, 16 Nov 2003 07:27:36 +0000
Subject: [PATCH] Added notes on interaction of different savers
[SVN r20818]
---
doc/ios_state.html | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/doc/ios_state.html b/doc/ios_state.html
index cabc7a2..1b8236e 100644
--- a/doc/ios_state.html
+++ b/doc/ios_state.html
@@ -215,7 +215,7 @@ attribute back to the saved value.
boost::io::basic_ios_iostate_saver<Ch, Tr> |
- Failure state of the stream [1] |
+ Failure state of the stream [1], [2] |
std::ios_base::iostate |
rdstate |
clear |
@@ -268,11 +268,13 @@ attribute back to the saved value.
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.
+ state is set if that address is NULL. This means that a saved
+ failure state of "good" may be restored as "bad"
+ if the stream is stripped of an associated stream buffer. Worse,
+ 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 these class
+ templates 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
@@ -431,6 +433,6 @@ int main()
Copyright 2002 Daryle Walker. Use, modification, and distribution
are subject to the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or a copy at
-<http://www.boost.org/LICENSE_1_0.txt>.
+<http://www.boost.org/LICENSE_1_0.txt>.)