<ios>The Boost Iostreams library contains several macros useful for writing code which works with compilers which fail to support certain core language features and with defective standard library implementations, such as those which do not provide template streams.
<ios><boost/iostreams/detail/ios.hpp>#define BOOST_IOSTREAMS_BASIC_IOS(ch, tr) ... #define BOOST_IOS ... #define BOOST_IOSTREAMS_FAILURE ...
BOOST_IOSTREAMS_BASIC_IOSExpands to std::basic_ios<ch, tr> for standard libraries which support templated streams, and to std::ios otherwise.
BOOST_IOSExpands to std::ios_base if available, and to std::ios otherwise. To access the nested class std::ios_base::failure, use BOOST_IOSTREAMS_FAILURE.
BOOST_IOSTREAMS_FAILUREExpands to std::ios_base::failure if available, and to a suitable derived class of std::exception otherwise.
<boost/iostreams/detail/iostream.hpp>#define BOOST_IOSTREAMS_BASIC_ISTREAM(ch, tr) ...
#define BOOST_IOSTREAMS_BASIC_OSTREAM(ch, tr) ...
#define BOOST_IOSTREAMS_BASIC_IOSTREAM(ch, tr) ...
BOOST_IOSTREAMS_BASIC_ISTREAMExpands to std::basic_istream<ch, tr> for standard libraries which support templated streams, and to std::istream otherwise.
BOOST_IOSTREAMS_BASIC_OSTREAMExpands to std::basic_ostream<ch, tr> for standard libraries which support templated streams, and to std::ostream otherwise.
BOOST_IOSTREAMS_BASIC_IOSTREAMExpands to std::basic_iostream<ch, tr> for standard libraries which support templated streams, and to std::iostream otherwise.
<boost/iostreams/detail/streambuf.hpp>#define BOOST_IOSTREAMS_BASIC_STREAMBUF(ch, tr) ...
#define BOOST_IOSTREAMS_PUBSEEKOFF ...
#define BOOST_IOSTREAMS_PUBSEEKPOS ...
#define BOOST_IOSTREAMS_PUBSYNC ...
BOOST_IOSTREAMS_BASIC_STREAMBUFExpands to std::basic_streambuf<ch, tr> for standard libraries which support std::basic_streambuf, and to std::streambuf otherwise.
BOOST_IOSTREAMS_PUBSEEKOFFExpands to pubseekoff for standard libraries which support std::basic_streambuf::pubseekoff, and to seekoff otherwise.
BOOST_IOSTREAMS_PUBSEEKPOSExpands to pubseekpos for standard libraries which support std::basic_streambuf::pubseekpos, and to seekpos otherwise.
BOOST_IOSTREAMS_PUBSYNCExpands to pubsync for standard libraries which support std::basic_streambuf::pubsync, and to sync otherwise.
<boost/iostreams/detail/char_traits.hpp>#define BOOST_IOSTREAMS_CHAR_TRAITS(ch) ...
BOOST_IOSTREAMS_CHAR_TRAITSExpands to std::char_traits<ch> for standard libraries which support std::char_traits, and to a substitute for std::char_traits<char> otherwise.
<boost/iostreams/chain.hpp>#define BOOST_IOSTREAMS_COMPONENT_TYPE(chain, n) ... #define BOOST_IOSTREAMS_COMPONENT(chain, n, t) ...
BOOST_IOSTREAMS_COMPONENT_TYPEUsed in place of chain.component_type(n) for compilers which don't support explicit specification of member function template arguments. chain can be an instance of filtering_stream, filtering_streambuf or basic_chain.
This macro is deprecated. Use chain.component_type(n) instead.
BOOST_IOSTREAMS_COMPONENTUsed in place of chain.component<t>(n) for compilers which don't support explicit specification of member function template arguments. chain can be an instance of filtering_stream, filtering_streambuf or basic_chain.
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)