Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / iostreams / doc / functions / invert.html
index 34a7eee..a2a5af5 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-    <TITLE>Class Template chain</TITLE>
-    <LINK REL="stylesheet" HREF="../../../../boost.css">
-    <LINK REL="stylesheet" HREF="../theme/iostreams.css">
-</HEAD>
-<BODY>
-
-<!-- Begin Banner -->
-
-    <H1 CLASS="title">Function Template <CODE>invert</CODE></H1>
-    <HR CLASS="banner">
-
-<!-- End Banner -->
-
-<DL class="page-index">
-  <DT><A href="#description">Description</A></DT>
-  <DT><A href="#headers">Headers</A></DT>
-  <DT><A href="#reference">Reference</A></DT>
-</DL>
-
-<HR>
-
-<A NAME="description"></A>
-<H2>Description</H2>
-
-<P>
-    The class template <CODE>inverse</CODE> is an adapter which transforms an <A HREF='../concepts/input_filter.html'>InputFilter</A> into an <A HREF='../concepts/output_filter.html'>OutputFilter</A> or <I>vice versa</I>. The function template <CODE>invert</CODE> is an <A HREF='http://www.boost.org/more/generic_programming.html#object_generator' TARGET='_top'>object generator</A> which when passed a Filter returns a instance of an appropriate specialization of <CODE>inverse</CODE>.
-</P>
-
-<P>Given an <A HREF='../concepts/input_filter.html'>InputFilter</A> <CODE>f</CODE>, the inverse of <CODE>f</CODE> is <A HREF='../concepts/multi_character.html'>Multi-Character</A> <A HREF='../concepts/output_filter.html'>OutputFilter</A> whose member function <CODE>write</CODE> is implemented as follows. Given a <A HREF='../concepts/sink.html'>Sink</A> <CODE>snk</CODE> and a character buffer <CODE>s</CODE> of length <CODE>n</CODE>, we
-</P>
-<UL>
-    <LI>construct a <A HREF='../concepts/source.html'>Source</A> based on the buffer <CODE>s</CODE> and <A HREF='compose.html'><CODE>compose</CODE></A> it with <CODE>f</CODE> to form a Source, then
-    <LI>repeatedly read sequences of characters from the composite Source and write them to <CODE>snk</CODE> until the buffer <CODE>s</CODE> is exhausted.
-</UL>
-
-<P>Similarly, given an <A HREF='../concepts/output_filter.html'>OutputFilter</A> <CODE>f</CODE>, the inverse of <CODE>f</CODE> is <A HREF='../concepts/multi_character.html'>Multi-Character</A> <A HREF='../concepts/input_filter.html'>InputFilter</A> whose member function <CODE>read</CODE> is implemented as follows. Given a <A HREF='../concepts/source.html'>Source</A> <CODE>src</CODE> and a character buffer <CODE>s</CODE> of length <CODE>n</CODE>, we
-</P>
-<UL>
-    <LI>construct a <A HREF='../concepts/sink.html'>Sink</A> based on the buffer <CODE>s</CODE> and <A HREF='compose.html'><CODE>compose</CODE></A> it with <CODE>f</CODE> to form a Sink, then
-    <LI>repeatedly read sequences of characters from <CODE>src</CODE> and write them to the composite Sink until the buffer <CODE>s</CODE> is full.
-</UL>
-
-<P>
-    The <A HREF='../guide/modes.html'>mode</A> of a specialization of <CODE>inverse</CODE> is equal to <A HREF='../guide/modes.html#output'>output</A> if the mode of the underlying filter refines input, and to <A HREF='../guide/modes.html#input'>input</A> otherwise.
-</P>
-
-<A NAME="headers"></A>
-<H2>Headers</H2>
-
-<DL class="page-index">
-  <DT><A CLASS="header" HREF="../../../../boost/iostreams/invert.hpp"><CODE>&lt;boost/iostreams/invert.hpp&gt;</CODE></A></DT>
-</DL>
-
-<A NAME="reference"></A>
-<H2>Reference</H2>
-
-<A NAME="synopsis"></A>
-<H4>Synopsis</H4>
-
-<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="#inverse_template_params">Filter</A>&gt;
-<SPAN CLASS='keyword'>class</SPAN> <A CLASS='documented' HREF='#inverse'>inverse</A> {
-<SPAN CLASS='keyword'>public:</SPAN>
-    <SPAN CLASS='keyword'>typedef</SPAN> <SPAN CLASS='keyword'>typename</SPAN> <A CLASS='documented' HREF='../guide/traits.html#char_type_of_ref'>char_type_of</A>&lt;Filter&gt;::type  char_type;
-    <SPAN CLASS='keyword'>typedef</SPAN> <SPAN CLASS='omitted'>see above</SPAN>                            mode;
-
-    <A CLASS='documented' HREF='#inverse_ctor'>inverse</A>(<SPAN CLASS='keyword'>const</SPAN> Filter&amp; filter);
-
-    <SPAN CLASS='comment'>// Filter member functions</SPAN>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <meta content="text/html; charset=windows-1252" http-equiv="content-type">
+    <title>Class Template chain</title>
+    <link rel="stylesheet" href="../../../../boost.css">
+    <link rel="stylesheet" href="../theme/iostreams.css">
+  </head>
+  <body>
+    <!-- Begin Banner -->
+    <h1 class="title">Function Template <code>invert</code></h1>
+    <hr class="banner">
+    <!-- End Banner -->
+    <dl class="page-index">
+      <dt><a href="#description">Description</a></dt>
+      <dt><a href="#headers">Headers</a></dt>
+      <dt><a href="#reference">Reference</a></dt>
+    </dl>
+    <hr>
+    <a name="description"></a>
+    <h2>Description</h2>
+    <p> The class template <code>inverse</code> is an adapter which transforms
+      an <a href="../concepts/input_filter.html">InputFilter</a> into an <a href="../concepts/output_filter.html">OutputFilter</a>
+      or <i>vice versa</i>. The function template <code>invert</code> is an <a
+        href="http://www.boost.org/more/generic_programming.html#object_generator"
+        target="_top">object generator</a> which when passed a Filter returns a
+      instance of an appropriate specialization of <code>inverse</code>.
+    </p>
+    <p>Given an <a href="../concepts/input_filter.html">InputFilter</a> <code>f</code>,
+      the inverse of <code>f</code> is <a href="../concepts/multi_character.html">Multi-Character</a>
+      <a href="../concepts/output_filter.html">OutputFilter</a> whose member
+      function <code>write</code> is implemented as follows. Given a <a href="../concepts/sink.html">Sink</a>
+      <code>snk</code> and a character type buffer <code>s</code> of length <code>n</code>,
+      we
+    </p>
+    <ul>
+      <li>construct a <a href="../concepts/source.html">Source</a> based on the
+        buffer <code>s</code> and <a href="compose.html"><code>compose</code></a>
+        it with <code>f</code> to form a Source, then </li>
+      <li>repeatedly read sequences of character types from the composite Source
+        and write them to <code>snk</code> until the buffer <code>s</code> is
+        exhausted.
+      </li>
+    </ul>
+    <p>Similarly, given an <a href="../concepts/output_filter.html">OutputFilter</a>
+      <code>f</code>, the inverse of <code>f</code> is <a href="../concepts/multi_character.html">Multi-Character</a>
+      <a href="../concepts/input_filter.html">InputFilter</a> whose member
+      function <code>read</code> is implemented as follows. Given a <a href="../concepts/source.html">Source</a>
+      <code>src</code> and a character type buffer <code>s</code> of length <code>n</code>,
+      we
+    </p>
+    <ul>
+      <li>construct a <a href="../concepts/sink.html">Sink</a> based on the
+        buffer <code>s</code> and <a href="compose.html"><code>compose</code></a>
+        it with <code>f</code> to form a Sink, then </li>
+      <li>repeatedly read sequences of character types from <code>src</code>
+        and write them to the composite Sink until the buffer <code>s</code> is
+        full.
+      </li>
+    </ul>
+    <p> The <a href="../guide/modes.html">mode</a> of a specialization of <code>inverse</code>
+      is equal to <a href="../guide/modes.html#output">output</a> if the mode
+      of the underlying filter refines input, and to <a href="../guide/modes.html#input">input</a>
+      otherwise.
+    </p>
+    <a name="headers"></a>
+    <h2>Headers</h2>
+    <dl class="page-index">
+      <dt><a class="header" href="../../../../boost/iostreams/invert.hpp"><code>&lt;boost/iostreams/invert.hpp&gt;</code></a></dt>
+    </dl>
+    <a name="reference"></a>
+    <h2>Reference</h2>
+    <a name="synopsis"></a>
+    <h4>Synopsis</h4>
+    <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="#inverse_template_params">Filter</a>&gt;
+<span class="keyword">class</span> <a class="documented" href="#inverse">inverse</a> {
+<span class="keyword">public:</span>
+    <span class="keyword">typedef</span> <span class="keyword">typename</span> <a
+class="documented" href="../guide/traits.html#char_type_of_ref">char_type_of</a>&lt;Filter&gt;::type  char_type;
+    <span class="keyword">typedef</span> <span class="omitted">see above</span>                            mode;
+
+    <a class="documented" href="#inverse_ctor">inverse</a>(<span class="keyword">const</span> Filter&amp; filter);
+
+    <span class="comment">// Filter member functions</span>
 };
 
-<SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> <A CLASS="documented" HREF="#invert_template_params">Filter</A>&gt;
-<A CLASS='documented' HREF='#inverse'>inverse</A>&lt;Filter&gt; <A CLASS='documented' HREF='#invert'>invert</A>(<SPAN CLASS='keyword'>const</SPAN> Filter&amp; filter);
-
-} } // End namespace boost::io</PRE>
-
-<A NAME="inverse"></A>
-<H2>Class Template <CODE>inverse</CODE></H2>
-
-<A NAME="inverse_template_params"></A>
-<H4>Template parameters</H4>
-
-<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
-<TR>
-    <TR>
-        <TD VALIGN="top"><I>Filter</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
-        <TD>A model of <A HREF='../concepts/filter.html'>Filter</A></TD>
-    </TR>
-</TABLE>
-
-<A NAME="inverse_ctor"></A>
-<H4><CODE>inverse::inverse</CODE></H4>
-
-<PRE CLASS="broken_ie">    inverse(<SPAN CLASS='keyword'>const</SPAN> Filter&amp; filter);</PRE>
-
-<P>
-    Constructs an instance of <CODE>inverse</CODE> based on the given filter.
-</P>
-
-<A NAME="invert"></A>
-<H2>Function Template <CODE>invert</CODE></H2>
-
-<PRE CLASS="broken_ie"><SPAN CLASS="keyword">template</SPAN>&lt;<SPAN CLASS="keyword">typename</SPAN> Filter&gt;
-inverse&lt;Filter&gt; invert(<SPAN CLASS='keyword'>const</SPAN> Filter&amp; filter);</PRE>
-
-<A NAME="invert_template_params"></A>
-<H4>Template parameters</H4>
-
-<TABLE STYLE="margin-left:2em" BORDER=0 CELLPADDING=2>
-<TR>
-    <TR>
-        <TD VALIGN="top"><I>Filter</I></TD><TD WIDTH="2em" VALIGN="top">-</TD>
-        <TD>A model of <A HREF='../concepts/filter.html'>Filter</A></TD>
-    </TR>
-</TABLE>
-
-<P>
-    Constructs an instance of an appropriate specialization of <CODE>inverse</CODE> based on the given filter.
-</P>
-
-<!-- Begin Footer -->
-
-<HR>
-
-<P CLASS="copyright">&copy; Copyright 2008 <a href="http://www.coderage.com/" target="_top">CodeRage, LLC</a><br/>&copy; Copyright 2004-2007 <a href="http://www.coderage.com/turkanis/" target="_top">Jonathan Turkanis</a></P>
-<P CLASS="copyright"> 
-    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <A HREF="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</A>)
-</P>
-
-<!-- End Footer -->
-
-</BODY>
+<span class="keyword">template</span>&lt;<span class="keyword">typename</span> <a
+class="documented" href="#invert_template_params">Filter</a>&gt;
+<a class="documented" href="#inverse">inverse</a>&lt;Filter&gt; <a class="documented"
+href="#invert">invert</a>(<span class="keyword">const</span> Filter&amp; filter);
+
+} } // End namespace boost::io</pre>
+    <a name="inverse"></a>
+    <h2>Class Template <code>inverse</code></h2>
+    <a name="inverse_template_params"></a>
+    <h4>Template parameters</h4>
+    <table style="margin-left:2em" border="0" cellpadding="2">
+      <tbody>
+        <tr>
+        </tr>
+        <tr>
+          <td valign="top"><i>Filter</i></td>
+          <td valign="top" width="2em">-</td>
+          <td>A model of <a href="../concepts/filter.html">Filter</a></td>
+        </tr>
+      </tbody>
+    </table>
+    <a name="inverse_ctor"></a>
+    <h4><code>inverse::inverse</code></h4>
+    <pre class="broken_ie">    inverse(<span class="keyword">const</span> Filter&amp; filter);</pre>
+    <p> Constructs an instance of <code>inverse</code> based on the given
+      filter.
+    </p>
+    <a name="invert"></a>
+    <h2>Function Template <code>invert</code></h2>
+    <pre class="broken_ie"><span class="keyword">template</span>&lt;<span class="keyword">typename</span> Filter&gt;
+inverse&lt;Filter&gt; invert(<span class="keyword">const</span> Filter&amp; filter);</pre>
+    <a name="invert_template_params"></a>
+    <h4>Template parameters</h4>
+    <table style="margin-left:2em" border="0" cellpadding="2">
+      <tbody>
+        <tr>
+        </tr>
+        <tr>
+          <td valign="top"><i>Filter</i></td>
+          <td valign="top" width="2em">-</td>
+          <td>A model of <a href="../concepts/filter.html">Filter</a></td>
+        </tr>
+      </tbody>
+    </table>
+    <p> Constructs an instance of an appropriate specialization of <code>inverse</code>
+      based on the given filter.
+    </p>
+    <!-- Begin Footer -->
+    <hr>
+    <p class="copyright">© Copyright 2008 <a href="http://www.coderage.com/" target="_top">CodeRage,
+        LLC</a><br>
+      © Copyright 2004-2007 <a href="http://www.coderage.com/turkanis/" target="_top">Jonathan
+        Turkanis</a></p>
+    <p class="copyright"> Distributed under the Boost Software License, Version
+      1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)
+    </p>
+    <!-- End Footer -->
+  </body>
+</html>