Boost logo

Boost-Commit :

From: technews_at_[hidden]
Date: 2008-02-22 19:07:14


Author: turkanis
Date: 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
New Revision: 43392
URL: http://svn.boost.org/trac/boost/changeset/43392

Log:
merged changes from iostreams_dev, revisions 43327-43389
Text files modified:
   trunk/libs/iostreams/doc/acknowledgments.html | 12 ++
   trunk/libs/iostreams/doc/concepts/closable.html | 39 +++++++++-
   trunk/libs/iostreams/doc/functions/close.html | 95 ++++++++++++++++++++++----
   trunk/libs/iostreams/doc/functions/restrict.html | 6 +
   trunk/libs/iostreams/doc/menu.html | 69 ++++++++++---------
   trunk/libs/iostreams/doc/portability.html | 142 ---------------------------------------
   trunk/libs/iostreams/doc/quick_reference.html | 4
   trunk/libs/iostreams/doc/tree/tree.js | 4
   8 files changed, 168 insertions(+), 203 deletions(-)

Modified: trunk/libs/iostreams/doc/acknowledgments.html
==============================================================================
--- trunk/libs/iostreams/doc/acknowledgments.html (original)
+++ trunk/libs/iostreams/doc/acknowledgments.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -14,6 +14,12 @@
 
 <!-- End Banner -->
 
+<H3>1.35</H3>
+
+<P>Numerous users submitted bug reports and patches to correct and optimize Boost.Iostreams for release 1.35. Frank Birbacher and Chad Walters deserve special thanks for diagnosing and fixing bugs and for prodding the author to resume active maintenance of the library.
+
+<H3>1.33</H3>
+
 <P>
     The original idea for the library came from the example stream buffer implementations in <I>Standard C++ IOStreams and Locales</I>, by Angelika Langer and Klaus Kreft (<A CLASS="bib_ref" HREF="bibliography.html#langer">[Langer]</A>). Robert Ramey suggested extending the library to handle filtering. In addition:
 </P>
@@ -23,13 +29,13 @@
         The implementation of stream_buffer is indebted to work of Angelika Langer and Klaus Kreft (<A CLASS="bib_ref" HREF="bibliography.html#langer">[Langer]</A>, <I>pp.</I> 228-43).
     </LI>
     <LI CLASS="square">
- The filtering stream buffer concept was invented by James Kanze and Dietmar Kühl. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#kanze">[Kanze]</A>.
+ The filtering stream buffer concept was invented by James Kanze and Dietmar K&uuml;hl. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#kanze">[Kanze]</A>.
     </LI>
     <LI>
         The concepts InputFilter and OutputFilter were inspired by James Kanze's <I>extractors</I> and <I>inserters</I>. In addition, the names of the components filtering_stream and filtering_streambuf are borrwed from Kanze, as are several of the Filters from the Tutorial. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#kanze">[Kanze]</A>.
     </LI>
     <LI CLASS="square">
- Pipelines were introduce by Jan Christiaan van Winkel and John van Krieken. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#van_winkel">[van Winkel].</A> Dietmar Kühl suggested adding this functionality to the Iostreams library.
+ Pipelines were introduce by Jan Christiaan van Winkel and John van Krieken. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#van_winkel">[van Winkel].</A> Dietmar K&uuml;hl suggested adding this functionality to the Iostreams library.
     </LI>
     <LI CLASS="square">
         The facility for adding iterator ranges and output iterators to filter chains was inspired by work of Maxim Egorushkin. <I>See</I> <A CLASS="bib_ref" HREF="bibliography.html#egorushkin">[Egorushkin]</A>.
@@ -68,7 +74,7 @@
         Jeff Garland served as review manager and provided helpful criticism and guidance.
     </LI>
     <LI CLASS="square">
