mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
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:
parent
cc982ac1cd
commit
32bb9071aa
@ -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
|
||||
======================
|
||||
|
@ -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
|
||||
|
@ -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];
|
||||
|
@ -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:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user