]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | [section boost/python/ssize_t.hpp] |
2 | [section Introduction] | |
3 | Python 2.5 introduces a new `Py_ssize_t` typedef and two related macros ([@http://www.python.org/dev/peps/pep-0353/ 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. | |
4 | [endsect] | |
5 | [section Typedefs] | |
6 | Imports `Py_ssize_t` into the `boost::python` namespace if available, or provides an appropriate typedef for backward compatibility: | |
7 | `` | |
8 | #if PY_VERSION_HEX >= 0x02050000 | |
9 | typedef Py_ssize_t ssize_t; | |
10 | #else | |
11 | typedef int ssize_t; | |
12 | #endif | |
13 | `` | |
14 | [endsect] | |
15 | [section Constants] | |
16 | 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: | |
17 | `` | |
18 | #if PY_VERSION_HEX >= 0x02050000 | |
19 | ssize_t const ssize_t_max = PY_SSIZE_T_MAX; | |
20 | ssize_t const ssize_t_min = PY_SSIZE_T_MIN; | |
21 | #else | |
22 | ssize_t const ssize_t_max = INT_MAX; | |
23 | ssize_t const ssize_t_min = INT_MIN; | |
24 | #endif | |
25 | `` | |
26 | [endsect] | |
27 | [endsect] |