- Those who participated in the formal review or the post-review discussions, or who submitted bug reports or patches, include (in no particular order) Adam Peterson, Joaquín M López Muñoz, Neal D. Becker, Stas Garifulin, Vladimir Prus, Rob Stewart, Robert Ramey, Michel Decima, Michiel Salters, Pedro Lamarão, Dietmar Kühl, Oleg Rekutin, Reece Dunn, Stefan Slapeta, Jeff Flinn, Jeff Garland, Eugene Lazutkin, John Torjo, Brian Braatz, Keith Burton, Keith MacDonald, Phil Richards, Arjen Wagenaar, Caleb Epstein, Dylan Trotter, Ben Hutchings, Daniel James, Daniel Schlyder, Jan Christiaan van Winkel, Jonathan Graehl, Jonathan Wakely, Rene Rivera, Tony Juricic, Bronek Kozicki, George M. Garner, Jr., Thorsten Ottosen, Bertolt Mildner, Carlo Wood, Christoper Diggins, Christoph Ludwig, Daryle Walker, Dirk Griffioen, Gareth Sylvester-Bradley, Jürgen Hunold, Larry Evans, Markus Sch&ouml;pflin, Martin Ecker, Martin Wille, Russel Hind, Matthew Vogt, Matthias Troyer, Peter Dimov, Bruno Martínez Aguerre, Douglas Grego
r, Paul A. Bristow, David B. Held, Kevin Wheatley, Pavel Vozenilek, Emmanuel Thomé, Scott Woods, Israel Fernández Cabrera, Felix Gartsman, Pavel Chikulaev, Lisa Glendenning, Yuval Ronen and Paul Harris.
+ Those who participated in the formal review or the post-review discussions, or who submitted bug reports or patches, include (in no particular order) Adam Peterson, Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz, Neal D. Becker, Stas Garifulin, Vladimir Prus, Rob Stewart, Robert Ramey, Michel Decima, Michiel Salters, Pedro Lamar&atilde;o, Dietmar K&uuml;hl, Oleg Rekutin, Reece Dunn, Stefan Slapeta, Jeff Flinn, Jeff Garland, Eugene Lazutkin, John Torjo, Brian Braatz, Keith Burton, Keith MacDonald, Phil Richards, Arjen Wagenaar, Caleb Epstein, Dylan Trotter, Ben Hutchings, Daniel James, Daniel Schlyder, Jan Christiaan van Winkel, Jonathan Graehl, Jonathan Wakely, Rene Rivera, Tony Juricic, Bronek Kozicki, George M. Garner, Jr., Thorsten Ottosen, Bertolt Mildner, Carlo Wood, Christoper Diggins, Christoph Ludwig, Daryle Walker, Dirk Griffioen, Gareth Sylvester-Bradley, J&uuml;rgen Hunold, Larry Evans, Markus Sch&ouml;pflin, Martin Ecker, Martin Wille, Russel Hind, Matthew Vogt, Matthias Troyer, Peter Dimov,
 Bruno Mart&iacute;nez Aguerre, Douglas Gregor, Paul A. Bristow, David B. Held, Kevin Wheatley, Pavel Vozenilek, Emmanuel Thomé, Scott Woods, Israel Fern&aacute;ndez Cabrera, Felix Gartsman, Pavel Chikulaev, Lisa Glendenning, Yuval Ronen and Paul Harris.
     </LI>
 </UL>
 

Modified: trunk/libs/iostreams/doc/concepts/closable.html
==============================================================================
--- trunk/libs/iostreams/doc/concepts/closable.html (original)
+++ trunk/libs/iostreams/doc/concepts/closable.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -32,10 +32,10 @@
 <H4>Closure Notifications</H4>
     
 <P>
- The Iostreams library sends closure notifications by invoking the function close. For a Closable Filter or Device, <CODE>close</CODE> delegates to a member function <CODE>close</CODE>; for other Devices, it does nothing. The details regarding when and how <CODE>close</CODE> is invoked are complicated. However, defining a Filter or Device which receives closure notifications is easy:
+ The Iostreams library sends closure notifications by invoking the function close. For most Closable Filter or Device, <CODE>close</CODE> delegates to a member function <CODE>close</CODE>; for non-Closable Devices, <CODE>close</CODE> calls flush. The details regarding when and how <CODE>close</CODE> is invoked are complicated. However, defining a Filter or Device which receives closure notifications is easy, as illustrated in the following sections.
 </P>
 
-<H2>Examples</H2>
+<H4>Single-Sequence Devices</H4>
 
 <P>
     If a Device controls a single sequence of characters, it can be made Closable simply by specifying a category tag which is convertible to <CODE>closable_tag</CODE> and by adding a member function <CODE>close</CODE>, like so:
@@ -44,13 +44,34 @@
 <P>
     Filters and Devices which derive from the convenience templates and typedefs have category tags convertible to <CODE>closable_tag</CODE> provided automatically.
 </P>
+
+<H4>Single-Sequence Filters</H4>
+
 <P>For Filters controlling a single sequence, the signature of <CODE>close</CODE> is:</P>
 <PRE CLASS="broken_ie"> <SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> Device&gt;
- <SPAN CLASS="keyword">void</SPAN> close(Device&amp;) { <SPAN CLASS="omitted"> ... </SPAN> }</PRE>
+ <SPAN CLASS="keyword">void</SPAN> close(Device&amp;);</PRE>
+
+<H4>Two-Sequence Devices</H4>
+
 <P>
- For Filters and Devices controlling separate input and output sequences, the above signatures should be modified by adding a <CODE>std::ios_base::openmode</CODE> parameter at the end of the parameter list. This function will be called twice: first with argument <CODE>std::ios_base::in</CODE>, to signal the closing of the input sequence, and later with argument <CODE>std::ios_base::out</CODE>, to signal the closing of the output sequence.
-</P>
-
+ If a Device controls separate input and output sequences, the signature of <CODE>close</CODE> is:</P>
+ <PRE CLASS="broken_ie"> <SPAN CLASS="keyword">void</SPAN> close(std::ios_base::openmode);</PRE>
+<P>This function will be called twice: first with argument <CODE>std::ios_base::in</CODE>, to signal the closing of the input sequence, and later with argument <CODE>std::ios_base::out</CODE>, to signal the closing of the output sequence. </P>
+
+<H4>Two-Sequence Filters</H4>
+
+<P>
+ If a Filter controls separate input and output sequences, the signature of <CODE>close</CODE> is:</P>
+<PRE CLASS="broken_ie"> <SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> Device&gt;
+ <SPAN CLASS="keyword">void</SPAN> close(Device&amp;, std::ios_base::openmode);</PRE>
+<P>This function will be called twice: first with argument <CODE>std::ios_base::in</CODE>, to signal the closing of the input sequence, and later with argument <CODE>std::ios_base::out</CODE>, to signal the closing of the output sequence.</P>
+
+<H4>Dual-Use Filters</H4>
+
+<P>The signature of <CODE>close</CODE> for DualUserFilters is the same as that for two-sequence Filters:</P>
+<PRE CLASS="broken_ie"> <SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> Device&gt;
+ <SPAN CLASS="keyword">void</SPAN> close(Device&amp;, std::ios_base::openmode);</PRE>
+<P>This function will be called only once, depending on whether the filter is being used for input or output.</P>
 
 <H2>Refinement of</H2>
 
