📄 config_macros.hpp
字号:
// -*- C++ -*-// ----------------------------------------------------------------------------// config_macros.hpp : configuration macros for the format library// only BOOST_IO_STD is absolutely needed (it should be 'std::' in general)// others are compiler-specific workaround macros used in #ifdef switches// ----------------------------------------------------------------------------// Copyright Samuel Krempp 2003. Use, modification, and distribution are// subject to 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/format for library home page// ----------------------------------------------------------------------------#ifndef BOOST_FORMAT_CONFIG_MACROS_HPP#define BOOST_FORMAT_CONFIG_MACROS_HPP#include <boost/config.hpp>#include <boost/detail/workaround.hpp>// make sure our local macros wont override something :#if defined(BOOST_NO_LOCALE_ISDIGIT) || defined(BOOST_OVERLOAD_FOR_NON_CONST) \ || defined(BOOST_IO_STD) || defined( BOOST_IO_NEEDS_USING_DECLARATION ) \ || defined(BOOST_NO_TEMPLATE_STD_STREAM) \ || defined(BOOST_FORMAT_STREAMBUF_DEFINED) || defined(BOOST_FORMAT_OSTREAM_DEFINED)#error "boost::format uses a local macro that is already defined."#endif// specific workarounds. each header can define BOOS_IO_STD if it // needs. (e.g. because of IO_NEEDS_USING_DECLARATION)#include <boost/format/detail/workarounds_gcc-2_95.hpp>#include <boost/format/detail/workarounds_stlport.hpp>#ifndef BOOST_IO_STD# define BOOST_IO_STD ::std::#endif#if defined(BOOST_NO_STD_LOCALE) || \ ( BOOST_WORKAROUND(__BORLANDC__, <= 0x564) \ || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) )// some future __BORLANDC__ >0x564 versions might not need this// 0x570 is Borland's kylix branch#define BOOST_NO_LOCALE_ISIDIGIT#endif#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) || BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1300))#define BOOST_NO_OVERLOAD_FOR_NON_CONST#endif// gcc-2.95's native stringstream is not usable#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)#define BOOST_FORMAT_IGNORE_STRINGSTREAM #endif// **** Workaround for io streams, stlport and msvc.#ifdef BOOST_IO_NEEDS_USING_DECLARATIONnamespace boost { using std::char_traits; using std::basic_ostream; namespace io { using std::basic_ostream; namespace detail { using std::basic_ios; using std::basic_ostream; } }#if ! defined(BOOST_NO_STD_LOCALE) using std::locale; namespace io { using std::locale; namespace detail { using std::locale; } }#endif // locale} // -end N.S. boost#endif // needs_using_declaration// *** hide std::locale if it doesnt exist. // this typedef is either std::locale or int, avoids placing ifdefs everywherenamespace boost { namespace io { namespace detail {#if ! defined(BOOST_NO_STD_LOCALE) typedef BOOST_IO_STD locale locale_t;#else typedef int locale_t;#endif} } }// ----------------------------------------------------------------------------#endif // BOOST_FORMAT_MACROS_DEFAULT_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -