Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63753 - in sandbox/variadic_templates/libs/iostreams: . doc doc/classes doc/functions
From: cppljevans_at_[hidden]
Date: 2010-07-08 13:33:01


Author: cppljevans
Date: 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
New Revision: 63753
URL: http://svn.boost.org/trac/boost/changeset/63753

Log:
Add documentation for iostreams indent code.

Added:
   sandbox/variadic_templates/libs/iostreams/
   sandbox/variadic_templates/libs/iostreams/doc/
   sandbox/variadic_templates/libs/iostreams/doc/classes/
   sandbox/variadic_templates/libs/iostreams/doc/classes/indent_filter.html (contents, props changed)
   sandbox/variadic_templates/libs/iostreams/doc/classes/indent_scoped_ostreambuf.html (contents, props changed)
   sandbox/variadic_templates/libs/iostreams/doc/functions/
   sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_in.html (contents, props changed)
   sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_out.html (contents, props changed)
   sandbox/variadic_templates/libs/iostreams/doc/quick_reference.html (contents, props changed)

Added: sandbox/variadic_templates/libs/iostreams/doc/classes/indent_filter.html
==============================================================================
--- (empty file)
+++ sandbox/variadic_templates/libs/iostreams/doc/classes/indent_filter.html 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Class Template indent_filter</TITLE>
+ <LINK REL="stylesheet" HREF="../../../../boost.css">
+ <LINK REL="stylesheet" HREF="../theme/iostreams.css">
+</HEAD>
+<BODY>
+
+<!-- Begin Banner -->
+
+ <H1 CLASS="title">Class Template <CODE>indent_filter</CODE></H1>
+ <HR CLASS="banner">
+
+<!-- End Banner -->
+
+<DL class="page-index">
+ <DT>Description</DT>
+ <DT>Headers</DT>
+ <DT>Installation</DT>
+ <DT>Reference</DT>
+</DL>
+
+<HR>
+
+<A NAME="description"></A>
+<H2>Description</H2>
+
+<P>
+ The class template <CODE>indent_filter</CODE> is
+ an <A HREF='../concepts/output_filter.html'>OutputFilter</A> which
+ indents each output line by a user-modifiable number of spaces.
+</P>
+
+<A NAME="headers"></A>
+<H2>Headers</H2>
+
+<DL class="page-index">
+ <DT><A CLASS="header" HREF="../../../../boost/iostreams/filter/indent.hpp"><CODE>&lt;boost/iostreams/filter/indent.hpp&gt;</CODE></A></DT>
+</DL>
+
+<A NAME="installation"></A>
+<H2>Installation</H2>
+
+<P>
+ Only the header file is needed.
+</P>
+
+<A NAME="reference"></A>
+<H2>Reference</H2>
+
+<H4>Synopsis</H4>
+
+<PRE CLASS="broken_ie"><SPAN CLASS="keyword">namespace</SPAN> boost { <SPAN CLASS="keyword">namespace</SPAN> iostreams {
+
+<SPAN CLASS="preprocessor">#include</SPAN> <A CLASS="header" HREF="../../../../boost/iostreams/concepts.hpp" TARGET="_top"><SPAN CLASS="literal">&lt;boost/iostreams/concepts.hpp&gt;</SPAN></A>
+<SPAN CLASS="preprocessor">#include</SPAN> <A CLASS="header" HREF="../../../../boost/iostreams/operations.hpp" TARGET="_top"><SPAN CLASS="literal">&lt;boost/iostreams/operations.hpp&gt;</SPAN></A>
+
+<SPAN CLASS="keyword">template</SPAN>&lt; <SPAN CLASS="keyword">typename</SPAN> <A HREF="#template_params"
+ CLASS="documented">Ch</A> &gt;
+<SPAN CLASS="keyword">class</SPAN> <A HREF="#template_params"
+ CLASS="documented">indent_filter</A>
+: <SPAN CLASS="keyword">public</SPAN> <A CLASS="documented" HREF="filter.html">filter</A>&lt; <A CLASS="documented" HREF="../guide/modes.html#output">output</A>, Ch&gt;
+{
+<SPAN CLASS="keyword">public:</SPAN>
+
+ <SPAN CLASS="keyword">static int const</SPAN> <A CLASS="documented" HREF="#width_default">width_default</A>=2
+ ;
+ <SPAN CLASS="keyword">explicit</SPAN> <A CLASS="documented" HREF="#constructor_int">indent_filter</A>
+ ( <SPAN CLASS="keyword">int</SPAN> width=<A CLASS="documented" HREF="#width_default">width_default</A>
+ );
+ <SPAN CLASS="keyword">int</SPAN> <A CLASS="documented" HREF="#indentation">indentation</A>() <SPAN CLASS="keyword">const</SPAN>
+ ;
+ <SPAN CLASS="keyword">int</SPAN> <A CLASS="documented" HREF="#width">width</A>() <SPAN CLASS="keyword">const</SPAN>
+ ;
+ <SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#indent_by">indent_by</A>
+ ( <SPAN CLASS="keyword">int</SPAN> amount
+ )
+ ;
+ <SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#indent_out">indent_out</A>()
+ ;
+ <SPAN CLASS="keyword">void</SPAN> <A CLASS="documented" HREF="#indent_in">indent_in</A>()
+ ;
+};
+
+
+} } // End namespace boost::io</PRE>
+
+<A NAME="template_params"></A>
+<H4>Template parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+<TR>
+ <TR>
+ <TD VALIGN="top"><I>Ch</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The character type</TD>
+ </TR>
+</TABLE>
+
+<A NAME="width_default"></A>
+<H4><CODE>static int const indent_filter::width_default</CODE></H4>
+
+<P>
+The default value for return from <A CLASS="documented" HREF="#width">width()</A>.
+</P>
+
+<A NAME="constructor_int"></A>
+<H4><CODE>indent_filter::indent_filter</CODE></H4>
+<PRE CLASS="broken_ie"><B>indent_filter</B>
+ ( <SPAN CLASS="keyword">int</SPAN> width=width_default
+ )
+</PRE>
+
+<P>Constructs a <CODE>indent_filter</CODE> with given width.
+The
+parameters have the following interpretations
+:</P>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+<TR>
+ <TR>
+
+ <TD VALIGN="top"><I>width</I></TD><TD WIDTH="2em"
+ VALIGN="top">-</TD> <TD>The amount by which indentation is
+ changed in calls to <A CLASS="documented"
+ HREF="#indent_in">indent_in</A>() and <A CLASS="documented"
+ HREF="#indent_out">indent_out</A>(). If this amount is &lt;
+ <SPAN CLASS="numeric_literal">0</SPAN>, then it's reset to
+ <SPAN CLASS="numeric_literal">0</SPAN>.
+
+ </TD>
+ </TR>
+</TABLE>
+
+</P>
+
+<A NAME="indentation"></A>
+<H4><CODE>int indent_filter::indentation()const</CODE></H4>
+
+<P>
+The current indentation. IOW, each output line is prefixed with
+indentation() spaces.
+</P>
+
+<A NAME="width"></A>
+<H4><CODE>int indent_filter::width()const</CODE></H4>
+
+<P>
+The absolute amount by which indentation is changed in calls to
+<A CLASS="documented"
+ HREF="#indent_in">indent_in</A>() and <A CLASS="documented"
+ HREF="#indent_out">indent_out</A>()
+.
+</P>
+
+<A NAME="indent_by"></A>
+<H4><CODE>indent_filter::indent_by</CODE></H4>
+<PRE CLASS="broken_ie"><B>indent_by</B>
+ ( <SPAN CLASS="keyword">int</SPAN> amount
+ )
+</PRE>
+
+<P>Changes the
+<A CLASS="documented" HREF="#indentation">indentation</A>
+by the given <CODE>amount</CODE>. If resulting indentation is &lt; <SPAN CLASS="numeric_literal">0</SPAN>,
+resets it to <SPAN CLASS="numeric_literal">0</SPAN>.
+</P>
+
+<A NAME="indent_in"></A>
+<H4><CODE>void indent_filter::indent_in()</CODE></H4>
+
+<P>
+Calls <A CLASS="documented" HREF="#indent_by">indent_by</A>
+with argument, <A CLASS="documented" HREF="#width">+width()</A>
+</P>
+
+<A NAME="indent_out"></A>
+<H4><CODE>void indent_filter::indent_out()</CODE></H4>
+
+<P>
+Calls <A CLASS="documented" HREF="#indent_by">indent_by</A>
+with argument, <A CLASS="documented" HREF="#width">-width()</A>
+</P>
+
+<!-- Begin Footer -->
+
+<HR>
+<P CLASS="copyright">Revised 12 Jan 2010</P>
+
+<P CLASS="copyright">&copy; Copyright 2010
+<br>Larry Evans
+</P>
+<P CLASS="copyright">
+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</P>
+
+<!-- End Footer -->
+
+</BODY>

