| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef __PyCXX_config_hh__ |
| | #define __PyCXX_config_hh__ |
| |
|
| | #if defined( Py_LIMITED_API ) && Py_LIMITED_API+0 < 0x03040000 |
| | #error "PyCXX support for Python limited API requires version 3.4 or newer. Py_LIMITED_API=0x03040000" |
| | #endif |
| |
|
| | |
| | |
| | |
| | #if defined( _MSC_VER ) |
| |
|
| | # define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1 |
| |
|
| | #elif defined( __GNUC__ ) |
| | # if __GNUC__ >= 3 |
| | # define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1 |
| | # else |
| | # define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 0 |
| | #endif |
| |
|
| | |
| | |
| | |
| | #else |
| |
|
| | |
| | # define STANDARD_LIBRARY_HAS_ITERATOR_TRAITS 1 |
| | #endif |
| |
|
| | #if STANDARD_LIBRARY_HAS_ITERATOR_TRAITS |
| | # define random_access_iterator_parent(itemtype) std::iterator<std::random_access_iterator_tag,itemtype,int> |
| | #else |
| | # define random_access_iterator_parent(itemtype) std::random_access_iterator<itemtype, int> |
| | #endif |
| |
|
| | |
| | |
| | |
| | #if defined( _MSC_VER ) |
| | # if _MSC_VER <= 1200 |
| | |
| | # define PYCXX_ISO_CPP_LIB 0 |
| | # define STR_STREAM <strstream> |
| | # define TEMPLATE_TYPENAME class |
| | # else |
| | # define PYCXX_ISO_CPP_LIB 1 |
| | # define STR_STREAM <sstream> |
| | # define TEMPLATE_TYPENAME typename |
| | # endif |
| | #elif defined( __GNUC__ ) |
| | # if __GNUC__ >= 3 |
| | # define PYCXX_ISO_CPP_LIB 1 |
| | # define STR_STREAM <sstream> |
| | # define TEMPLATE_TYPENAME typename |
| | # else |
| | # define PYCXX_ISO_CPP_LIB 0 |
| | # define STR_STREAM <strstream> |
| | # define TEMPLATE_TYPENAME class |
| | # endif |
| | #endif |
| |
|
| | #if PYCXX_ISO_CPP_LIB |
| | # define STR_STREAM <sstream> |
| | # define OSTRSTREAM ostringstream |
| | # define EXPLICIT_TYPENAME typename |
| | # define EXPLICIT_CLASS class |
| | # define TEMPLATE_TYPENAME typename |
| | #else |
| | # define STR_STREAM <strstream> |
| | # define OSTRSTREAM ostrstream |
| | # define EXPLICIT_TYPENAME |
| | # define EXPLICIT_CLASS |
| | # define TEMPLATE_TYPENAME class |
| | #endif |
| |
|
| | |
| | #if defined( _MSC_VER ) |
| | # pragma warning( disable : 4251 ) |
| | #endif |
| | #if defined( _MSC_VER ) || defined( __MINGW32__ ) |
| | # ifdef PYCXX_DLL |
| | # define PYCXX_EXPORT __declspec(dllexport) |
| | # else |
| | # define PYCXX_EXPORT __declspec(dllimport) |
| | # endif |
| | #else |
| | # define PYCXX_EXPORT |
| | #endif |
| |
|
| | |
| | #ifndef PY_MAJOR_VERSION |
| | #error not defined PY_MAJOR_VERSION |
| | #endif |
| | #if PY_MINOR_VERSION < 2 |
| | typedef long int Py_hash_t; |
| | #endif |
| |
|
| | #if PY_VERSION_HEX >= 0x030d0000 |
| | #define Py_UNICODE_DEPRECATED |
| | #endif |
| |
|
| | #ifndef PYCXX_PYTHON_2TO3 |
| | #define PYCXX_PYTHON_2TO3 |
| | #endif |
| |
|
| | #endif |
| |
|