@@ -112,7 +133,11 @@
 
 <H2>Models</H2>
 
-<P>Many of the Filters and Devices provided by the Iostreams library are Closable, but this is an implementation detail.</P>
+<UL>
+ <LI>Generic Streams and Stream Buffers.
+ <LI>Filtering Streams and Stream Buffers.
+ <LI>Standard file streams and stream buffers.</A>
+</UL>
 
 <!-- Begin Footer -->
 

Modified: trunk/libs/iostreams/doc/functions/close.html
==============================================================================
--- trunk/libs/iostreams/doc/functions/close.html (original)
+++ trunk/libs/iostreams/doc/functions/close.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -25,8 +25,19 @@
 <A NAME="description"></A>
 <H2>Description</H2>
 
-<P>
- The two overloads of the function template <CODE>close</CODE> are invoked automatically by the Iostreams library to indicate to Filters and Devices that a sequence of data is about to end. This gives Filters and Devices an opportunity to free resources or to reset their states in preparation for a new character sequence. Filters and Devices which perform output can use the opportunity to write additional data to the end of a stream.
+<P>The Iostreams library provides three overloads of the function template <CODE>close</CODE>.</P>
+
+<P>The first overload of <CODE>close</CODE> takes a single Device argument. It allows a user to close a Device without worrying whether the Device controls a single sequence or two sequences:</P>
+
+<PRE CLASS="broken_ie"><SPAN CLASS="keyword">namespace</SPAN> boost { <SPAN CLASS="keyword">namespace</SPAN> iostreams {
+
+<SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#template_params">T</A>&gt;
+<SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#close_device">close</A>(T& t);
+
+} } <SPAN CLASS="comment">// End namespace boost::io</SPAN></PRE>
+
+
+<P>The other two overloads of <CODE>close</CODE> should rarely be called by library users; they are invoked automatically by the library to indicate to Filters and Devices that a sequence of data is about to end. This gives Filters and Devices an opportunity to free resources or to reset their states in preparation for a new character sequence. Filters and Devices which perform output can use the opportunity to write additional data to the end of a stream.
 </P>
 
 <P>The details regarding when and how <CODE>close</CODE> is invoked are a bit messy:</P>
@@ -68,8 +79,14 @@
     boost::iostreams::close(f<SUB>n-1</SUB>, buf<SUB>n</SUB>,<SPAN STYLE="visibility:hidden"><SUB>n-</SUB></SPAN> ios_base::out);
     boost::iostreams::close(d,<SPAN STYLE="visibility:hidden"><SUB>n-1</SUB>, buf<SUB>n-1</SUB></SPAN> ios_base::out);</PRE>
 </P>
-<P>The effect is that with input streams, the elements of a chain are closed in reverse order; with output streams, they are closed in forward order; and with streams controlling separate input and output sequences, each element receives two closure notifications, the first with argument <CODE>ios_base::in</CODE> and the second with argument <CODE>ios_base::out</CODE>. (<I>See</I> the semantics of <CODE>close</CODE> for Filter and Device types, below.)
-</P>
+<P>This implies</P>
+<UL>
+<LI>For filter chains consisting of read-only components, the elements of the chain are closed in reverse order</LI>
+<LI>For filter chains consisting of write-only components, the elements of the chain are closed in forward order</LI>
+<LI>Filters and Devices controlling separate input and output sequences receive two closure notifications, the first with argument <CODE>ios_base::in</CODE> and the second with argument <CODE>ios_base::out</CODE>.
+</UL>
+
+<P>(<I>See</I> the semantics of <CODE>close</CODE> for Filter and Device types, below.)</P>
 
 <A NAME="headers"></A>
 <H2>Headers</H2>
@@ -88,6 +105,9 @@
 <PRE CLASS="broken_ie"><SPAN CLASS="keyword">namespace</SPAN> boost { <SPAN CLASS="keyword">namespace</SPAN> iostreams {
               
 <SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#template_params">T</A>&gt;
+<SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#close_convenience">close</A>(T& t);
+
+<SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#template_params">T</A>&gt;
 <SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#close_device">close</A>(T& t, std::ios_base::openmode which);
 
 <SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#template_params">T</A>, <SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#template_params">Device</A>&gt;
@@ -95,8 +115,30 @@
 
 } } <SPAN CLASS="comment">// End namespace boost::io</SPAN></PRE>
 
