config_macros.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 98 行

HPP
98
字号
// -*- 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 + =
减小字号Ctrl + -
显示快捷键?