| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| attr.h | ||
| buffer_info.h | ||
| cast.h | ||
| chrono.h | ||
| class_support.h | ||
| common.h | ||
| complex.h | ||
| descr.h | ||
| eigen.h | ||
| embed.h | ||
| eval.h | ||
| functional.h | ||
| numpy.h | ||
| operators.h | ||
| options.h | ||
| pybind11.h | ||
| pytypes.h | ||
| stl.h | ||
| stl_bind.h | ||
| typeid.h |
This reimplements the std::reference_wrapper<T> caster to be a shell around the underlying T caster (rather than assuming T is a generic type), which lets it work for things like `std::reference_wrapper<int>` or anything else custom type caster with a lvalue cast operator. This also makes it properly fail when None is provided, just as an ordinary lvalue reference argument would similarly fail. This also adds a static assert to test that T has an appropriate type caster. It triggers for casters like `std::pair`, which have return-by-value cast operators. (In theory this could be supported by storing a local temporary for such types, but that's beyond the scope of this PR). This also replaces `automatic` or `take_ownership` return value policies with `automatic_reference` as taking ownership of a reference inside a reference_wrapper is not valid.
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| attr.h | Loading commit data... | |
| buffer_info.h | Loading commit data... | |
| cast.h | Loading commit data... | |
| chrono.h | Loading commit data... | |
| class_support.h | Loading commit data... | |
| common.h | Loading commit data... | |
| complex.h | Loading commit data... | |
| descr.h | Loading commit data... | |
| eigen.h | Loading commit data... | |
| embed.h | Loading commit data... | |
| eval.h | Loading commit data... | |
| functional.h | Loading commit data... | |
| numpy.h | Loading commit data... | |
| operators.h | Loading commit data... | |
| options.h | Loading commit data... | |
| pybind11.h | Loading commit data... | |
| pytypes.h | Loading commit data... | |
| stl.h | Loading commit data... | |
| stl_bind.h | Loading commit data... | |
| typeid.h | Loading commit data... |