+
+<A NAME="close_convenience"></A>
+<H3>Function Template <CODE>close</CODE> &#8212; Convenience Function</H3>
+
+<A NAME="template_params"></A>
+<H4>Template Parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+<TR>
+ <TR>
+ <TD VALIGN="top"><I>T</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>A model of one of the Device concepts.
+ </TR>
+</TABLE>
+
+<H4>Semantics</H4>
+
+<PRE CLASS="broken_ie"><SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> T&gt;
+<SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#close_device">close</A>(T& t);</PRE>
+
+<P>This overload of <CODE>close</CODE> calls <CODE>close(t, std::ios_base::in)</CODE> followed by <CODE>close(t, std::ios_base::out)</CODE>. It ensures that <CODE>t</CODE> is closed properly, regardless of the mode or <CODE>t</CODE>.
+
 <A NAME="close_device"></A>
-<H3>Function Template <CODE>close</CODE> &#8212; Device Types</H3>
+<H3>Function Template <CODE>close</CODE> &#8212; Closure Notification for Devices</H3>
 
 <A NAME="template_params"></A>
 <H4>Template Parameters</H4>
@@ -114,13 +156,27 @@
 <PRE CLASS="broken_ie"><SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> T&gt;
 <SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#close_device">close</A>(T& t, std::ios_base::openmode which);</PRE>
 
-<P>The semantics of <CODE>close</CODE> for a Device type <CODE>T</CODE> depends on its category as follows:</P>
+<P>If <CODE>t</CODE> is a filtering stream or stream buffer, <CODE>close</CODE> calls pop. The semantics depends on its category as follows:</P>
+
+<TABLE STYLE="margin-left:2em" BORDER=1 CELLPADDING=4>
+ <TR><TH><CODE>category&lt;T&gt;::type</CODE></TH><TH>semantics</TH></TR>
+ <TR>
+ <TD VALIGN="top">convertible to input but not to output</TD>
+ <TD>calls <CODE>t.pop()</CODE> if <CODE>which == ios_base::in</CODE></TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top">otherwise</TD>
+ <TD>calls <CODE>t.pop()</CODE> if <CODE>which == ios_base::out</CODE></TD>
+ </TR>
+</TABLE>
+
+<P>The semantics of <CODE>close</CODE> for a device <CODE>T</CODE> other than a filtering stream or stream buffer depends on its category as follows:</P>
 
 <TABLE STYLE="margin-left:2em" BORDER=1 CELLPADDING=4>
     <TR><TH><CODE>category&lt;T&gt;::type</CODE></TH><TH>semantics</TH></TR>
     <TR>
         <TD VALIGN="top">not convertible to closable_tag</TD>
- <TD>no-op</TD>
+ <TD>calls flush</TD>
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to bidirectional</A></TD>
@@ -128,25 +184,31 @@
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to input but not to output</TD>
- <TD>calls <CODE>t.close()</CODE> if <CODE>(which & ios_base::in) != 0</CODE></TD>
+ <TD>calls <CODE>t.close()</CODE> if <CODE>which == ios_base::in</CODE></TD>
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to output but not to bidirectional</TD>
- <TD>calls <CODE>t.close()</CODE> if <CODE>(which & ios_base::out) != 0</CODE></TD>
+ <TD>calls <CODE>t.close()</CODE> if <CODE>which == ios_base::out</CODE></TD>
     </TR>
 </TABLE>
 
 <P>In short:
 <UL>
- <LI CLASS="square">If <CODE>T</CODE> is not Closable, <CODE>close</CODE> does nothing.
+ <LI CLASS="square">If <CODE>T</CODE> is not Closable, <CODE>close</CODE> calls flush.
     <LI CLASS="square">If <CODE>T</CODE> is Closable and controls two separate sequences, <CODE>close</CODE> delegates to a member function <CODE>close</CODE> taking a single <CODE>openmode</CODE> parameter.
     <LI CLASS="square">Otherwise, <CODE>close</CODE> delegates to a member function <CODE>close</CODE> taking no parameters, but only if its <CODE>openmode</CODE> parameter is consistent with the mode of <CODE>T</CODE>.
 </UL>
 
 <P>The last condition prevents a Device controlling a single sequence from being closed twice in succession.</P>
 
+<P><B>NOTE:</B> Starting with Boost 1.35, the invocation of this function with an <CODE>openmode</CODE> other than <CODE>std::ios_base::in</CODE> or
+ <CODE>std::ios_base::out</CODE> is <B>deprecated</B>. To close both sequences at once, use
+<PRE>close(t)</PRE>
+instead of
+<PRE>close(t, std::ios_base::in | std::ios_base::out)</PRE></P>
+
 <A NAME="close_filter"></A>
-<H3>Function Template <CODE>close</CODE> &#8212; Filter Types</H3>
+<H3>Function Template <CODE>close</CODE> &#8212; Closure Notification for Filters</H3>
 
 <A NAME="template_params"></A>
 <H4>Template Parameters</H4>
@@ -174,7 +236,7 @@
     <TR><TH><CODE>category&lt;T&gt;::type</CODE></TH><TH>semantics</TH></TR>
     <TR>
         <TD VALIGN="top">not convertible to closable_tag</TD>
- <TD>no-op</TD>
+ <TD>calls flush</TD>
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to bidirectional</A></TD>
@@ -182,23 +244,26 @@
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to input but not to output</TD>
- <TD>calls <CODE>t.close(next)</CODE> if <CODE>(which & ios_base::in) != 0</CODE></TD>
+ <TD>calls <CODE>t.close(next)</CODE> if <CODE>which == ios_base::in</CODE></TD>
     </TR>
     <TR>
         <TD VALIGN="top">convertible to closable_tag and to output but not to bidirectional</TD>
