Merge branch 'master' into smart_holder

This commit is contained in:
Ralf W. Grosse-Kunstleve 2024-08-14 00:01:47 -07:00
commit 47776dc797
3 changed files with 4 additions and 4 deletions

View File

@ -259,7 +259,7 @@ copying to take place:
"small"_a // <- This one can be copied if needed "small"_a // <- This one can be copied if needed
); );
With the above binding code, attempting to call the the ``some_method(m)`` With the above binding code, attempting to call the ``some_method(m)``
method on a ``MyClass`` object, or attempting to call ``some_function(m, m2)`` method on a ``MyClass`` object, or attempting to call ``some_function(m, m2)``
will raise a ``RuntimeError`` rather than making a temporary copy of the array. will raise a ``RuntimeError`` rather than making a temporary copy of the array.
It will, however, allow the ``m2`` argument to be copied into a temporary if It will, however, allow the ``m2`` argument to be copied into a temporary if

View File

@ -388,7 +388,7 @@ that will be respected instead of the built-in flag search.
The ``OPT_SIZE`` flag enables size-based optimization equivalent to the The ``OPT_SIZE`` flag enables size-based optimization equivalent to the
standard ``/Os`` or ``-Os`` compiler flags and the ``MinSizeRel`` build type, standard ``/Os`` or ``-Os`` compiler flags and the ``MinSizeRel`` build type,
which avoid optimizations that that can substantially increase the size of the which avoid optimizations that can substantially increase the size of the
resulting binary. This flag is particularly useful in projects that are split resulting binary. This flag is particularly useful in projects that are split
into performance-critical parts and associated bindings. In this case, we can into performance-critical parts and associated bindings. In this case, we can
compile the project in release mode (and hence, optimize performance globally), compile the project in release mode (and hence, optimize performance globally),
@ -719,7 +719,7 @@ customizable pybind11-based wrappers by parsing C++ header files.
[litgen]_ is an automatic python bindings generator with a focus on generating [litgen]_ is an automatic python bindings generator with a focus on generating
documented and discoverable bindings: bindings will nicely reproduce the documentation documented and discoverable bindings: bindings will nicely reproduce the documentation
found in headers. It is is based on srcML (srcml.org), a highly scalable, multi-language found in headers. It is based on srcML (srcml.org), a highly scalable, multi-language
parsing tool with a developer centric approach. The API that you want to expose to python parsing tool with a developer centric approach. The API that you want to expose to python
must be C++14 compatible (but your implementation can use more modern constructs). must be C++14 compatible (but your implementation can use more modern constructs).

View File

@ -554,7 +554,7 @@ enum class return_value_policy : uint8_t {
object without taking ownership similar to the above object without taking ownership similar to the above
return_value_policy::reference policy. In contrast to that policy, the return_value_policy::reference policy. In contrast to that policy, the
function or property's implicit this argument (called the parent) is function or property's implicit this argument (called the parent) is
considered to be the the owner of the return value (the child). considered to be the owner of the return value (the child).
pybind11 then couples the lifetime of the parent to the child via a pybind11 then couples the lifetime of the parent to the child via a
reference relationship that ensures that the parent cannot be garbage reference relationship that ensures that the parent cannot be garbage
collected while Python is still using the child. More advanced collected while Python is still using the child. More advanced