These components form the interface between Boost.Iostreams and the standard iostreams library.
| Name | Header[1] | Description | 
|---|---|---|
| stream | stream.hpp | Stream template which performs i/o using an instance of its first template parameter, which must model the concept Device. Derives from std::basic_istream,std::basic_ostreamorstd::basic_iostreamdepending on whether its first template parameter models Source, Sink or both. | 
| stream_buffer | stream_buffer.hpp | Stream buffer template which performs i/o using an instance of its first template parameter, which must model the concept Device. | 
| filtering_stream | filtering_stream.hpp | Stream template which performs filtered i/o using a contained chain. Derives fromstd::basic_istream,std::basic_ostreamorstd::basic_iostreamdepending on its mode, which is specified as its first template parameter. | 
| filtering_streambuf | filtering_streambuf.hpp | Stream buffer template which performs filtered i/o using a contained chain. | 
| chain | chain.hpp | Sequence of zero or more Filters, followed by an optional Device, accessed with a stack-like interface. Used by filtering_streamandfiltering_streambuf. | 
| code_converter | code_converter.hpp | Device adapter which takes a narrow-character Device and produces a wide-character Device by introducing a layer of code conversion. | 
| Device | Header[2] | Description | 
|---|---|---|
| basic_array_source,basic_array_sink,basic_array | array.hpp | Accesses a in-memory character sequence. | 
| back_insert_device | back_inserter.hpp | Appends to an STL sequence. | 
| basic_file_source,basic_file_sink,basic_file | file.hpp | Accesses the filesystem using a std::basic_filebuf. | 
| basic_null_source | null.hpp | Reads characters from an empty sequence. | 
| basic_null_sink | Consumes and ignores characters. | |
| file_descriptor_source,file_descriptor_sink,file_descriptor | file_descriptor.hpp | Accesses the filesystem using an operating system file descriptor or file handle. | 
| mapped_file_source,mapped_file_sink,mapped_file | mapped_file.hpp | Accesses a memory-mapped file. | 
| Category | Filter | Header[3] | Description | 
|---|---|---|---|
| Compression | basic_bzip2_compressor,basic_bzip2_decompressor | bzip2.hpp | Perform compression and decompression using the libbzip2 data compression library ([Seward]). | 
| basic_gzip_compressor,basic_gzip_decompressor | gzip.hpp | Perform compression and decompression based on the the GZIP format ([Deutsch3]). | |
| basic_zlib_compressor,basic_zlib_decompressor | zlib.hpp | Perform compression and decompression using the zlib data compression library ([Gailly]). | |
| Text | basic_counter | counter.hpp | Maintains a character and line count. | 
| basic_regex_filter | regex.hpp | Performs text substitutions using regular expressions from the Boost Regular Expression Library. | |
| basic_grep_filter | grep.hpp | Filters character sequences line by line using regular expressions from the Boost Regular Expression Library. | |
| newline_checker | newline.hpp | Verifies that a character sequence conforms to a given line-ending convention. | |
| newline_filter | Converts between the line-ending conventions used by various operating systems. | ||
| Helpers | basic_line_filter | line.hpp | Filters a character sequence one line at a time. | 
| basic_stdio_filter | stdio.hpp | Filters by reading from standard input and writing to standard output. | |
| aggregate_filter | aggregate.hpp | Filters an entire character sequence at once. | |
| symmetric_filter | symmetric.hpp | Filters using a model of SymmetricFilter. | 
| Algorithm | Header | Description | 
|---|---|---|
| copy | boost/iostreams/copy.hpp | Reads characters from a Source and writes them to a Sink until the end of stream is reached; returns the number of characters written. | 
Each view consists of one or more class templates together with an object generator. See Views.
| Object Generator | View Template | Header[1] | Description | 
|---|---|---|---|
| combine | combination | combine.hpp | 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. | 
| compose | composite | compose.hpp | 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. | 
| invert | inverse | invert.hpp | 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. | 
| restrictslice | restriction | restrict.hppslice.hpp | 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 | 
| tee | tee_device | tee.hpp | Takes a pair of Sinks and yields a Sink which sends all incoming data to both of the given Sinks. | 
| tee_filter | Takes a Filter and a Sink and yields a Filter which sends all outgoing data to the Sink in addition to passing it downsteam. | 
    [1]Pathnames should be interpreted relative to the directory boost/iostreams.
    [2]Pathnames should be interpreted relative to the directory boost/iostreams/device.
    [3]Pathnames should be interpreted relative to the directory boost/iostreams/filter.
© Copyright 2008 CodeRage, LLC
© Copyright 2004-2007 Jonathan Turkanis
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)