- <TD>calls <CODE>t.close(next)</CODE> if <CODE>(which & ios_base::out) != 0</CODE></TD>
+ <TD>calls <CODE>t.close(next)</CODE> if <CODE>which == ios_base::out</CODE></TD>
     </TR>
 </TABLE>
 
 <P>In short:
 <UL>
- <LI CLASS="square">If <CODE>T</CODE> is not Closable, <CODE>close</CODE> does nothing.
+ <LI CLASS="square">If <CODE>T</CODE> is not Closable, <CODE>close</CODE> calls flush.
     <LI CLASS="square">If <CODE>T</CODE> is Closable and controls two separate sequences, <CODE>close</CODE> delegates to a member function <CODE>close</CODE> taking <CODE>openmode</CODE> and stream buffer parameters.
     <LI CLASS="square">Otherwise, <CODE>close</CODE> delegates to a member function <CODE>close</CODE> taking a single stream buffer parameter, but only if its <CODE>openmode</CODE> parameter is consistent with the mode of <CODE>T</CODE>.
 </UL>
 
 <P>The last condition prevents a Filter controlling a single sequence from being closed twice in succession.</P>
 
+<P><B>NOTE:</B> Starting with Boost 1.35, the invocation of this function with an <CODE>openmode</CODE> other than <CODE>std::ios_base::in</CODE> or
+ <CODE>std::ios_base::out</CODE> is <B>deprecated</B>.</P>
+
 <!-- End Footnotes -->
 
 <HR>

Modified: trunk/libs/iostreams/doc/functions/restrict.html
==============================================================================
--- trunk/libs/iostreams/doc/functions/restrict.html (original)
+++ trunk/libs/iostreams/doc/functions/restrict.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <HTML>
 <HEAD>
- <TITLE>Class Template chain</TITLE>
+ <TITLE>Function Template restrict</TITLE>
     <LINK REL="stylesheet" HREF="../../../../boost.css">
     <LINK REL="stylesheet" HREF="../theme/iostreams.css">
 </HEAD>
@@ -33,6 +33,10 @@
     The <A HREF='../guide/modes.html'>mode</A> of a <CODE>resriction</CODE> is the same as that of the underlying component. A <CODE>resriction</CODE> is <A HREF='../concepts/closable.html'>Closable</A>, <A HREF='../concepts/flushable.html'>Flushable</A>, <A HREF='../concepts/localizable.html'>Localizable</A> and <A HREF='../concepts/optimally_buffered.html'>OptimallyBuffered</A>.
 </P>
 
+<P>
+ The function template slice is available as an alias of <code>restrict</code>, for platforms that treat <code>restrict</code> as a keyword.
+</P>
+
 <A NAME="headers"></A>
 <H2>Headers</H2>
 

Modified: trunk/libs/iostreams/doc/menu.html
==============================================================================
--- trunk/libs/iostreams/doc/menu.html (original)
+++ trunk/libs/iostreams/doc/menu.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -245,6 +245,7 @@
             .add("<CODE>read</CODE>", "functions/read.html").parent()
             .add("<CODE>restrict</CODE>", "functions/restrict.html").parent()
             .add("<CODE>seek</CODE>", "functions/seek.html").parent()
+ .add("<CODE>slice</CODE>", "functions/slice.html").parent()
             .add("<CODE>tee</CODE>", "functions/tee.html").parent()
             .add("<CODE>test_filter_pair</CODE>", "functions/filter_test.html#test_pair").parent()
             .add("<CODE>test_input_filter</CODE>", "functions/filter_test.html#test_input").parent()
@@ -275,6 +276,7 @@
     tree.add("Rationale", "rationale.html");
     tree.add("Bibliography", "bibliography.html");
     tree.add("Acknowledgments", "acknowledgments.html");
+ tree.add("Release Notes", "release_notes.html");
 
     //tree.dump_html = true;
     tree.indent = 9;
@@ -315,38 +317,41 @@
 <!-- ------------------ Markup for Browsers with Scripting Disabled -- -->
 
     <noscript>
