1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
4 <TITLE>Iostreams Quick Reference
</TITLE>
5 <LINK REL=
"stylesheet" HREF=
"../../../boost.css">
6 <LINK REL=
"stylesheet" HREF=
"theme/iostreams.css">
8 DT A { /*text-decoration:none*/ }
9 LI A { /*text-decoration:none;*/ font:
80% Verdana, Tahoma, Arial, Helvetica, sans-serif }
16 <H1 CLASS=
"title">Quick Reference
</H1>
17 <HR STYLE=
"margin-bottom:1em">
21 <DL CLASS=
"page-index">
22 <DT><A href=
"#core">Core Components
</A></DT>
23 <DT><A href=
"#devices">Devices
</A></DT>
24 <DT><A href=
"#filters">Filters
</A></DT>
25 <DT><A href=
"#algorithms">Algorithms
</A></DT>
26 <DT><A href=
"#views">Views
</A></DT>
29 <HR STYLE=
"margin-top:1em">
31 <!-- -------------- Core Components -------------- -->
34 <H2>Core Components
</H2>
36 <P>These components form the interface between Boost.Iostreams and the standard iostreams library.
</P>
38 <TABLE STYLE=
"margin-bottom:1em" BORDER=
"1" CELLPADDING=
"6" CELLSPACING=
"1">
41 <TH>Header
<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_1_ref'
HREF=
"#note_1"><SUP>[
1]
</SUP></A></TH>
45 <TD><A HREF=
"guide/generic_streams.html#stream"><CODE>stream
</CODE></A></TD>
46 <TD><A HREF=
"../../../boost/iostreams/stream.hpp"><CODE>stream.hpp
</CODE></A></TD>
48 Stream template which performs i/o using an instance of its first template parameter, which must model the concept
<A HREF=
"concepts/device.html">Device
</A>. 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
<A HREF=
"concepts/source.html">Source
</A>,
<A HREF=
"concepts/sink.html">Sink
</A> or both.
52 <TD><A HREF=
"guide/generic_streams.html#stream_buffer"><CODE>stream_buffer
</CODE></A></TD>
53 <TD><A HREF=
"../../../boost/iostreams/stream_buffer.hpp"><CODE>stream_buffer.hpp
</CODE></A></TD>
55 Stream buffer template which performs i/o using an instance of its first template parameter, which must model the concept
<A HREF=
"concepts/device.html">Device
</A>.
59 <TD><A HREF=
"classes/filtering_stream.html"><CODE>filtering_stream
</CODE></A></TD>
60 <TD><A HREF=
"../../../boost/iostreams/filtering_stream.hpp"><CODE>filtering_stream.hpp
</CODE></A></TD>
62 Stream template which performs filtered i/o using a contained
<A HREF=
"classes/chain.html"><CODE>chain
</CODE></A>. Derives from
<CODE>std::basic_istream
</CODE>,
<CODE>std::basic_ostream
</CODE> or
<CODE>std::basic_iostream
</CODE> depending on its
<A HREF=
"guide/modes.html">mode
</A>, which is specified as its first template parameter.
66 <TD><A HREF=
"classes/filtering_streambuf.html"><CODE>filtering_streambuf
</CODE></A></TD>
67 <TD><A HREF=
"../../../boost/iostreams/filtering_streambuf.hpp"><CODE>filtering_streambuf.hpp
</CODE></A></TD>
69 Stream buffer template which performs filtered i/o using a contained
<A HREF=
"classes/chain.html"><CODE>chain
</CODE></A>.
73 <TD><A HREF=
"classes/chain.html"><CODE>chain
</CODE></A></TD>
74 <TD><A HREF=
"../../../boost/iostreams/chain.hpp"><CODE>chain.hpp
</CODE></A></TD>
76 Sequence of zero or more
<A HREF=
"concepts/filter.html">Filters
</A>, followed by an optional
<A HREF=
"concepts/device.html">Device
</A>, accessed with a stack-like interface. Used by
<A HREF=
"classes/filtering_stream.html"><CODE>filtering_stream
</CODE></A> and
<A HREF=
"classes/filtering_streambuf.html"><CODE>filtering_streambuf
</CODE></A>.
80 <TD><A HREF=
"classes/code_converter.html"><CODE>code_converter
</CODE></A></TD>
81 <TD><A HREF=
"../../../boost/iostreams/code_converter.hpp"><CODE>code_converter.hpp
</CODE></A></TD>
83 Device adapter which takes a narrow-character
<A HREF=
"concepts/device.html">Device
</A> and produces a wide-character
<A HREF=
"concepts/device.html">Device
</A> by introducing a layer of
<A HREF=
"guide/code_conversion.html">code conversion
</A>.
88 <!-- -------------- Devices -------------- -->
90 <A NAME='devices'
></A>
93 <TABLE STYLE=
"margin-bottom:1em" BORDER=
"1" CELLPADDING=
"6" CELLSPACING=
"1">
96 <TH>Header
<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_2_ref'
HREF=
"#note_2"><SUP>[
2]
</SUP></A></TH>
101 <A HREF=
"classes/array.html#array_source"><CODE>basic_array_source
</CODE></A>,
<BR>
102 <A HREF=
"classes/array.html#array_sink"><CODE>basic_array_sink
</CODE></A>,
<BR>
103 <A HREF=
"classes/array.html#array"><CODE>basic_array
</CODE></A>
105 <TD><A HREF=
"../../../boost/iostreams/device/array.hpp"><CODE>array.hpp
</CODE></A></TD>
107 Accesses a in-memory character sequence.
112 <A HREF=
"classes/back_inserter.html#synopsis"><CODE>back_insert_device
</CODE></A>
114 <TD><A HREF=
"../../../boost/iostreams/device/back_inserter.hpp"><CODE>back_inserter.hpp
</CODE></A></TD>
116 Appends to an STL sequence.
121 <A HREF=
"classes/file.html#file_source"><CODE>basic_file_source
</CODE></A>,
<BR>
122 <A HREF=
"classes/file.html#file_sink"><CODE>basic_file_sink
</CODE></A>,
<BR>
123 <A HREF=
"classes/file.html#file"><CODE>basic_file
</CODE></A>
125 <TD><A HREF=
"../../../boost/iostreams/device/file.hpp"><CODE>file.hpp
</CODE></A></TD>
127 Accesses the filesystem using a
<CODE>std::basic_filebuf
</CODE>.
132 <A HREF=
"classes/null.html#null_source"><CODE>basic_null_source
</CODE></A>
134 <TD ROWSPAN=
2><A HREF=
"../../../boost/iostreams/device/null.hpp"><CODE>null.hpp
</CODE></A></TD>
136 Reads characters from an empty sequence.
141 <A HREF=
"classes/null.html#null_sink"><CODE>basic_null_sink
</CODE></A>
144 Consumes and ignores characters.
149 <A HREF=
"classes/file_descriptor.html#file_descriptor_source"><CODE>file_descriptor_source
</CODE></A>,
<BR>
150 <A HREF=
"classes/file_descriptor.html#file_descriptor_sink"><CODE>file_descriptor_sink
</CODE></A>,
<BR>
151 <A HREF=
"classes/file_descriptor.html#file_descriptor"><CODE>file_descriptor
</CODE></A>
153 <TD><A HREF=
"../../../boost/iostreams/device/file_descriptor.hpp"><CODE>file_descriptor.hpp
</CODE></A></TD>
155 Accesses the filesystem using an operating system file descriptor or file handle.
160 <A HREF=
"classes/mapped_file.html#mapped_file_source"><CODE>mapped_file_source
</CODE></A>,
<BR>
161 <A HREF=
"classes/mapped_file.html#mapped_file_sink"><CODE>mapped_file_sink
</CODE></A>,
<BR>
162 <A HREF=
"classes/mapped_file.html#mapped_file"><CODE>mapped_file
</CODE></A>
164 <TD><A HREF=
"../../../boost/iostreams/device/mapped_file.hpp"><CODE>mapped_file.hpp
</CODE></A></TD>
166 Accesses a memory-mapped file.
171 <!-- -------------- Filters -------------- -->
173 <A NAME='filters'
></A>
176 <TABLE STYLE=
"margin-bottom:1em" BORDER=
"1" CELLPADDING=
"6" CELLSPACING=
"1">
180 <TH>Header
<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_3_ref'
HREF=
"#note_3"><SUP>[
3]
</SUP></A></TH>
184 <!-- -------------- Compression -------------- -->
187 <TH ROWSPAN=
3>Compression
</TH>
189 <A HREF=
"classes/bzip2.html#basic_bzip2_compressor"><CODE>basic_bzip2_compressor
</CODE></A>,
<BR>
190 <A HREF=
"classes/bzip2.html#basic_bzip2_decompressor"><CODE>basic_bzip2_decompressor
</CODE></A>
192 <TD><A HREF=
"../../../boost/iostreams/filter/bzip2.hpp"><CODE>bzip2.hpp
</CODE></A></TD>
194 Perform compression and decompression using the libbzip2 data compression library (
<A CLASS='bib_ref'
HREF=
"bibliography.html#seward">[Seward]
</A>).
199 <A HREF=
"classes/gzip.html#basic_gzip_compressor"><CODE>basic_gzip_compressor
</CODE></A>,
<BR>
200 <A HREF=
"classes/gzip.html#basic_gzip_decompressor"><CODE>basic_gzip_decompressor
</CODE></A>
202 <TD><A HREF=
"../../../boost/iostreams/filter/gzip.hpp"><CODE>gzip.hpp
</CODE></A></TD>
204 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>).
209 <A HREF=
"classes/zlib.html#basic_zlib_compressor"><CODE>basic_zlib_compressor
</CODE></A>,
<BR>
210 <A HREF=
"classes/zlib.html#basic_zlib_decompressor"><CODE>basic_zlib_decompressor
</CODE></A>
212 <TD><A HREF=
"../../../boost/iostreams/filter/zlib.hpp"><CODE>zlib.hpp
</CODE></A></TD>
214 Perform compression and decompression using the zlib data compression library (
<A CLASS='bib_ref'
HREF=
"bibliography.html#gailly">[Gailly]
</A>).
218 <!-- -------------- Text -------------- -->
221 <TH ROWSPAN=
5>Text
</TH>
223 <A HREF=
"classes/counter.html"><CODE>basic_counter
</CODE></A>
225 <TD><A HREF=
"../../../boost/iostreams/filter/counter.hpp"><CODE>counter.hpp
</CODE></A></TD>
227 Maintains a character and line count.
232 <A HREF=
"classes/regex_filter.html"><CODE>basic_regex_filter
</CODE></A>
234 <TD><A HREF=
"../../../boost/iostreams/filter/regex.hpp"><CODE>regex.hpp
</CODE></A></TD>
236 Performs text substitutions using regular expressions from the
<A HREF=
"http://www.boost.org/libs/regex" TARGET=
"_top">Boost Regular Expression Library
</A>.
241 <A HREF=
"classes/grep_filter.html"><CODE>basic_grep_filter
</CODE></A>
243 <TD><A HREF=
"../../../boost/iostreams/filter/grep.hpp"><CODE>grep.hpp
</CODE></A></TD>
245 Filters character sequences line by line using regular expressions from the
<A HREF=
"http://www.boost.org/libs/regex" TARGET=
"_top">Boost Regular Expression Library
</A>.
250 <A HREF=
"classes/newline_filter.html#newline_checker"><CODE>newline_checker
</CODE></A>
252 <TD ROWSPAN=
2><A HREF=
"../../../boost/iostreams/filter/newline.hpp"><CODE>newline.hpp
</CODE></A></TD>
254 Verifies that a character sequence conforms to a given line-ending convention.
259 <A HREF=
"classes/newline_filter.html#newline_filter"><CODE>newline_filter
</CODE></A>
262 Converts between the line-ending conventions used by various operating systems.
266 <!-- -------------- Helpers -------------- -->
269 <TH ROWSPAN=
4>Helpers
</TH>
271 <A HREF=
"classes/line_filter.html"><CODE>basic_line_filter
</CODE></A>
273 <TD><A HREF=
"../../../boost/iostreams/filter/line.hpp"><CODE>line.hpp
</CODE></A></TD>
275 Filters a character sequence one line at a time.
280 <A HREF=
"classes/stdio_filter.html"><CODE>basic_stdio_filter
</CODE></A>
282 <TD><A HREF=
"../../../boost/iostreams/filter/stdio.hpp"><CODE>stdio.hpp
</CODE></A></TD>
284 Filters by reading from standard input and writing to standard output.
289 <A HREF=
"classes/aggregate.html"><CODE>aggregate_filter
</CODE></A>
291 <TD><A HREF=
"../../../boost/iostreams/filter/aggregate.hpp"><CODE>aggregate.hpp
</CODE></A></TD>
293 Filters an entire character sequence at once.
298 <A HREF=
"classes/symmetric_filter.html"><CODE>symmetric_filter
</CODE></A>
300 <TD><A HREF=
"../../../boost/iostreams/filter/symmetric.hpp"><CODE>symmetric.hpp
</CODE></A></TD>
302 Filters using a model of
<A HREF=
"concepts/symmetric_filter.html">SymmetricFilter
</A>.
307 <!-- -------------- Algorithms -------------- -->
309 <A NAME='algorithms'
></A>
312 <TABLE STYLE=
"margin-bottom:1em" BORDER=
"1" CELLPADDING=
"6" CELLSPACING=
"1">
320 <A HREF=
"functions/copy.html"><CODE>copy
</CODE></A>
322 <TD><A HREF=
"../../../boost/iostreams/copy.hpp"><CODE>boost/iostreams/copy.hpp
</CODE></A></TD>
324 <P>Reads characters from a
<A HREF=
"concepts/source.html">Source
</A> and writes them to a
<A HREF=
"concepts/sink.html">Sink
</A> until the end of stream is reached; returns the number of characters written.
</P>
329 <!-- -------------- Views -------------- -->
335 Each view consists of one or more class templates together with an
<A HREF=
"http://www.boost.org/more/generic_programming.html#object_generator" TARGET=
"_top">object generator
</A>.
<I>See
</I> <A HREF=
"guide/views.html">Views
</A>.
338 <TABLE STYLE=
"margin-bottom:1em" BORDER=
"1" CELLPADDING=
"6" CELLSPACING=
"1">
340 <TH>Object Generator
</TH>
341 <TH>View Template
</TH>
342 <TH>Header
<A STYLE='font-weight:normal' CLASS='footnote_ref' NAME='note_1_ref2'
HREF=
"#note_1"><SUP>[
1]
</SUP></A></TH>
346 <TD><A HREF=
"functions/combine.html"><CODE>combine
</CODE></A></TD>
347 <TD><A HREF=
"functions/combine.html#synopsis"><CODE>combination
</CODE></A></TD>
348 <TD><A HREF=
"../../../boost/iostreams/combine.hpp"><CODE>combine.hpp
</CODE></A></TD>
350 Takes a pair of
<A HREF=
"concepts/filter.html">Filters
</A> or
<A HREF=
"concepts/device.html">Devices
</A> and yields a filter or device which performs input using the first component and output using the second.
354 <TD><A HREF=
"functions/compose.html"><CODE>compose
</CODE></A></TD>
355 <TD><A HREF=
"functions/compose.html#composite"><CODE>composite
</CODE></A></TD>
356 <TD><A HREF=
"../../../boost/iostreams/compose.hpp"><CODE>compose.hpp
</CODE></A></TD>
358 Takes a
<A HREF=
"concepts/filter.html">Filter
</A> and either a second
<A HREF=
"concepts/filter.html">Filter
</A> or a
<A HREF=
"concepts/device.html">Device
</A> 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.
362 <TD><A HREF=
"functions/invert.html"><CODE>invert
</CODE></A></TD>
363 <TD><A HREF=
"functions/invert.html#inverse"><CODE>inverse
</CODE></A></TD>
364 <TD><A HREF=
"../../../boost/iostreams/invert.hpp"><CODE>invert.hpp
</CODE></A></TD>
366 Takes a
<A HREF=
"concepts/filter.html">Filter
</A> and yields a Filter that performs the same filtering algorithm but is an
<A HREF=
"concepts/output_filter.html">OutputFilter
</A> if the given component is an
<A HREF=
"concepts/input_filter.html">InputFilter
</A>, and an
<A HREF=
"concepts/input_filter.html">InputFilter
</A> otherwise.
370 <TD><A HREF=
"functions/restrict.html"><CODE>restrict
</CODE></A><BR><A HREF=
"functions/slice.html"><CODE>slice
</CODE></A></TD>
371 <TD><A HREF=
"functions/restrict.html#restriction"><CODE>restriction
</CODE></A></TD>
372 <TD><A HREF=
"../../../boost/iostreams/restrict.hpp"><CODE>restrict.hpp
</CODE></A><BR><A HREF=
"../../../boost/iostreams/slice.hpp"><CODE>slice.hpp
</CODE></A></TD>
374 Takes a
<A HREF=
"concepts/filter.html">Filter
</A> or
<A HREF=
"concepts/device.html">Device
</A> together with a stream offset and an optional length and yields a
<A HREF=
"concepts/filter.html">Filter
</A> or
<A HREF=
"concepts/device.html">Device
</A> for accessing the specifed subquence of the given component
378 <TD ROWSPAN='
2'
><A HREF=
"functions/tee.html"><CODE>tee
</CODE></A></TD>
380 <A HREF=
"functions/tee.html#tee_device"><CODE>tee_device
</CODE></A>
382 <TD ROWSPAN='
2'
><A HREF=
"../../../boost/iostreams/tee.hpp"><CODE>tee.hpp
</CODE></A></TD>
384 Takes a pair of
<A HREF=
"concepts/sink.html">Sinks
</A> and yields a Sink which sends all incoming data to both of the given Sinks.
389 <A HREF=
"functions/tee.html#tee_filter"><CODE>tee_filter
</CODE></A>
392 Takes a
<A HREF=
"concepts/filter.html">Filter
</A> and a
<A HREF=
"concepts/sink.html">Sink
</A> and yields a Filter which sends all outgoing data to the Sink in addition to passing it downsteam.
397 <!-- Begin Footnotes -->
402 <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>.
406 <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>.
410 <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>.
413 <!-- End Footnotes -->
415 <!-- Begin Footer -->
418 <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><br/>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>)