blob: 1233fe8ccb0263928e9459c4f12ffd9134b3b798 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Filter Testing Functions</TITLE>
<LINK REL="stylesheet" HREF="../../../../boost.css">
<LINK REL="stylesheet" HREF="../theme/iostreams.css">
</HEAD>
<BODY>
<!-- Begin Banner -->
<H1 CLASS="title">Filter Testing Functions</H1>
<HR CLASS="banner">
<!-- End Banner -->
<DL class="page-index">
<DT><A href="#overview">Overview</A></DT>
<DT><A href="#headers">Headers</A></DT>
<DT><A href="#reference">Reference</A>
<DL>
<DT><A href="#test_input">Function template <CODE>test_input_filter</CODE></A></DT>
<DT><A href="#test_output">Function template <CODE>test_output_filter</CODE></A></DT>
<DT><A href="#test_pair">Function template <CODE>test_filter_pair</CODE></A></DT>
</DL>
</DT>
</DL>
<HR>
<A NAME="overview"></A>
<H2>Overview</H2>
<P>
The header <A CLASS="header" HREF="../../../../boost/iostreams/filter/test.hpp"><CODE>&lt;boost/iostreams/filter/test.hpp&gt;</CODE></A> provides several overloaded function templates for verifying that a filter works as expected when used in conjunction with non-<A HREF='../concepts/blocking.html'>Blocking</A> <A HREF='../concepts/source.html'>Sources</A> and <A HREF='../concepts/sink.html'>Sinks</A>.
</P>
<A NAME="headers"></A>
<H2>Headers</H2>
<DL class="page-index">
<DT><A CLASS="header" HREF="../../../../boost/iostreams/filter/test.hpp"><CODE>&lt;boost/iostreams/filter/test.hpp&gt;</CODE></A></DT>
</DL>
<A NAME="reference"></A>
<H2>Reference</H2>
<A NAME="test_input"></A>
<H3>Function template <CODE>test_input_filter</CODE></H3>
<H4>Description</H4>
<P>Verifies that the given <A HREF='../concepts/input_filter.html'>InputFilter</A> yields the given output when passed the given input.</P>
<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> InputFilter&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_input_filter( InputFilter filter,
<SPAN CLASS='keyword'>const</SPAN> std::string& input,
<SPAN CLASS='keyword'>const</SPAN> std::string& output );
<SPAN CLASS='keyword'>template</SPAN>&lt;<SPAN CLASS='keyword'>typename</SPAN> InputFilter, <SPAN CLASS='keyword'>typename</SPAN> Source1, <SPAN CLASS='keyword'>typename</SPAN> Source2&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_input_filter( InputFilter filter,
<SPAN CLASS='keyword'>const</SPAN> Source1& input,
<SPAN CLASS='keyword'>const</SPAN> Source2& output );
} } <SPAN CLASS='comment'>// End namespace boost::io</SPAN></PRE>
<A NAME="test_output"></A>
<H3>Function template <CODE>test_output_filter</CODE></H3>
<H4>Description</H4>
<P>Verifies that the given <A HREF='../concepts/output_filter.html'>OutputFilter</A> yields the given output when passed the given input.</P>
<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> OutputFilter&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_output_filter( OutputFilter filter,
<SPAN CLASS='keyword'>const</SPAN> std::string& input,
<SPAN CLASS='keyword'>const</SPAN> std::string& output );
<SPAN CLASS='keyword'>template</SPAN>&lt;<SPAN CLASS='keyword'>typename</SPAN> OutputFilter, <SPAN CLASS='keyword'>typename</SPAN> Source1, <SPAN CLASS='keyword'>typename</SPAN> Source2&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_output_filter( OutputFilter filter,
<SPAN CLASS='keyword'>const</SPAN> Source1& input,
<SPAN CLASS='keyword'>const</SPAN> Source2& output );
} } <SPAN CLASS='comment'>// End namespace boost::io</SPAN></PRE>
<A NAME="test_pair"></A>
<H3>Function template <CODE>test_filter_pair</CODE></H3>
<H4>Description</H4>
<P>Verifies that the given data is preserved when it is passed first through a given <A HREF='../concepts/output_filter.html'>OutputFilter</A> and then through a given <A HREF='../concepts/input_filter.html'>InputFilter</A>.</P>
<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> OutputFilter, <SPAN CLASS='keyword'>typename</SPAN> InputFilter&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_filter_pair( OutputFilter first,
InputFilter second,
<SPAN CLASS='keyword'>const</SPAN> std::string& data );
<SPAN CLASS='keyword'>template</SPAN>&lt;<SPAN CLASS='keyword'>typename</SPAN> OutputFilter, <SPAN CLASS='keyword'>typename</SPAN> InputFilter, <SPAN CLASS='keyword'>typename</SPAN> Source&gt;
<SPAN CLASS='keyword'>bool</SPAN> test_filter_pair( OutputFilter first,
InputFilter second,
<SPAN CLASS='keyword'>const</SPAN> Source& data );
} } <SPAN CLASS='comment'>// End namespace boost::io</SPAN></PRE>
<!-- Begin Footer -->
<HR>
<P CLASS="copyright">Revised 02 Feb 2008</P>
<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>