- 20 Oct, 2016 8 commits
-
-
Ivan Smirnov committed
-
Ivan Smirnov committed
-
Ivan Smirnov committed
-
Ivan Smirnov committed
-
Ivan Smirnov committed
-
Auto-implement format/numpy descriptors for enum types
Wenzel Jakob committed -
Ivan Smirnov committed
-
Ivan Smirnov committed
-
- 17 Oct, 2016 2 commits
-
-
Make operator bool() explicit
Wenzel Jakob committed -
This prevents unwanted conversions to bool or int such as: ``` py::object my_object; std::cout << my_object << std::endl; // compiles and prints 0 or 1 int n = my_object; // compiles and is nonsense ``` With `explicit operator bool()` the above cases become compiler errors.
Dean Moldovan committed
-
- 16 Oct, 2016 2 commits
-
-
Disable most implicit conversion constructors
Wenzel Jakob committed -
We have various classes that have non-explicit constructors that accept a single argument, which is implicitly making them implicitly convertible from the argument. In a few cases, this is desirable (e.g. implicit conversion of std::string to py::str, or conversion of double to py::float_); in many others, however, it is unintended (e.g. implicit conversion of size_t to some pre-declared py::array_t<T> type). This disables most of the unwanted implicit conversions by marking them `explicit`, and comments the ones that are deliberately left implicit.
Jason Rhinelander committed
-
- 15 Oct, 2016 2 commits
-
-
Accept any sequence type as std::vector (or std::list)
Wenzel Jakob committed -
Accept any sequence type as std::vector
Pim Schellart committed
-
- 14 Oct, 2016 3 commits
-
-
Fix dynamic attribute inheritance in C++
Wenzel Jakob committed -
`PyType_Ready` would usually perform the inheritance for us, but it can't adjust `tp_basicsize` appropriately.
Dean Moldovan committed -
Add dynamic attribute support
Wenzel Jakob committed
-
- 13 Oct, 2016 6 commits
-
-
Dean Moldovan committed
-
This convenience function ensures that a py::object is either a py::array, or the implementation will try to convert it into one. Layout requirements (such as c_style or f_style) can be also be provided.
Wenzel Jakob committed -
Dean Moldovan committed
-
Permit creation of NumPy arrays with a "base" object that owns the data
Wenzel Jakob committed -
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 12 Oct, 2016 3 commits
-
-
This patch adds an extra base handle parameter to most ``py::array`` and ``py::array_t<>`` constructors. If specified along with a pointer to data, the base object will be registered within NumPy, which increases the base's reference count. This feature is useful to create shallow copies of C++ or Python arrays while ensuring that the owners of the underlying can't be garbage collected while referenced by NumPy. The commit also adds a simple test function involving a ``wrap()`` function that creates shallow copies of various N-D arrays.
Wenzel Jakob committed -
- This actually works with no changes, I just wasn't 100% convinced and decided to write a test to see if it's true.
Wenzel Jakob committed -
Pim Schellart committed
-
- 11 Oct, 2016 1 commit
-
-
Dean Moldovan committed
-
- 09 Oct, 2016 6 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
extra python version sanity check at import time
Wenzel Jakob committed -
Python 3.5 can often import pybind11 modules compiled compiled for Python 3.4 (i.e. all symbols can be resolved), but this leads to crashes later on due to changes in various Python-internal data structures. This commit adds an extra sanity check to prevent a successful import when the Python versions don't match.
Wenzel Jakob committed -
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 08 Oct, 2016 1 commit
-
-
This fixes an issue that can arise when forwarding (*args, **kwargs) captured from a pybind11-bound function call to another Python function. When the initial function call includes no keyword arguments, the py::kwargs field is set to nullptr and causes a crash later on.
Wenzel Jakob committed
-
- 07 Oct, 2016 1 commit
-
-
Wenzel Jakob committed
-
- 02 Oct, 2016 2 commits
-
-
Re-add accessor bool operator
Wenzel Jakob committed -
PR #425 removed the bool operator from attribute accessors. This is likely in use by existing code as it was the only way before #425 added the `hasattr` function to check for the existence of an attribute, via: if (obj.attr("foo")) { ... } This commit adds it back in for attr and item accessors, but with a deprecation warning to use `hasattr(obj, ...)` or `obj.contains(...)` instead.Jason Rhinelander committed
-
- 30 Sep, 2016 2 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 29 Sep, 2016 1 commit
-
-
Wenzel Jakob committed
-