Added: sandbox/variadic_templates/libs/iostreams/doc/classes/indent_scoped_ostreambuf.html
==============================================================================
--- (empty file)
+++ sandbox/variadic_templates/libs/iostreams/doc/classes/indent_scoped_ostreambuf.html 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Class Template indent_ostream</TITLE>
+ <LINK REL="stylesheet" HREF="../../../../boost.css">
+ <LINK REL="stylesheet" HREF="../theme/iostreams.css">
+</HEAD>
+<BODY>
+
+<!-- Begin Banner -->
+
+ <H1 CLASS="title">Class Template <CODE>indent_scoped_ostreambuf</CODE></H1>
+ <HR CLASS="banner">
+
+<!-- End Banner -->
+
+<DL class="page-index">
+ <DT>Description</DT>
+ <DT>Headers</DT>
+ <DT>Installation</DT>
+ <DT>Reference</DT>
+</DL>
+
+<HR>
+
+<A NAME="description"></A>
+<H2>Description</H2>
+
+<P> The class template <CODE>indent_scoped_ostreambuf</CODE>
+ temporarily replaces the std::basic_stream_buf of a
+ std::basic_ostream with a
+ <A HREF='filtering_streambuf.html'>filtering_streambuf&lt;<A
+ HREF='../guide/modes.html#output'>output</A>&gt;</A>
+ which indents
+ each output line by a user-modifiable number of spaces.
+</P>
+
+<A NAME="headers"></A>
+<H2>Headers</H2>
+
+<DL class="page-index">
+ <DT><A CLASS="header" HREF="../../../../boost/iostreams/utility/indent_scoped_ostreambuf.hpp"><CODE>&lt;boost/iostreams/utility/indent_scoped_ostreambuf.hpp&gt;</CODE></A></DT>
+</DL>
+
+<A NAME="installation"></A>
+<H2>Installation</H2>
+
+<P>
+ Only the header file is needed.
+</P>
+
+<A NAME="reference"></A>
+<H2>Reference</H2>
+
+<H4>Synopsis</H4>
+
+<PRE CLASS="broken_ie"><SPAN CLASS="keyword">namespace</SPAN> boost { <SPAN CLASS="keyword">namespace</SPAN> iostreams {
+
+<SPAN CLASS="preprocessor">#include</SPAN> <A CLASS="header" HREF="../../../../boost/iostreams/filter/indent.hpp" TARGET="_top"><SPAN CLASS="literal">&lt;boost/iostreams/filter/indent.hpp&gt;</SPAN></A>
+<SPAN CLASS="preprocessor">#include</SPAN> <A CLASS="header" HREF="../../../../boost/iostreams/filtering_streambuf.hpp" TARGET="_top"><SPAN CLASS="literal">&lt;boost/iostreams/filtering_streambuf.hpp&gt;</SPAN></A>
+
+<SPAN CLASS="keyword">template</SPAN>&lt; <SPAN CLASS="keyword">typename</SPAN> Ch=char&gt;
+<SPAN CLASS="keyword">class</SPAN> <A HREF="#template_params"
+ CLASS="documented">indent_scoped_ostreambuf</A>
+{
+<SPAN CLASS="keyword">public:</SPAN>
+
+ <A CLASS="documented" HREF="#constructor_ostrm_int">indent_scoped_ostreambuf</A>
+ ( std::basic_ostream&lt;Ch&gt;&amp; sout
+ , <SPAN CLASS="keyword">int</SPAN> width=<A CLASS="documented" HREF="indent_filter.html#width_default">indent_filter&lt;Ch&gt;::width_default</A>
+ );
+ <A CLASS="documented" HREF="#destructor">~indent_scoped_ostreambuf</A>
+ ( void
+ );
+};
+
+
+} } // End namespace boost::io</PRE>
+
+<A NAME="template_params"></A>
+<H4>Template parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+ <TR>
+ <TD VALIGN="top"><I>Ch</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The character type</TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top"><I>Tr</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The traits type</TD>
+ </TR>
+</TABLE>
+
+<A NAME="constructor_ostrm_int"></A>
+<H4><CODE>indent_scoped_ostreambuf::indent_scoped_ostreambuf</CODE></H4>
+<PRE CLASS="broken_ie"><B>indent_scoped_ostreambuf</B>
+ ( std::basic_ostream&lt;Ch&gt;&amp; <A NAME="ctor_arg_sout" CLASS="documented">sout</A>
+ , <SPAN CLASS="keyword">int</SPAN> <A NAME="ctor_arg_width" CLASS="documented">width</A>=<A CLASS="documented" HREF="indent_filter.html#width_default">indent_filter&lt;Ch&gt;::width_default</A>
+ )
+</PRE>
+
+<P>Constructs a <CODE>indent_scoped_ostreambuf</CODE> by following these steps:
+<OL>
+<LI><A NAME="constructor_save_rdbuf"></A>Saves, in a member variable,
+the standard stream buffer returned by <CODE>sout.rdbuf()</CODE>.
+</LI>
+<LI><A NAME="constructor_replace_rdbuf"></A>Calls
+<CODE>sout.rdbuf(indent_buf)</CODE>, where <CODE>indent_buf</CODE> is a
+ <A HREF='filtering_streambuf.html'>filtering_streambuf&lt;<A
+ HREF='../guide/modes.html#output'>output</A>&gt;</A>
+ whose sink is the standard stream buffer saved in step 1, and
+ which indents each output line sent to that standard stream buffer
+ by a user-modifiable number of spaces.
+</LI>
+</OL>
+</P>
+
+<A NAME="destructor"></A>
+<H4><CODE>indent_scoped_ostreambuf::~indent_scoped_ostreambuf</CODE></H4>
+<PRE CLASS="broken_ie"><B>indent_scoped_ostreambuf</B>
+ ( void
+ )
+</PRE>
+
+<P>Restores to the <A HREF='#ctor_arg_sout'>sout</A> argument passed
+to the constructor, the standard
+stream buffer saved in <A HREF='#constructor_save_rdbuf'>step 1</A> of
+constructor.
+</P>
+
+<!-- Begin Footer -->
+
+<HR>
+<P CLASS="copyright">Revised 12 Jan 2010</P>
+
+<P CLASS="copyright">&copy; Copyright 2010
+<br>Larry Evans
+</P>
+<P CLASS="copyright">
+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</P>
+
+<!-- End Footer -->
+
+</BODY>

