|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| #ifndef __PyCXX_config_hh__
|
| #define __PyCXX_config_hh__
|
|
|
|
|
|
|
|
|
| #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
|
|
|
|
|
| #ifndef PY_MAJOR_VERSION
|
| #error not defined PY_MAJOR_VERSION
|
| #endif
|
| #if PY_MAJOR_VERSION < 2 || (PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION < 5)
|
| typedef int Py_ssize_t;
|
| #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
|
|
|
| #endif
|
|
|