- <table><tr><td align="left"><table width=150><tr><td><h1 class=tree-caption>Contents</h1></td></tr></table></td></tr><tr><td><div id="list" style="white-space:nowrap;display:">
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">1</span> <A class="tree-text" onfocus="blur_tree()" href="home.html" target="content"><span class="tree-text">Introduction</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">2</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/tutorial.html" target="content"><span class="tree-text">Tutorial</span></A></div><div id="list.2" style="white-space:nowrap;display:">
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">2.1</span> <span class="tree-text">Writing Devices</span></div><div id="list.2.1" style="white-space:nowrap;display:">
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.1.1</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/writing_devices.html" target="content"><span class="tree-text">Overview</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.1.2</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/container_source.html" target="content"><span class="tree-text"><CODE>container_source</CODE></span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.1.3</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/container_sink.html" target="content"><span class="tree-text"><CODE>container_sink</CODE></span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.1.4</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/container_device.html" target="content"><span class="tree-text"><CODE>container_device</CODE></span></A></div></div></div></div>
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">2.2</span> <span class="tree-text">Writing Filters</span></div><div id="list.2.2" style="white-space:nowrap;display:">
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.1</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/writing_filters.html" target="content"><span class="tree-text">Overview</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.2</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/filter_usage.html" target="content"><span class="tree-text">Filter Usage</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.3</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/shell_comments_filters.html" target="content"><span class="tree-text">Shell Comments</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.4</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/line_wrapping_filters.html" target="content"><span class="tree-text">Line-Wrapping</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.5</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/tab_expanding_filters.html" target="content"><span class="tree-text">Tab-Expanding</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.6</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/dictionary_filters.html" target="content"><span class="tree-text">Dictionary</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.7</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/unix2dos_filters.html" target="content"><span class="tree-text">UNIX-to-DOS</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.8</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/multichar_filters.html" target="content"><span class="tree-text">Multi-Character Filters</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.9</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/dual_use_filters.html" target="content"><span class="tree-text">Dual-Use Filters</span></A></div></div>
- <div class="tree-item"><div style="margin-left:36;text-indent:-18"><span class="tree-label">2.2.10</span> <A class="tree-text" onfocus="blur_tree()" href="tutorial/finite_state_filters.html" target="content"><span class="tree-text">Finite State Filters</span></A></div></div></div></div></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">3</span> <A class="tree-text" onfocus="blur_tree()" href="guide/guide.html" target="content"><span class="tree-text">User"s Guide</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">4</span> <A class="tree-text" onfocus="blur_tree()" href="reference.html" target="content"><span class="tree-text">Reference</span></A></div><div id="list.4" style="white-space:nowrap;display:">
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">4.1</span> <A class="tree-text" onfocus="blur_tree()" href="concepts/concepts.html" target="content"><span class="tree-text">Concepts</span></A></div></div>
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">4.2</span> <A class="tree-text" onfocus="blur_tree()" href="classes/classes.html" target="content"><span class="tree-text">Classes</span></A></div></div>
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">4.3</span> <A class="tree-text" onfocus="blur_tree()" href="functions/functions.html" target="content"><span class="tree-text">Functions</span></A></div></div>
- <div class="tree-item"><div style="margin-left:18;text-indent:-9"><span class="tree-label">4.4</span> <A class="tree-text" onfocus="blur_tree()" href="macros/macros.html" target="content"><span class="tree-text">Macros</span></A></div></div></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">5</span> <A class="tree-text" onfocus="blur_tree()" href="quick_reference.html" target="content"><span class="tree-text">Quick Reference</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">6</span> <A class="tree-text" onfocus="blur_tree()" href="faq.html" target="content"><span class="tree-text">FAQ</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">7</span> <A class="tree-text" onfocus="blur_tree()" href="installation.html" target="content"><span class="tree-text">Installation</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">8</span> <A class="tree-text" onfocus="blur_tree()" href="portability.html" target="content"><span class="tree-text">Portability</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">9</span> <A class="tree-text" onfocus="blur_tree()" href="rationale.html" target="content"><span class="tree-text">Rationale</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">10</span> <A class="tree-text" onfocus="blur_tree()" href="bibliography.html" target="content"><span class="tree-text">Bibliography</span></A></div></div>
- <div class="tree-item"><div style="margin-left:0;text-indent:-0"><span class="tree-label">11</span> <A class="tree-text" onfocus="blur_tree()" href="acknowledgments.html" target="content"><span class="tree-text">Acknowledgments</span></A></div></div></div></td></tr></table>
+ <table><tr><td align='left'><table width=150><tr><td><h1 class=tree-caption>Contents</h1></td></tr></table></td></tr><tr><td><div id='list' style='white-space:nowrap;display:'>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>1</span> <a class='tree-text' onfocus='blur_tree()' href='home.html' target='content'><span class='tree-text'>Introduction</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>2</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/tutorial.html' target='content'><span class='tree-text'>Tutorial</span></a></div><div id='list.2' style='white-space:nowrap;display:'>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>2.1</span> <span class='tree-text'>Writing Devices</span></div><div id='list.2.1' style='white-space:nowrap;display:'>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.1.1</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/writing_devices.html' target='content'><span class='tree-text'>Overview</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.1.2</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/container_source.html' target='content'><span class='tree-text'><CODE>container_source</CODE></span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.1.3</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/container_sink.html' target='content'><span class='tree-text'><CODE>container_sink</CODE></span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.1.4</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/container_device.html' target='content'><span class='tree-text'><CODE>container_device</CODE></span></a></div></div></div></div>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>2.2</span> <span class='tree-text'>Writing Filters</span></div><div id='list.2.2' style='white-space:nowrap;display:'>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.1</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/writing_filters.html' target='content'><span class='tree-text'>Overview</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.2</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/filter_usage.html' target='content'><span class='tree-text'>Filter Usage</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.3</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/shell_comments_filters.html' target='content'><span class='tree-text'>Shell Comments</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.4</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/line_wrapping_filters.html' target='content'><span class='tree-text'>Line-Wrapping</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.5</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/tab_expanding_filters.html' target='content'><span class='tree-text'>Tab-Expanding</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.6</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/dictionary_filters.html' target='content'><span class='tree-text'>Dictionary</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.7</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/unix2dos_filters.html' target='content'><span class='tree-text'>UNIX-to-DOS</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.8</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/multichar_filters.html' target='content'><span class='tree-text'>Multi-Character Filters</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.9</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/dual_use_filters.html' target='content'><span class='tree-text'>Dual-Use Filters</span></a></div></div>
+<div class='tree-item'><div style='margin-left:36;text-indent:-18'><span class='tree-label'>2.2.10</span> <a class='tree-text' onfocus='blur_tree()' href='tutorial/finite_state_filters.html' target='content'><span class='tree-text'>Finite State Filters</span></a></div></div></div></div></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>3</span> <a class='tree-text' onfocus='blur_tree()' href='guide/guide.html' target='content'><span class='tree-text'>User's Guide</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>4</span> <a class='tree-text' onfocus='blur_tree()' href='reference.html' target='content'><span class='tree-text'>Reference</span></a></div><div id='list.4' style='white-space:nowrap;display:'>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>4.1</span> <a class='tree-text' onfocus='blur_tree()' href='concepts/concepts.html' target='content'><span class='tree-text'>Concepts</span></a></div></div>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>4.2</span> <a class='tree-text' onfocus='blur_tree()' href='classes/classes.html' target='content'><span class='tree-text'>Classes</span></a></div></div>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>4.3</span> <a class='tree-text' onfocus='blur_tree()' href='functions/functions.html' target='content'><span class='tree-text'>Functions</span></a></div></div>
+<div class='tree-item'><div style='margin-left:18;text-indent:-9'><span class='tree-label'>4.4</span> <a class='tree-text' onfocus='blur_tree()' href='macros/macros.html' target='content'><span class='tree-text'>Macros</span></a></div></div></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>5</span> <a class='tree-text' onfocus='blur_tree()' href='quick_reference.html' target='content'><span class='tree-text'>Quick Reference</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>6</span> <a class='tree-text' onfocus='blur_tree()' href='faq.html' target='content'><span class='tree-text'>FAQ</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>7</span> <a class='tree-text' onfocus='blur_tree()' href='installation.html' target='content'><span class='tree-text'>Installation</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>8</span> <a class='tree-text' onfocus='blur_tree()' href='portability.html' target='content'><span class='tree-text'>Portability</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>9</span> <a class='tree-text' onfocus='blur_tree()' href='rationale.html' target='content'><span class='tree-text'>Rationale</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>10</span> <a class='tree-text' onfocus='blur_tree()' href='bibliography.html' target='content'><span class='tree-text'>Bibliography</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>11</span> <a class='tree-text' onfocus='blur_tree()' href='acknowledgments.html' target='content'><span class='tree-text'>Acknowledgments</span></a></div></div>
+<div class='tree-item'><div style='margin-left:0;text-indent:-0'><span class='tree-label'>12</span> <a class='tree-text' onfocus='blur_tree()' href='release_notes.html' target='content'><span class='tree-text'>Release Notes</span></a></div></div></div></td></tr></table>
+
+
     </noscript>
 
 <!-- ------------------ Tree Control --------------------------------- -->

