config.hpp
来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 142 行
HPP
142 行
// (C) Copyright David Abrahams 2000.// 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)//// The author gratefully acknowleges the support of Dragon Systems, Inc., in// producing this work.// Revision History:// 04 Mar 01 Some fixes so it will compile with Intel C++ (Dave Abrahams)#ifndef CONFIG_DWA052200_H_# define CONFIG_DWA052200_H_# include <boost/config.hpp># include <boost/detail/workaround.hpp># ifdef BOOST_NO_OPERATORS_IN_NAMESPACE // A gcc bug forces some symbols into the global namespace# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE# define BOOST_PYTHON_END_CONVERSION_NAMESPACE# define BOOST_PYTHON_CONVERSION# define BOOST_PYTHON_IMPORT_CONVERSION(x) using ::x# else# define BOOST_PYTHON_BEGIN_CONVERSION_NAMESPACE namespace boost { namespace python {# define BOOST_PYTHON_END_CONVERSION_NAMESPACE }} // namespace boost::python# define BOOST_PYTHON_CONVERSION boost::python# define BOOST_PYTHON_IMPORT_CONVERSION(x) void never_defined() // so we can follow the macro with a ';'# endif# if defined(BOOST_MSVC)# if _MSC_VER < 1300# define BOOST_MSVC6_OR_EARLIER 1# endif# pragma warning (disable : 4786) // disable truncated debug symbols# pragma warning (disable : 4251) // disable exported dll function# pragma warning (disable : 4800) //'int' : forcing value to bool 'true' or 'false'# pragma warning (disable : 4275) // non dll-interface class# elif defined(__ICL) && __ICL < 600 // Intel C++ 5# pragma warning(disable: 985) // identifier was truncated in debug information# endif// The STLport puts all of the standard 'C' library names in std (as far as the// user is concerned), but without it you need a fix if you're using MSVC or// Intel C++# if defined(BOOST_NO_STDC_NAMESPACE)# define BOOST_CSTD_# else# define BOOST_CSTD_ std# endif/***************************************************************************** * * Set up dll import/export options: * ****************************************************************************/// backwards compatibility:#ifdef BOOST_PYTHON_STATIC_LIB# define BOOST_PYTHON_STATIC_LINK# elif !defined(BOOST_PYTHON_DYNAMIC_LIB)# define BOOST_PYTHON_DYNAMIC_LIB#endif#if defined(BOOST_PYTHON_DYNAMIC_LIB)# if !defined(_WIN32) && !defined(__CYGWIN__) \ && !defined(BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY) \ && BOOST_WORKAROUND(__GNUC__, >= 3) && (__GNUC_MINOR__ >=5 || __GNUC__ > 3)# define BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY 1# endif # if BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY# if defined(BOOST_PYTHON_SOURCE)# define BOOST_PYTHON_DECL __attribute__ ((visibility("default")))# define BOOST_PYTHON_BUILD_DLL# else# define BOOST_PYTHON_DECL# endif# define BOOST_PYTHON_DECL_FORWARD# define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((visibility("default")))# elif (defined(_WIN32) || defined(__CYGWIN__))# if defined(BOOST_PYTHON_SOURCE)# define BOOST_PYTHON_DECL __declspec(dllexport)# define BOOST_PYTHON_BUILD_DLL# else# define BOOST_PYTHON_DECL __declspec(dllimport)# endif# endif#endif#ifndef BOOST_PYTHON_DECL# define BOOST_PYTHON_DECL#endif#ifndef BOOST_PYTHON_DECL_FORWARD# define BOOST_PYTHON_DECL_FORWARD BOOST_PYTHON_DECL#endif#ifndef BOOST_PYTHON_DECL_EXCEPTION# define BOOST_PYTHON_DECL_EXCEPTION BOOST_PYTHON_DECL#endif#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))// Replace broken Tru64/cxx offsetof macro# define BOOST_PYTHON_OFFSETOF(s_name, s_member) \ ((size_t)__INTADDR__(&(((s_name *)0)->s_member)))#else# define BOOST_PYTHON_OFFSETOF offsetof#endif// enable automatic library variant selection ------------------------------// #if !defined(BOOST_PYTHON_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_PYTHON_NO_LIB)//// Set the name of our library, this will get undef'ed by auto_link.hpp// once it's done with it://#define BOOST_LIB_NAME boost_python//// If we're importing code from a dll, then tell auto_link.hpp about it://#ifdef BOOST_PYTHON_DYNAMIC_LIB# define BOOST_DYN_LINK#endif//// And include the header that does the work://#include <boost/config/auto_link.hpp>#endif // auto-linking disabled#ifndef BOOST_PYTHON_NO_PY_SIGNATURES#define BOOST_PYTHON_SUPPORTS_PY_SIGNATURES // enables smooth transition#endif#endif // CONFIG_DWA052200_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?