mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
python 2.7 fix
This commit is contained in:
parent
570822102c
commit
5116b02e68
@ -100,7 +100,7 @@ const int Example2::value2 = 5;
|
|||||||
void init_ex2(py::module &m) {
|
void init_ex2(py::module &m) {
|
||||||
/* No constructor is explicitly defined below. An exception is raised when
|
/* No constructor is explicitly defined below. An exception is raised when
|
||||||
trying to construct it directly from Python */
|
trying to construct it directly from Python */
|
||||||
py::class_<Example2>(m, "Example2")
|
py::class_<Example2>(m, "Example2", "Example 2 documentation")
|
||||||
.def("get_dict", &Example2::get_dict, "Return a Python dictionary")
|
.def("get_dict", &Example2::get_dict, "Return a Python dictionary")
|
||||||
.def("get_dict_2", &Example2::get_dict_2, "Return a C++ dictionary")
|
.def("get_dict_2", &Example2::get_dict_2, "Return a C++ dictionary")
|
||||||
.def("get_list", &Example2::get_list, "Return a Python list")
|
.def("get_list", &Example2::get_list, "Return a Python list")
|
||||||
|
@ -510,6 +510,11 @@ public:
|
|||||||
type->ht_type.tp_as_sequence = &type->as_sequence;
|
type->ht_type.tp_as_sequence = &type->as_sequence;
|
||||||
type->ht_type.tp_as_mapping = &type->as_mapping;
|
type->ht_type.tp_as_mapping = &type->as_mapping;
|
||||||
type->ht_type.tp_base = (PyTypeObject *) parent;
|
type->ht_type.tp_base = (PyTypeObject *) parent;
|
||||||
|
if (doc) {
|
||||||
|
size_t size = strlen(doc)+1;
|
||||||
|
type->ht_type.tp_doc = (char *)PyObject_MALLOC(size);
|
||||||
|
memcpy((void *) type->ht_type.tp_doc, doc, size);
|
||||||
|
}
|
||||||
Py_XINCREF(parent);
|
Py_XINCREF(parent);
|
||||||
|
|
||||||
if (PyType_Ready(&type->ht_type) < 0)
|
if (PyType_Ready(&type->ht_type) < 0)
|
||||||
@ -525,8 +530,6 @@ public:
|
|||||||
type_info.type_size = type_size;
|
type_info.type_size = type_size;
|
||||||
type_info.init_holder = init_holder;
|
type_info.init_holder = init_holder;
|
||||||
attr("__pybind__") = capsule(&type_info);
|
attr("__pybind__") = capsule(&type_info);
|
||||||
if (doc)
|
|
||||||
attr("__doc__") = pybind::str(doc);
|
|
||||||
|
|
||||||
scope.attr(name) = *this;
|
scope.attr(name) = *this;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user