Modified: trunk/libs/iostreams/doc/portability.html
==============================================================================
--- trunk/libs/iostreams/doc/portability.html (original)
+++ trunk/libs/iostreams/doc/portability.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -15,149 +15,9 @@
 <!-- End Banner -->
 
 <P>
- The Iostreams library has been tested with a wide variety of platforms. With a few exceptions, noted in the rightmost column below, the library is fully supported on the following platforms:
+ The Iostreams library has been tested with a wide variety of platforms. Please see the Boost regression reports for details.
 </P>
 
-<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
-<TR>
- <TH>Compiler</TH><TH>Standard Library</TH><TH>Operating System</TH><TH>Limitations</TH>
-</TR>
-<TR>
- <TD ROWSPAN='3'>GCC 3.2 - 4.0</TD>
- <TD ROWSPAN='4'>libstdc++</TD>
- <TD>Linux and Most UNIX</TD>
- <TD><I>none</I></TD>
-</TR>
-<TR>
- <TD>Windows (MinGW and Cygwin)</TD>
- <TD ROWSPAN='2'><A CLASS='footnote_ref' NAME='note_1_ref' HREF="#note_1">[1]</TD>
-</TR>
-<TR>
- <TD>OSF1 V5</TD>
-</TR>
-<TR>
- <TD ROWSPAN='2'>GCC 2.9.3</TD>
- <TD ROWSPAN='2'>Linux</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_1_ref' HREF="#note_1">[1]</A>,
- <A CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2">[2]</A>,
- <A CLASS="footnote_ref" NAME="note_2_ref" HREF="#note_3">[3]</A>
- </TD>
-</TR>
-<TR>
- <TD>STLPort</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2">[2]</A>,
- <A CLASS='footnote_ref' NAME='note_4_ref' HREF="#note_4">[4]</A>
- </TD>
-</TR>
-<TR>
- <TD>Visual C++ 7.1, 8.0 (beta 2)</TD>
- <TD ROWSPAN='2'>Dinkumware</TD>
- <TD ROWSPAN='2'>Windows</TD>
- <TD><I>none</I></TD>
-</TR>
-<TR>
- <TD>Visual C++ 6.0 - 7.0</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2">[2]</A>,
- <A CLASS='footnote_ref' NAME='note_5_ref' HREF="#note_5">[5]</A>
- </TD>
-</TR>
-<TR>
- <TD ROWSPAN='2'>CodeWarrior 8.3 - 9.5</TD>
- <TD ROWSPAN='2'>MSL</TD>
- <TD>Windows, Max OS X</TD>
- <TD ROWSPAN='2'><I>none</I></TD>
-</TR>
-<TR>
- <TD>Max OS X</TD>
-</TR>
-<TR>
- <TD>Borland 5.6.4</TD>
- <TD>STLPort 4.5.3</TD>
- <TD>Windows</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2">[2]</A>,
- <A CLASS='footnote_ref' NAME='note_4_ref' HREF="#note_4">[4]</A>
- </TD>
-</TR>
-<!--
- <TR>
- <TD>RogueWave</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2">[2]</A>
- </TD>
- </TR>
--->
-<TR>
- <TD>Comeau C/C++ 4.3.3</TD>
- <TD>libcomo 31</TD>
- <TD>Windows</TD>
- <TD>
- <A CLASS='footnote_ref' NAME='note_3_ref' HREF="#note_3">[3]</A>,
- <A CLASS='footnote_ref' NAME='note_4_ref' HREF="#note_4">[4]</A>
- <A CLASS='footnote_ref' NAME='note_6_ref' HREF="#note_6">[6]</A>
- </TD>
-</TR>
-<TR>
- <TD ROWSPAN='2'>Intel 7.0 - 8.0</TD>
- <TD>libstdc++</TD>
- <TD>Linux</TD>
- <TD ROWSPAN='2'><I>none</I></TD>
-</TR>
-<TR>
- <TD>Dinkumware</TD>
- <TD>Windows</TD>
-</TR>
-<TR>
- <TD>Intel 9.0</TD>
- <TD>Dinkumware</TD>
- <TD>Windows</TD>
- <TD><A CLASS='footnote_ref' NAME='note_7_ref' HREF="#note_7">[7]</A></TD>
-</TR>
-<TR>
- <TD>Compaq C++ 6.5-042</TD>
- <TD>RogueWave</TD>
- <TD>Tru64 UNIX</TD>
- <TD><I>none</I></TD>
-</TR>
-</TABLE>
-
-<!-- Begin Footnotes -->
-
-<H4>Notes</H4>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_1" HREF="#note_1_ref"><SUP>[1]</SUP></A>Wide streams are not supported.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_2" HREF="#note_2_ref"><SUP>[2]</SUP></A>Fails finite_state_filter_test.cpp. Note that finite_state_filter is part of the library examples and not the core library.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_3" HREF="#note_3_ref"><SUP>[3]</SUP></A>Exhibits several unexplained runtime failures. See the Compiler Status Tables for details.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_4" HREF="#note_4_ref"><SUP>[4]</SUP></A>Fails seekable_file_test.cpp.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_5" HREF="#note_5_ref"><SUP>[5]</SUP></A>Exhibits several unexplained runtime failures when global optimization (<CODE>/Og</CODE>) is enabled.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_6" HREF="#note_6_ref"><SUP>[6]</SUP></A>When run in strict mode, fails to compile those tests which depend on the header <CODE>&lt;windows.h&gt;</CODE>, namely bzip2_test.cpp, file_descriptor_test.cpp and mapped_file_test.cpp.
-</P>
-
-<P>
- <A CLASS="footnote_ref" NAME="note_7" HREF="#note_7_ref"><SUP>[7]</SUP></A>Intermittently fails the mapped_file_test test cases in which a mapped_file is used to create a new file.</A>.
-</P>
-
-<!-- End Footnotes -->
-
 <!-- Begin Footer -->
 
 <HR>