Added: sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_in.html
==============================================================================
--- (empty file)
+++ sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_in.html 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Function Template seek</TITLE>
+ <LINK REL="stylesheet" HREF="../../../../boost.css">
+ <LINK REL="stylesheet" HREF="../theme/iostreams.css">
+</HEAD>
+<BODY>
+
+<!-- Begin Banner -->
+
+ <H1 CLASS="title">Function Template <CODE>indent_buf_in</CODE></H1>
+ <HR CLASS="banner">
+
+<!-- End Banner -->
+
+<DL class="page-index">
+ <DT>Overview</DT>
+ <DT>Headers</DT>
+ <DT>Reference</DT>
+</DL>
+
+<A NAME="overview"></A>
+<H2>Overview</H2>
+
+<P>
+ An <A
+ HREF="http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/standlib/header_iomanip.htm">io
+ manipulator</A> which indents <B>inward</B> subsequent output lines written to
+ its <code>std::basic_ostream&lt;Ch&gt;&amp;</code> argument.
+</P>
+
+<A NAME="headers"></A>
+<H2>Headers</H2>
+
+<DL>
+ <DT><A CLASS="header" HREF="../../../../boost/iostreams/utility/indent_scoped_ostreambuf.hpp"><CODE>&lt;boost/iostreams/utility/indent_scoped_ostreambuf.hpp&gt;</CODE></A></DT>
+</DL>
+
+<A NAME="reference"></A>
+<H2>Reference</H2>
+
+<A NAME="description"></A>
+<H4>Description</H4>
+
+<P>
+ The function template <CODE>indent_buf_in</CODE> is used on an
+ std::basic_ostream&lt;Ch&gt;&amp; which maybe have been passed to
+ a
+ <A
+ HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;
+ constructor</A>.
+
+ If that's the case, then subsequent lines written to this
+ std::basic_ostreamlt;Ch&gt; will be indented <B>inward</B> by the amount
+ specified in the second argument to the
+ indent_scoped_ostreambuf&lt;Ch&gt; constructor.
+
+</P>
+
+<A NAME="synopsis"></A>
+<H4>Synopsis</H4>
+
+<PRE CLASS="broken_ie">
+<SPAN CLASS="keyword">template</SPAN>
+&lt; <SPAN CLASS="keyword">class</SPAN> Ch
+, <SPAN CLASS="keyword">class</SPAN> Tr
+&gt;
+indent_buf_in(std::basic_ostream&lt;Ch, Tr&gt;&amp; os)
+</PRE>
+
+<A NAME="template_params"></A>
+<H4>Template Parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+ <TR>
+ <TD VALIGN="top"><I>Ch</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The character type</TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top"><I>Tr</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The traits type</TD>
+ </TR>
+</TABLE>
+
+<A NAME="function_params"></A>
+<H4>Function Parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+ <TR>
+ <TD VALIGN="top"><I>os</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The <CODE>std::basic_ostream&lt;Ch, Tr&gt;</CODE> whose
+ subsequent output lines will be indented.</TD>
+ </TR>
+</TABLE>
+
+<A NAME="semantics"></A>
+<H4>Semantics</H4>
+
+<P>The semantics of <CODE>indent_buf_in</CODE> depends on whether or
+not its argument, <I>os</I>, has been passed to a
+<A
+HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;constructor</A>.
+
+If so, and that
+<CODE>indent_scoped_ostreambuf</CODE>'s destructor has not been
+called, then subsequent lines output to <I>os</I> will be indented
+<B>inward</B> by
+the amount passed as the 2nd parameter to the
+<A
+HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;constructor</A>.
+
+</P>
+
+<!-- Begin Footer -->
+
+<HR>
+<P CLASS="copyright">Revised 02 Feb 2008</P>
+
+<P CLASS="copyright">&copy; Copyright 2008 CodeRage, LLC<br/>&copy; Copyright 2004-2007 Jonathan Turkanis</P>
+<P CLASS="copyright">
+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</P>
+
+<!-- End Footer -->
+
+</BODY>

