boost/python/ssize_t.hpp

はじめに

Python 2.5 は新しい型定義 Py_ssize_t および 2 つの関連マクロを導入した(PEP353)。<boost/python/ssize_t.hpp> ヘッダはこれらの定義を ssize_tssize_t_max および ssize_t_min として boost::python 名前空間にインポートする。後方互換性のために、Python の以前バージョンでは適切な定義を提供する。

型定義

typedef Py_ssize_t ssize_t

可能であれば Py_ssize_tboost::python 名前空間にインポートする。または後方互換性のために適切な型定義を提供する。

#if PY_VERSION_HEX >= 0x02050000
typedef Py_ssize_t ssize_t;
#else
typedef int ssize_t;
#endif

定数

ssize_t const ssize_t_max = PY_SSIZE_T_MAX
ssize_t const ssize_t_min = PY_SSIZE_T_MIN

可能であれば PY_SSIZE_T_MAX および PY_SSIZE_T_MINboost::python 名前空間に定数としてインポートする。または後方互換性のために適切な定数を提供する。

#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