Modified: trunk/libs/iostreams/doc/quick_reference.html
==============================================================================
--- trunk/libs/iostreams/doc/quick_reference.html (original)
+++ trunk/libs/iostreams/doc/quick_reference.html 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -358,9 +358,9 @@
     </TD>
 </TR>
 <TR>
- <TD>restrict</TD>
+ <TD>restrict<BR>slice</TD>
     <TD>restriction</TD>
- <TD>restrict.hpp</TD>
+ <TD>restrict.hpp<BR>slice.hpp</TD>
     <TD>
         Takes a Filter or Device together with a stream offset and an optional length and yields a Filter or Device for accessing the specifed subquence of the given component
     </TD>

Modified: trunk/libs/iostreams/doc/tree/tree.js
==============================================================================
--- trunk/libs/iostreams/doc/tree/tree.js (original)
+++ trunk/libs/iostreams/doc/tree/tree.js 2008-02-22 19:07:13 EST (Fri, 22 Feb 2008)
@@ -106,10 +106,10 @@
 }
 function html_anchor(content, cl, href, target)
 {
- return "<A class='" + cl + "' onfocus='blur_tree()" +
+ return "<a class='" + cl + "' onfocus='blur_tree()" +
            "' href='" + href + "'" +
            (target ? " target='" + target + "'" : "") +
- ">" + content + "</A>";
+ ">" + content + "</a>";
 }
 
 //--------------Definition of class tree_node---------------------------------//


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk