Avoid C-style casts for pointers in docs (#2487)

Why only for pointers? Because C casts are hard to grep for.
This commit is contained in:
Boris Staletic 2020-09-14 20:07:29 +02:00 committed by GitHub
parent cc982ac1cd
commit 32bb9071aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 8 deletions

View File

@ -360,7 +360,7 @@ like so:
.. code-block:: cpp
py::class_<MyClass>("MyClass")
.def("myFunction", py::arg("arg") = (SomeType *) nullptr);
.def("myFunction", py::arg("arg") = static_cast<SomeType *>(nullptr));
Keyword-only arguments
======================

View File

@ -176,9 +176,9 @@ pybind11 version. Consider the following example:
.. code-block:: cpp
auto data = (MyData *) py::get_shared_data("mydata");
auto data = reinterpret_cast<MyData *>(py::get_shared_data("mydata"));
if (!data)
data = (MyData *) py::set_shared_data("mydata", new MyData(42));
data = static_cast<MyData *>(py::set_shared_data("mydata", new MyData(42)));
If the above snippet was used in several separately compiled extension modules,
the first one to be imported would create a ``MyData`` instance and associate

View File

@ -274,9 +274,9 @@ simply using ``vectorize``).
py::buffer_info buf3 = result.request();
double *ptr1 = (double *) buf1.ptr,
*ptr2 = (double *) buf2.ptr,
*ptr3 = (double *) buf3.ptr;
double *ptr1 = static_cast<double *>(buf1.ptr);
double *ptr2 = static_cast<double *>(buf2.ptr);
double *ptr3 = static_cast<double *>(buf3.ptr);
for (size_t idx = 0; idx < buf1.shape[0]; idx++)
ptr3[idx] = ptr1[idx] + ptr2[idx];

View File

@ -373,8 +373,8 @@ sequence.
py::class_<Pet>(m, "Pet")
.def(py::init<const std::string &, int>())
.def("set", (void (Pet::*)(int)) &Pet::set, "Set the pet's age")
.def("set", (void (Pet::*)(const std::string &)) &Pet::set, "Set the pet's name");
.def("set", static_cast<void (Pet::*)(int)>(&Pet::set), "Set the pet's age")
.def("set", static_cast<void (Pet::*)(const std::string &)>(&Pet::set), "Set the pet's name");
The overload signatures are also visible in the method's docstring: