/Src/Dependencies/Boost/boost/iostreams/detail/ios.hpp
http://hadesmem.googlecode.com/ · C++ Header · 66 lines · 45 code · 15 blank · 6 comment · 5 complexity · ddfef4d132ba5bd9ffffb12f98de17d1 MD5 · raw file
- // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
- // (C) Copyright 2003-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.)
- // See http://www.boost.org/libs/iostreams for documentation.
- #ifndef BOOST_IOSTREAMS_DETAIL_IOS_HPP_INCLUDED
- #define BOOST_IOSTREAMS_DETAIL_IOS_HPP_INCLUDED
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- # pragma once
- #endif
-
- #include <boost/config.hpp> // BOOST_MSVC.
- #include <boost/detail/workaround.hpp>
- #include <boost/iostreams/detail/config/wide_streams.hpp>
- #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES
- # if !BOOST_WORKAROUND(__MWERKS__, <= 0x3003)
- # include <ios>
- # else
- # include <istream>
- # include <ostream>
- # endif
- #else
- # include <exception>
- # include <iosfwd>
- #endif
- namespace boost { namespace iostreams { namespace detail {
- #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //--------------------------------//
- # define BOOST_IOSTREAMS_BASIC_IOS(ch, tr) std::basic_ios< ch, tr >
- # if !BOOST_WORKAROUND(__MWERKS__, <= 0x3003) && \
- !BOOST_WORKAROUND(__BORLANDC__, < 0x600) && \
- !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \
- /**/
- #define BOOST_IOS std::ios
- #define BOOST_IOSTREAMS_FAILURE std::ios::failure
- # else
- #define BOOST_IOS std::ios_base
- #define BOOST_IOSTREAMS_FAILURE std::ios_base::failure
- # endif
- #else // #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //-----------------------//
- #define BOOST_IOS std::ios
- #define BOOST_IOSTREAMS_BASIC_IOS(ch, tr) std::ios
- #define BOOST_IOSTREAMS_FAILURE boost::iostreams::detail::failure
- class failure : std::exception {
- public:
- explicit failure(const std::string& what_arg) : what_(what_arg) { }
- const char* what() const { return what_.c_str(); }
- private:
- std::string what_;
- };
- #endif // #ifndef BOOST_IOSTREAMS_NO_STREAM_TEMPLATES //----------------------//
- } } } // End namespace failure, iostreams, boost.
- #endif // #ifndef BOOST_IOSTREAMS_DETAIL_IOS_HPP_INCLUDED