| 548 | |
| 549 | template <typename IntType> |
| 550 | inline ssize_t ssize_t_cast(const IntType &val) { |
| 551 | static_assert(sizeof(IntType) <= sizeof(ssize_t), "Implicit narrowing is not permitted."); |
| 552 | return static_cast<ssize_t>(val); |
| 553 | } |
| 554 | |
| 555 | /// Approach used to cast a previously unknown C++ instance into a Python object |
| 556 | enum class return_value_policy : uint8_t { |