Я пытаюсь реализовать Python с менеджером контекста с pybind11.
После документации Python , моя первая версия:
py::class_<MyResource> (module, "CustomResource", "A custom ressource")
.def("__enter__", [&] (MyResource& r) { r.lock(); }
, "Enter the runtime context related to this object")
.def("__exit__", [&] (MyResource& r, void* exc_type, void* exc_value, void* traceback) { r.unlock(); }
, "Exit the runtime context related to this object")
;
Я не знаю, что такое типы exc_type
, exc_value
и traceback
. Я думаю, они могут быть простыми pybind11::object
?
Могу ли я использовать более конкретные привязки?