⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wrap_python.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
//  (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.//  This file serves as a wrapper around <Python.h> which allows it to be//  compiled with GCC 2.95.2 under Win32 and which disables the default MSVC//  behavior so that a program may be compiled in debug mode without requiring a//  special debugging build of the Python library.//  To use the Python debugging library, #define BOOST_DEBUG_PYTHON on the//  compiler command-line.// Revision History:// 05 Mar 01  Suppress warnings under Cygwin with Python 2.0 (Dave Abrahams)// 04 Mar 01  Rolled in some changes from the Dragon fork (Dave Abrahams)// 01 Mar 01  define PyObject_INIT() for Python 1.x (Dave Abrahams)#ifdef _DEBUG# ifndef BOOST_DEBUG_PYTHON#  undef _DEBUG // Don't let Python force the debug library just because we're debugging.#  define DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H# endif#endif# include <pyconfig.h># if defined(_SGI_COMPILER_VERSION) && _SGI_COMPILER_VERSION == 741#  undef _POSIX_C_SOURCE#  undef _XOPEN_SOURCE# endif//// Python's LongObject.h helpfully #defines ULONGLONG_MAX for us,// which confuses Boost's config//#include <limits.h>#ifndef ULONG_MAX# define BOOST_PYTHON_ULONG_MAX_UNDEFINED#endif#ifndef LONGLONG_MAX# define BOOST_PYTHON_LONGLONG_MAX_UNDEFINED#endif#ifndef ULONGLONG_MAX# define BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED#endif//// Get ahold of Python's version number//#include <patchlevel.h>#if PY_MAJOR_VERSION<2 || PY_MAJOR_VERSION==2 && PY_MINOR_VERSION<2#error Python 2.2 or higher is required for this version of Boost.Python.#endif//// Some things we need in order to get Python.h to work with compilers other// than MSVC on Win32//#if defined(_WIN32) || defined(__CYGWIN__)# if defined(__GNUC__) && defined(__CYGWIN__)#  define SIZEOF_LONG 4#  if PY_MAJOR_VERSION < 2 || PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION <= 2typedef int pid_t;#   define WORD_BIT 32#   define hypot _hypot#   include <stdio.h>#   if PY_MAJOR_VERSION < 2#    define HAVE_CLOCK#    define HAVE_STRFTIME#    define HAVE_STRERROR#   endif#   define NT_THREADS#   ifndef NETSCAPE_PI#    define USE_SOCKET#   endif#   ifdef USE_DL_IMPORT#    define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE#   endif#   ifdef USE_DL_EXPORT#    define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE#    define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE#   endif#   define HAVE_LONG_LONG 1#   define LONG_LONG long long#  endif # elif defined(__MWERKS__)#  ifndef _MSC_VER#   define PY_MSC_VER_DEFINED_FROM_WRAP_PYTHON_H 1#   define _MSC_VER 900#  endif#  undef hypot // undo the evil #define left by Python.# elif defined(__BORLANDC__)#  undef HAVE_HYPOT#  define HAVE_HYPOT 1# endif#endif // _WIN32#if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 2 && PY_MICRO_VERSION < 2# include <boost/python/detail/python22_fixed.h>#else# include <Python.h>#endif#ifdef BOOST_PYTHON_ULONG_MAX_UNDEFINED# undef ULONG_MAX# undef BOOST_PYTHON_ULONG_MAX_UNDEFINED#endif#ifdef BOOST_PYTHON_LONGLONG_MAX_UNDEFINED# undef LONGLONG_MAX# undef BOOST_PYTHON_LONGLONG_MAX_UNDEFINED#endif#ifdef BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED# undef ULONGLONG_MAX# undef BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED#endif#ifdef PY_MSC_VER_DEFINED_FROM_WRAP_PYTHON_H# undef _MSC_VER#endif#ifdef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H# undef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H# define _DEBUG#endif#if !defined(PY_MAJOR_VERSION) || PY_MAJOR_VERSION < 2# define PyObject_INIT(op, typeobj) \        ( (op)->ob_type = (typeobj), _Py_NewReference((PyObject *)(op)), (op) )#endif#ifdef __MWERKS__# pragma warn_possunwant off#elif _MSC_VER# pragma warning(disable:4786)#endif#if defined(HAVE_LONG_LONG)# if defined(PY_LONG_LONG)#  define BOOST_PYTHON_LONG_LONG PY_LONG_LONG# elif defined(LONG_LONG)#  define BOOST_PYTHON_LONG_LONG LONG_LONG# else#  error "HAVE_LONG_LONG defined but not PY_LONG_LONG or LONG_LONG"# endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -