@@ -227,7 +227,7 @@ template <typename type> class type_caster : public type_caster_custom {
227
227
return cast (*src, policy, parent); \
228
228
} \
229
229
operator type*() { return &value; } \
230
- operator type&() { return value; } \
230
+ operator type&() { return value; }
231
231
232
232
#define PYBIND11_TYPE_CASTER_NUMBER (type, py_type, from_type, to_pytype ) \
233
233
template <> class type_caster <type> { \
@@ -251,41 +251,22 @@ template <typename type> class type_caster : public type_caster_custom {
251
251
PYBIND11_TYPE_CASTER (type, #type); \
252
252
};
253
253
254
- #if PY_MAJOR_VERSION >= 3
255
- #define PyLong_AsUnsignedLongLong_Fixed PyLong_AsUnsignedLongLong
256
- #define PyLong_AsLongLong_Fixed PyLong_AsLongLong
257
- #else
258
- inline PY_LONG_LONG PyLong_AsLongLong_Fixed (PyObject *o) {
259
- if (PyInt_Check (o))
260
- return (PY_LONG_LONG) PyLong_AsLong (o);
261
- else
262
- return ::PyLong_AsLongLong (o);
263
- }
264
-
265
- inline unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong_Fixed (PyObject *o) {
266
- if (PyInt_Check (o))
267
- return (unsigned PY_LONG_LONG) PyLong_AsUnsignedLong (o);
268
- else
269
- return ::PyLong_AsUnsignedLongLong (o);
270
- }
271
- #endif
272
-
273
254
PYBIND11_TYPE_CASTER_NUMBER (int8_t , long , PyLong_AsLong, PyLong_FromLong)
274
255
PYBIND11_TYPE_CASTER_NUMBER(uint8_t , unsigned long , PyLong_AsUnsignedLong, PyLong_FromUnsignedLong)
275
256
PYBIND11_TYPE_CASTER_NUMBER(int16_t , long , PyLong_AsLong, PyLong_FromLong)
276
257
PYBIND11_TYPE_CASTER_NUMBER(uint16_t , unsigned long , PyLong_AsUnsignedLong, PyLong_FromUnsignedLong)
277
258
PYBIND11_TYPE_CASTER_NUMBER(int32_t , long , PyLong_AsLong, PyLong_FromLong)
278
259
PYBIND11_TYPE_CASTER_NUMBER(uint32_t , unsigned long , PyLong_AsUnsignedLong, PyLong_FromUnsignedLong)
279
- PYBIND11_TYPE_CASTER_NUMBER(int64_t , PY_LONG_LONG, PyLong_AsLongLong_Fixed , PyLong_FromLongLong)
280
- PYBIND11_TYPE_CASTER_NUMBER(uint64_t , unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong_Fixed , PyLong_FromUnsignedLongLong)
260
+ PYBIND11_TYPE_CASTER_NUMBER(int64_t , PY_LONG_LONG, detail::PyLong_AsLongLong , PyLong_FromLongLong)
261
+ PYBIND11_TYPE_CASTER_NUMBER(uint64_t , unsigned PY_LONG_LONG, detail::PyLong_AsUnsignedLongLong , PyLong_FromUnsignedLongLong)
281
262
282
263
#if defined(__APPLE__) // size_t/ssize_t are separate types on Mac OS X
283
264
#if PY_MAJOR_VERSION >= 3
284
265
PYBIND11_TYPE_CASTER_NUMBER (ssize_t , Py_ssize_t, PyLong_AsSsize_t, PyLong_FromSsize_t)
285
266
PYBIND11_TYPE_CASTER_NUMBER(size_t , size_t , PyLong_AsSize_t, PyLong_FromSize_t)
286
267
#else
287
- PYBIND11_TYPE_CASTER_NUMBER (ssize_t , PY_LONG_LONG, PyLong_AsLongLong_Fixed , PyLong_FromLongLong)
288
- PYBIND11_TYPE_CASTER_NUMBER(size_t , unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong_Fixed , PyLong_FromUnsignedLongLong)
268
+ PYBIND11_TYPE_CASTER_NUMBER (ssize_t , PY_LONG_LONG, detail::PyLong_AsLongLong , PyLong_FromLongLong)
269
+ PYBIND11_TYPE_CASTER_NUMBER(size_t , unsigned PY_LONG_LONG, detail::PyLong_AsUnsignedLongLong , PyLong_FromUnsignedLongLong)
289
270
#endif
290
271
#endif
291
272
0 commit comments