...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Python 2.5 introduces a new Py_ssize_t
typedef and two related macros (PEP
353). The <boost/python/ssize_t.hpp> header imports these
definitions into the boost::python
namespace as ssize_t
,
ssize_t_max
, and ssize_t_min
. Appropriate definitions
are provided for backward compatibility with previous Python versions.
Imports Py_ssize_t
into
the boost::python
namespace if available, or provides
an appropriate typedef for backward compatibility:
#if PY_VERSION_HEX >= 0x02050000 typedef Py_ssize_t ssize_t; #else typedef int ssize_t; #endif
Imports PY_SSIZE_T_MAX
and PY_SSIZE_T_MIN
as constants
into the boost::python
namespace if available, or provides
appropriate constants for backward compatibility:
#if PY_VERSION_HEX >= 0x02050000 ssize_t const ssize_t_max = PY_SSIZE_T_MAX; ssize_t const ssize_t_min = PY_SSIZE_T_MIN; #else ssize_t const ssize_t_max = INT_MAX; ssize_t const ssize_t_min = INT_MIN; #endif