mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-25 14:45:12 +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
|
.. code-block:: cpp
|
||||||
|
|
||||||
py::class_<MyClass>("MyClass")
|
py::class_<MyClass>("MyClass")
|
||||||
.def("myFunction", py::arg("arg") = (SomeType *) nullptr);
|
.def("myFunction", py::arg("arg") = static_cast<SomeType *>(nullptr));
|
||||||
|
|
||||||
Keyword-only arguments
|
Keyword-only arguments
|
||||||
======================
|
======================
|
||||||
|
@ -176,9 +176,9 @@ pybind11 version. Consider the following example:
|
|||||||
|
|
||||||
.. code-block:: cpp
|
.. code-block:: cpp
|
||||||
|
|
||||||
auto data = (MyData *) py::get_shared_data("mydata");
|
auto data = reinterpret_cast<MyData *>(py::get_shared_data("mydata"));
|
||||||
if (!data)
|
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,
|
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
|
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();
|
py::buffer_info buf3 = result.request();
|
||||||
|
|
||||||
double *ptr1 = (double *) buf1.ptr,
|
double *ptr1 = static_cast<double *>(buf1.ptr);
|
||||||
*ptr2 = (double *) buf2.ptr,
|
double *ptr2 = static_cast<double *>(buf2.ptr);
|
||||||
*ptr3 = (double *) buf3.ptr;
|
double *ptr3 = static_cast<double *>(buf3.ptr);
|
||||||
|
|
||||||
for (size_t idx = 0; idx < buf1.shape[0]; idx++)
|
for (size_t idx = 0; idx < buf1.shape[0]; idx++)
|
||||||
ptr3[idx] = ptr1[idx] + ptr2[idx];
|
ptr3[idx] = ptr1[idx] + ptr2[idx];
|
||||||
|
@ -373,8 +373,8 @@ sequence.
|
|||||||
|
|
||||||
py::class_<Pet>(m, "Pet")
|
py::class_<Pet>(m, "Pet")
|
||||||
.def(py::init<const std::string &, int>())
|
.def(py::init<const std::string &, int>())
|
||||||
.def("set", (void (Pet::*)(int)) &Pet::set, "Set the pet's age")
|
.def("set", static_cast<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::*)(const std::string &)>(&Pet::set), "Set the pet's name");
|
||||||
|
|
||||||
The overload signatures are also visible in the method's docstring:
|
The overload signatures are also visible in the method's docstring:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user