Added: sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_out.html
==============================================================================
--- (empty file)
+++ sandbox/variadic_templates/libs/iostreams/doc/functions/indent_buf_out.html 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Function Template seek</TITLE>
+ <LINK REL="stylesheet" HREF="../../../../boost.css">
+ <LINK REL="stylesheet" HREF="../theme/iostreams.css">
+</HEAD>
+<BODY>
+
+<!-- Begin Banner -->
+
+ <H1 CLASS="title">Function Template <CODE>indent_buf_out</CODE></H1>
+ <HR CLASS="banner">
+
+<!-- End Banner -->
+
+<DL class="page-index">
+ <DT>Overview</DT>
+ <DT>Headers</DT>
+ <DT>Reference</DT>
+</DL>
+
+<A NAME="overview"></A>
+<H2>Overview</H2>
+
+<P>
+ An <A
+ HREF="http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/standlib/header_iomanip.htm">io
+ manipulator</A> which indents <B>outward</B> subsequent output lines written to
+ its <code>std::basic_ostream&lt;Ch&gt;&amp;</code> argument.
+</P>
+
+<A NAME="headers"></A>
+<H2>Headers</H2>
+
+<DL>
+ <DT><A CLASS="header" HREF="../../../../boost/iostreams/utility/indent_scoped_ostreambuf.hpp"><CODE>&lt;boost/iostreams/utility/indent_scoped_ostreambuf.hpp&gt;</CODE></A></DT>
+</DL>
+
+<A NAME="reference"></A>
+<H2>Reference</H2>
+
+<A NAME="description"></A>
+<H4>Description</H4>
+
+<P>
+ The function template <CODE>indent_buf_out</CODE> is used on an
+ std::basic_ostream&lt;Ch&gt;&amp; which maybe have been passed to
+ a
+ <A
+ HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;
+ constructor</A>.
+
+ If that's the case, then subsequent lines written to this
+ std::basic_ostreamlt;Ch&gt; will be indented <B>outward</B> by the amount
+ specified in the second argument to the
+ indent_scoped_ostreambuf&lt;Ch&gt; constructor.
+
+</P>
+
+<A NAME="synopsis"></A>
+<H4>Synopsis</H4>
+
+<PRE CLASS="broken_ie">
+<SPAN CLASS="keyword">template</SPAN>
+&lt; <SPAN CLASS="keyword">class</SPAN> Ch
+, <SPAN CLASS="keyword">class</SPAN> Tr
+&gt;
+indent_buf_out(std::basic_ostream&lt;Ch, Tr&gt;&amp; os)
+</PRE>
+
+<A NAME="template_params"></A>
+<H4>Template Parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+ <TR>
+ <TD VALIGN="top"><I>Ch</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The character type</TD>
+ </TR>
+ <TR>
+ <TD VALIGN="top"><I>Tr</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The traits type</TD>
+ </TR>
+</TABLE>
+
+<A NAME="function_params"></A>
+<H4>Function Parameters</H4>
+
+<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
+ <TR>
+ <TD VALIGN="top"><I>os</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
+ <TD>The <CODE>std::basic_ostream&lt;Ch, Tr&gt;</CODE> whose
+ subsequent output lines will be indented.</TD>
+ </TR>
+</TABLE>
+
+<A NAME="semantics"></A>
+<H4>Semantics</H4>
+
+<P>The semantics of <CODE>indent_buf_out</CODE> depends on whether or
+not its argument, <I>os</I>, has been passed to a
+<A
+HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;constructor</A>.
+
+If so, and that
+<CODE>indent_scoped_ostreambuf</CODE>'s destructor has not been
+called, then subsequent lines output to <I>os</I> will be indented
+<B>outward</B> by
+the amount passed as the 2nd parameter to the
+<A
+HREF="../classes/indent_scoped_ostreambuf.html">indent_scoped_ostreambuf&lt;Ch&gt;constructor</A>.
+
+</P>
+
+<!-- Begin Footer -->
+
+<HR>
+<P CLASS="copyright">Revised 02 Feb 2008</P>
+
+<P CLASS="copyright">&copy; Copyright 2008 CodeRage, LLC<br/>&copy; Copyright 2004-2007 Jonathan Turkanis</P>
+<P CLASS="copyright">
+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</P>
+
+<!-- End Footer -->
+
+</BODY>

