import size_t into pybind11 namespace (fixes #498)

This commit is contained in:
Wenzel Jakob 2016-11-15 06:37:39 +01:00
parent 0780655808
commit 06bd27f536

View File

@ -93,6 +93,7 @@
# pragma warning(pop) # pragma warning(pop)
#endif #endif
#include <cstddef>
#include <forward_list> #include <forward_list>
#include <vector> #include <vector>
#include <string> #include <string>
@ -182,7 +183,8 @@ extern "C" {
NAMESPACE_BEGIN(pybind11) NAMESPACE_BEGIN(pybind11)
typedef Py_ssize_t ssize_t; using ssize_t = Py_ssize_t;
using size_t = std::size_t;
/// Approach used to cast a previously unknown C++ instance into a Python object /// Approach used to cast a previously unknown C++ instance into a Python object
enum class return_value_policy : uint8_t { enum class return_value_policy : uint8_t {
@ -320,7 +322,7 @@ template <typename type, typename holder_type = std::unique_ptr<type>> struct in
}; };
struct overload_hash { struct overload_hash {
inline std::size_t operator()(const std::pair<const PyObject *, const char *>& v) const { inline size_t operator()(const std::pair<const PyObject *, const char *>& v) const {
size_t value = std::hash<const void *>()(v.first); size_t value = std::hash<const void *>()(v.first);
value ^= std::hash<const void *>()(v.second) + 0x9e3779b9 + (value<<6) + (value>>2); value ^= std::hash<const void *>()(v.second) + 0x9e3779b9 + (value<<6) + (value>>2);
return value; return value;