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_ostream or std::basic_iostream depending 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 from std::basic_istream, std::basic_ostream or std::basic_iostream depending 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_stream and filtering_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. | |
        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. | 
restrict | 
    restriction | 
    restrict.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.
Revised 20 May, 2004
© Copyright Jonathan Turkanis, 2004. 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)