Added: sandbox/variadic_templates/libs/iostreams/doc/quick_reference.html
==============================================================================
--- (empty file)
+++ sandbox/variadic_templates/libs/iostreams/doc/quick_reference.html 2010-07-08 13:32:59 EDT (Thu, 08 Jul 2010)
@@ -0,0 +1,433 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+<HEAD>
+ <TITLE>Iostreams Quick Reference</TITLE>
+ <LINK REL="stylesheet" HREF="../../../boost.css">
+ <LINK REL="stylesheet" HREF="theme/iostreams.css">
+</HEAD>
+<STYLE>
+ DT A { /*text-decoration:none*/ }
+ LI A { /*text-decoration:none;*/ font: 80% Verdana, Tahoma, Arial, Helvetica, sans-serif }
+</STYLE>
+<BODY>
+
+<!-- Begin Banner -->
+
+ <H1 CLASS="title">Quick Reference</H1>
+ <HR STYLE="margin-bottom:1em">
+
+<!-- End Banner -->
+
+<DL CLASS="page-index">
+ <DT>Core Components</DT>
+ <DT>Devices</DT>
+ <DT>Filters</DT>
+ <DT>Algorithms</DT>
+ <DT>Views</DT>
+</DL>
+
+<HR STYLE="margin-top:1em">
+
+<!-- -------------- Core Components -------------- -->
+
+<A NAME='core'></A>
+<H2>Core Components</H2>
+
+<P>These components form the interface between Boost.Iostreams and the standard iostreams library.</P>
+
+<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
+<TR>
+ <TH>Name</TH>
+ <TH>Header<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_1_ref' HREF="#note_1"><SUP>[1]</SUP></A></TH>
+ <TH>Description</TH>
+</TR>
+<TR>
+ <TD>stream</TD>
+ <TD>stream.hpp</TD>
+ <TD>
+ Stream template which performs i/o using an instance of its first template parameter, which must model the concept Device. Derives from <CODE>std::basic_istream</CODE>, <CODE>std::basic_ostream</CODE> or <CODE>std::basic_iostream</CODE> depending on whether its first template parameter models Source, Sink or both.
+ </TD>
+</TR>
+<TR>
+ <TD>stream_buffer</TD>
+ <TD>stream_buffer.hpp</TD>
+ <TD>
+ Stream buffer template which performs i/o using an instance of its first template parameter, which must model the concept Device.
+ </TD>
+</TR>
+<TR>
+ <TD>filtering_stream</TD>
+ <TD>filtering_stream.hpp</TD>
+ <TD>
+ Stream template which performs filtered i/o using a contained chain. Derives from <CODE>std::basic_istream</CODE>, <CODE>std::basic_ostream</CODE> or <CODE>std::basic_iostream</CODE> depending on its mode, which is specified as its first template parameter.
+ </TD>
+</TR>
+<TR>
+ <TD>filtering_streambuf</TD>
+ <TD>filtering_streambuf.hpp</TD>
+ <TD>
+ Stream buffer template which performs filtered i/o using a contained chain.
+ </TD>
+</TR>
+<TR>
+ <TD>chain</TD>
+ <TD>chain.hpp</TD>
+ <TD>
+ Sequence of zero or more Filters, followed by an optional Device, accessed with a stack-like interface. Used by filtering_stream and filtering_streambuf.
+ </TD>
+</TR>
+<TR>
+ <TD>code_converter</TD>
+ <TD>code_converter.hpp</TD>
+ <TD>
+ Device adapter which takes a narrow-character Device and produces a wide-character Device by introducing a layer of code conversion.
+ </TD>
+</TR>
+</TABLE>
+
+<!-- -------------- Devices -------------- -->
+
+<A NAME='devices'></A>
+<H2>Devices</H2>
+
+<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
+<TR>
+ <TH>Device</TH>
+ <TH>Header<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_2_ref' HREF="#note_2"><SUP>[2]</SUP></A></TH>
+ <TH>Description</TH>
+</TR>
+<TR>
+ <TD>
+ basic_array_source,<BR>
+ basic_array_sink,<BR>
+ basic_array
+ </TD>
+ <TD>array.hpp</TD>
+ <TD>
+ Accesses a in-memory character sequence.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ back_insert_device
+ </TD>
+ <TD>back_inserter.hpp</TD>
+ <TD>
+ Appends to an STL sequence.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_file_source,<BR>
+ basic_file_sink,<BR>
+ basic_file
+ </TD>
+ <TD>file.hpp</TD>
+ <TD>
+ Accesses the filesystem using a <CODE>std::basic_filebuf</CODE>.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_null_source
+ </TD>
+ <TD ROWSPAN=2>null.hpp</TD>
+ <TD>
+ Reads characters from an empty sequence.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_null_sink
+ </TD>
+ <TD>
+ Consumes and ignores characters.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ file_descriptor_source,<BR>
+ file_descriptor_sink,<BR>
+ file_descriptor
+ </TD>
+ <TD>file_descriptor.hpp</TD>
+ <TD>
+ Accesses the filesystem using an operating system file descriptor or file handle.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ mapped_file_source,<BR>
+ mapped_file_sink,<BR>
+ mapped_file
+ </TD>
+ <TD>mapped_file.hpp</TD>
+ <TD>
+ Accesses a memory-mapped file.
+ </TD>
+</TR>
+</TABLE>
+
+<!-- -------------- Filters -------------- -->
+
+<A NAME='filters'></A>
+<H2>Filters</H2>
+
+<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
+<TR>
+ <TH>Category</TH>
+ <TH>Filter</TH>
+ <TH>Header<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_3_ref' HREF="#note_3"><SUP>[3]</SUP></A></TH>
+ <TH>Description</TH>
+</TR>
+
+<!-- -------------- Compression -------------- -->
+
+<TR>
+ <TH ROWSPAN=3>Compression</TH>
+ <TD>
+ basic_bzip2_compressor,<BR>
+ basic_bzip2_decompressor
+ </TD>
+ <TD>bzip2.hpp</TD>
+ <TD>
+ Perform compression and decompression using the libbzip2 data compression library (<A CLASS='bib_ref' HREF="bibliography.html#seward">[Seward]</A>).
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_gzip_compressor,<BR>
+ basic_gzip_decompressor
+ </TD>
+ <TD>gzip.hpp</TD>
+ <TD>
+ Perform compression and decompression based on the the G<SPAN STYLE="font-size:80%">ZIP</SPAN> format (<A CLASS="bib_ref" HREF="bibliography.html#deutsch3">[Deutsch3]</A>).
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_zlib_compressor,<BR>
+ basic_zlib_decompressor
+ </TD>
+ <TD>zlib.hpp</TD>
+ <TD>
+ Perform compression and decompression using the zlib data compression library (<A CLASS='bib_ref' HREF="bibliography.html#gailly">[Gailly]</A>).
+ </TD>
+</TR>
+
+<!-- -------------- Text -------------- -->
+
+<TR>
+ <TH ROWSPAN=5>Text</TH>
+ <TD>
+ basic_counter
+ </TD>
+ <TD>counter.hpp</TD>
+ <TD>
+ Maintains a character and line count.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_regex_filter
+ </TD>
+ <TD>regex.hpp</TD>
+ <TD>
+ Performs text substitutions using regular expressions from the Boost Regular Expression Library.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_grep_filter
+ </TD>
+ <TD>grep.hpp</TD>
+ <TD>
+ Filters character sequences line by line using regular expressions from the Boost Regular Expression Library.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ indent_filter
+ </TD>
+ <TD ROWSPAN=2>indent.hpp</TD>
+ <TD>
+ Indenting and undenting output filter.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ newline_checker
+ </TD>
+ <TD ROWSPAN=2>newline.hpp</TD>
+ <TD>
+ Verifies that a character sequence conforms to a given line-ending convention.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ newline_filter
+ </TD>
+ <TD>
+ Converts between the line-ending conventions used by various operating systems.
+ </TD>
+</TR>
+
+<!-- -------------- Helpers -------------- -->
+
+<TR>
+ <TH ROWSPAN=4>Helpers</TH>
+ <TD>
+ basic_line_filter
+ </TD>
+ <TD>line.hpp</TD>
+ <TD>
+ Filters a character sequence one line at a time.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ basic_stdio_filter
+ </TD>
+ <TD>stdio.hpp</TD>
+ <TD>
+ Filters by reading from standard input and writing to standard output.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ aggregate_filter
+ </TD>
+ <TD>aggregate.hpp</TD>
+ <TD>
+ Filters an entire character sequence at once.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ symmetric_filter
+ </TD>
+ <TD>symmetric.hpp</TD>
+ <TD>
+ Filters using a model of SymmetricFilter.
+ </TD>
+</TR>
+</TABLE>
+
+<!-- -------------- Algorithms -------------- -->
+
+<A NAME='algorithms'></A>
+<H2>Algorithms</H2>
+
+<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
+<TR>
+ <TH>Algorithm</TH>
+ <TH>Header</TH>
+ <TH>Description</TH>
+</TR>
+<TR>
+ <TD>
+ copy
+ </TD>
+ <TD>boost/iostreams/copy.hpp</TD>
+ <TD>
+ <P>Reads characters from a Source and writes them to a Sink until the end of stream is reached; returns the number of characters written.</P>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- -------------- Views -------------- -->
+
+<A NAME='views'></A>
+<H2>Views</H2>
+
+<P>
+ Each view consists of one or more class templates together with an object generator. <I>See</I> Views.
+<P>
+
+<TABLE STYLE="margin-bottom:1em" BORDER="1" CELLPADDING="6" CELLSPACING="1">
+<TR>
+ <TH>Object Generator</TH>
+ <TH>View Template</TH>
+ <TH>Header<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_1_ref2' HREF="#note_1"><SUP>[1]</SUP></A></TH>
+ <TH>Description</TH>
+</TR>
+<TR>
+ <TD>combine</TD>
+ <TD>combination</TD>
+ <TD>combine.hpp</TD>
+ <TD>
+ Takes a pair of Filters or Devices and yields a filter or device which performs input using the first component and output using the second.
+ </TD>
+</TR>
+<TR>
+ <TD>compose</TD>
+ <TD>composite</TD>
+ <TD>compose.hpp</TD>
+ <TD>
+ Takes a Filter and either a second Filter or a Device and yields a Filter or Device whose output flows through the two components in order and whose input flows flows through the two components in reverse order.
+ </TD>
+</TR>
+<TR>
+ <TD>invert</TD>
+ <TD>inverse</TD>
+ <TD>invert.hpp</TD>
+ <TD>
+ Takes a Filter and yields a Filter that performs the same filtering algorithm but is an OutputFilter if the given component is an InputFilter, and an InputFilter otherwise.
+ </TD>
+</TR>
+<TR>
+ <TD>restrict<BR>slice</TD>
+ <TD>restriction</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>
+</TR>
+<TR>
+ <TD ROWSPAN='2'>tee</TD>
+ <TD>
+ tee_device
+ </TD>
+ <TD ROWSPAN='2'>tee.hpp</TD>
+ <TD>
+ Takes a pair of Sinks and yields a Sink which sends all incoming data to both of the given Sinks.
+ </TD>
+</TR>
+<TR>
+ <TD>
+ tee_filter
+ </TD>
+ <TD>
+ Takes a Filter and a Sink and yields a Filter which sends all outgoing data to the Sink in addition to passing it downsteam.
+ </TD>
+</TR>
+</TABLE>
+
+<!-- Begin Footnotes -->
+
+<H4>Notes</H4>
+
+<P>
+ <A CLASS="footnote_ref" NAME="note_1" HREF="#note_1_ref"><SUP>[1]</SUP></A>Pathnames should be interpreted relative to the directory <CODE>boost/iostreams</CODE>.
+</P>
+
+<P>
+ <A CLASS="footnote_ref" NAME="note_2" HREF="#note_2_ref"><SUP>[2]</SUP></A>Pathnames should be interpreted relative to the directory <CODE>boost/iostreams/device</CODE>.
+</P>
+
+<P>
+ <A CLASS="footnote_ref" NAME="note_3" HREF="#note_3_ref"><SUP>[3]</SUP></A>Pathnames should be interpreted relative to the directory <CODE>boost/iostreams/filter</CODE>.
+</P>
+
+<!-- End Footnotes -->
+
+<!-- Begin Footer -->
+
+<P STYLE="margin-top:2em" CLASS="copyright">Revised 02 Feb 2008</P>
+
+<P CLASS="copyright">&copy; Copyright 2008 CodeRage, LLC<br/>&copy; Copyright 2004-2007 Jonathan Turkanis<br/>Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+</P>
+
+<!-- End Footer -->
+
+</BODY>


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