basic_stdio_filter
The class template basic_stdio_filter is a DualUseFilter for use as a base class by Filters which read unfiltered data from standard input and write filtered data to standard output.
basic_stdio_filter is implemented by redirecting std::cin and std::cout (or std::wcin and std::wcout). Before do_filter is invoked, the entire stream of unfiltered data is read and stored in memory. As a result, basic_stdio_filter is unsuitable for use in low-memory environments or in conjunction with streams of data that have no natural end, such as stock tickers. Because of these limitations, basic_stdio_filter is best used as an aid to those learning to use the Iostreams library.
<boost/iostreams/filter/stdio.hpp>namespace boost { namespace iostreams { template<typename Ch> class basic_stdio_filter { public: typedef Ch char_type; typedef [implementation-defined] category; protected: basic_stdio_filter(); public: virtual ~basic_stdio_filter(); private: virtual void do_filter() = 0; }; typedef basic_stdio_filter<char> stdio_filter; typedef basic_stdio_filter<wchar_t> wstdio_filter; } } // End namespace boost::io
| Ch | - | The character type |
counter::do_filtervirtual void do_filter() = 0;
Reads from standard input and writes to standard output until standard input is exhausted. If Ch is char, uses std::cin and std::cout; if Ch is wchar_t, uses std::wcin and std::wcout.
Five examples of stdio_filters are presented in the Tutorial.
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)