@@ -45,7 +45,7 @@ Normally, the binding code for these classes would look as follows:
4545
4646.. code-block :: cpp
4747
48- PYBIND11_MODULE(example, m) {
48+ PYBIND11_MODULE(example, m, py::mod_gil_not_used() ) {
4949 py::class_<Animal>(m, "Animal")
5050 .def("go", &Animal::go);
5151
@@ -64,7 +64,7 @@ helper class that is defined as follows:
6464
6565.. code-block :: cpp
6666
67- class PyAnimal : public Animal, py::trampoline_self_life_support {
67+ class PyAnimal : public Animal, public py::trampoline_self_life_support {
6868 public:
6969 /* Inherit the constructors */
7070 using Animal::Animal;
@@ -112,7 +112,7 @@ The binding code also needs a few minor adaptations (highlighted):
112112.. code-block :: cpp
113113 :emphasize-lines: 2,3
114114
115- PYBIND11_MODULE(example, m) {
115+ PYBIND11_MODULE(example, m, py::mod_gil_not_used() ) {
116116 py::class_<Animal, PyAnimal /* <--- trampoline */, py::smart_holder>(m, "Animal")
117117 .def(py::init<>())
118118 .def("go", &Animal::go);
@@ -262,13 +262,13 @@ override the ``name()`` method):
262262
263263.. code-block :: cpp
264264
265- class PyAnimal : public Animal, py::trampoline_self_life_support {
265+ class PyAnimal : public Animal, public py::trampoline_self_life_support {
266266 public:
267267 using Animal::Animal; // Inherit constructors
268268 std::string go(int n_times) override { PYBIND11_OVERRIDE_PURE(std::string, Animal, go, n_times); }
269269 std::string name() override { PYBIND11_OVERRIDE(std::string, Animal, name, ); }
270270 };
271- class PyDog : public Dog, py::trampoline_self_life_support {
271+ class PyDog : public Dog, public py::trampoline_self_life_support {
272272 public:
273273 using Dog::Dog; // Inherit constructors
274274 std::string go(int n_times) override { PYBIND11_OVERRIDE(std::string, Dog, go, n_times); }
@@ -290,7 +290,7 @@ declare or override any virtual methods itself:
290290.. code-block :: cpp
291291
292292 class Husky : public Dog {};
293- class PyHusky : public Husky, py::trampoline_self_life_support {
293+ class PyHusky : public Husky, public py::trampoline_self_life_support {
294294 public:
295295 using Husky::Husky; // Inherit constructors
296296 std::string go(int n_times) override { PYBIND11_OVERRIDE_PURE(std::string, Husky, go, n_times); }
@@ -306,14 +306,14 @@ follows:
306306.. code-block :: cpp
307307
308308 template <class AnimalBase = Animal>
309- class PyAnimal : public AnimalBase, py::trampoline_self_life_support {
309+ class PyAnimal : public AnimalBase, public py::trampoline_self_life_support {
310310 public:
311311 using AnimalBase::AnimalBase; // Inherit constructors
312312 std::string go(int n_times) override { PYBIND11_OVERRIDE_PURE(std::string, AnimalBase, go, n_times); }
313313 std::string name() override { PYBIND11_OVERRIDE(std::string, AnimalBase, name, ); }
314314 };
315315 template <class DogBase = Dog>
316- class PyDog : public PyAnimal<DogBase>, py::trampoline_self_life_support {
316+ class PyDog : public PyAnimal<DogBase>, public py::trampoline_self_life_support {
317317 public:
318318 using PyAnimal<DogBase>::PyAnimal; // Inherit constructors
319319 // Override PyAnimal's pure virtual go() with a non-pure one:
@@ -564,7 +564,7 @@ an alias:
564564 // ...
565565 virtual ~Example() = default;
566566 };
567- class PyExample : public Example, py::trampoline_self_life_support {
567+ class PyExample : public Example, public py::trampoline_self_life_support {
568568 public:
569569 using Example::Example;
570570 PyExample(Example &&base) : Example(std::move(base)) {}
@@ -774,7 +774,7 @@ to Python.
774774
775775 #include <pybind11/operators.h>
776776
777- PYBIND11_MODULE(example, m) {
777+ PYBIND11_MODULE(example, m, py::mod_gil_not_used() ) {
778778 py::class_<Vector2>(m, "Vector2")
779779 .def(py::init<float, float>())
780780 .def(py::self + py::self)
@@ -1170,7 +1170,7 @@ described trampoline:
11701170 virtual int foo() const { return 42; }
11711171 };
11721172
1173- class Trampoline : public A, py::trampoline_self_life_support {
1173+ class Trampoline : public A, public py::trampoline_self_life_support {
11741174 public:
11751175 int foo() const override { PYBIND11_OVERRIDE(int, A, foo, ); }
11761176 };
0 commit comments