- 31 Jan, 2017 5 commits
-
-
* Abstract away some holder functionality (resolve #585) Custom holder types which don't have `.get()` can select the correct function to call by specializing `holder_traits`. * Add support for move-only holders (fix #605)
Dean Moldovan committed -
* Clarify PYBIND11_NUMPY_DTYPE documentation The current documentation and example reads as though PYBIND11_NUMPY_DTYPE is a declarative macro along the same lines as PYBIND11_DECLARE_HOLDER_TYPE, but it isn't. The changes the documentation and docs example to make it clear that you need to "call" the macro. * Add satisfies_{all,any,none}_of<T, Preds> `satisfies_all_of<T, Pred1, Pred2, Pred3>` is a nice legibility-enhanced shortcut for `is_all<Pred1<T>, Pred2<T>, Pred3<T>>`. * Give better error message for non-POD dtype attempts If you try to use a non-POD data type, you get difficult-to-interpret compilation errors (about ::name() not being a member of an internal pybind11 struct, among others), for which isn't at all obvious what the problem is. This adds a static_assert for such cases. It also changes the base case from an empty struct to the is_pod_struct case by no longer using `enable_if<is_pod_struct>` but instead using a static_assert: thus specializations avoid the base class, POD types work, and non-POD types (and unimplemented POD types like std::array) get a more informative static_assert failure. * Prefix macros with PYBIND11_ numpy.h uses unprefixed macros, which seems undesirable. This prefixes them with PYBIND11_ to match all the other macros in numpy.h (and elsewhere). * Add long double support This adds long double and std::complex<long double> support for numpy arrays. This allows some simplification of the code used to generate format descriptors; the new code uses fewer macros, instead putting the code as different templated options; the template conditions end up simpler with this because we are now supporting all basic C++ arithmetic types (and so can use is_arithmetic instead of is_integral + multiple different specializations). In addition to testing that it is indeed working in the test script, it also adds various offset and size calculations there, which fixes the test failures under x86 compilations.Jason Rhinelander committed -
fixed VS build, when _DEBUG is just defined without any value assigned (e.g. VS15)
Matthias Möller committed -
* Make 'any' the default markup role for Sphinx docs * Automate generation of reference docs with doxygen and breathe * Improve reference docs coverage
Dean Moldovan committed -
Pim Schellart committed
-
- 13 Jan, 2017 4 commits
-
-
* Some clarifications to section on virtual fns Primarily, I made it clear that PYBIND11_OVERLOAD_PURE_NAME is not "useful" but required in renaming situations. Also clarified that one should not bind to the trampoline helper class which I found tempting since it seems more explicit. * Remove :emphasize-lines: from cpp block, seems to suppress formatting * docs: emphasize default policy, clarify keep_alive Emphasize the default return value policy since this statement is hidden in a wall of text. Add a hint that call policies are probably required for container objects.
jbarlow83 committed -
* [Doc] Fix several errors of examples from the doc * Add missing operator def. * Added missing `()` * Add missing `namespace`.
myd7349 committed -
Correct function signature of module init function generated PYBIND11_PLUGIN_IMPL macro for Python 2.x (#602)
Alexander Stukowski committed -
Lori A. Burns committed
-
- 06 Jan, 2017 2 commits
-
-
This way a non-CACHE variable can also be used. For example: ``` set(PYBIND11_PYTHON_VERSION <value>) add_subdirectory(...) ```
Dean Moldovan committed -
Wenzel Jakob committed
-
- 04 Jan, 2017 4 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
On a debian jessie machine, running 'python --version --noconftest' caused pytest to try and run the test suite with the not-yet-compiled extension module, thus failing the test. This commit chages the pytest detection so that it only attempts to run an import statement.
Wenzel Jakob committed
-
- 03 Jan, 2017 1 commit
-
-
Dean Moldovan committed
-
- 01 Jan, 2017 4 commits
-
-
Wenzel Jakob committed
-
Both are no longer needed: debian testing has Python 2.7.13 final now, and wheels of numpy and scipy are available.
Jason Rhinelander committed -
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 29 Dec, 2016 2 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 28 Dec, 2016 1 commit
-
-
Michael König committed
-
- 26 Dec, 2016 7 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
Fixes #567. If pybind's CMakeLists gets loaded via an include_directory from another CMakeLists with a higher minimum version (e.g. 3.0), the project() command without a version produces a CMP0048 warning. This commit explicitly requests the new behaviour if the policy exists, as it won't cause problems (we set VERSION later).
Jason Rhinelander committed -
* Fixed a regression that was introduced in the PyPy patch: use ht_qualname_meta instead of ht_qualname to fix PyHeapTypeObject->ht_qualname field. * Added a qualname/repr test that works in both Python 3.3+ and previous versions
Yung-Yu Chen committed -
* Temporarily allows osx homebrew Python 3.6 to fail. https://github.com/pybind/pybind11/pull/570#issuecomment-269120613 "Homebrew just got Python 3.6 (brew install python3), but numpy and scipy don't have binary wheels for 3.6 yet so it's trying to compile from source and failing."
Yung-Yu Chen committed
-
- 23 Dec, 2016 2 commits
-
-
Wenzel Jakob committed
-
Wenzel Jakob committed
-
- 19 Dec, 2016 5 commits
-
-
Jason Rhinelander committed
-
Dean Moldovan committed
-
Makes room for an eventual pybind11::embedded target.
Dean Moldovan committed -
See the documentation for a description of the options.
Dean Moldovan committed -
Add a BUILD_INTERFACE and a pybind11::pybind11 alias for the interface library to match the installed target. Add new cmake tests for add_subdirectory and consolidates the .cpp and .py files needed for the cmake build tests: Before: tests |-- test_installed_module | |-- CMakeLists.txt | |-- main.cpp | \-- test.py \-- test_installed_target |-- CMakeLists.txt |-- main.cpp \-- test.py After: tests \-- test_cmake_build |-- installed_module/CMakeLists.txt |-- installed_target/CMakeLists.txt |-- subdirectory_module/CMakeLists.txt |-- subdirectory_target/CMakeLists.txt |-- main.cpp \-- test.pyDean Moldovan committed
-
- 18 Dec, 2016 1 commit
-
-
Wenzel Jakob committed
-
- 16 Dec, 2016 1 commit
-
-
This commit includes modifications that are needed to get pybind11 to work with PyPy. The full test suite compiles and runs except for a last few functions that are commented out (due to problems in PyPy that were reported on the PyPy bugtracker). Two somewhat intrusive changes were needed to make it possible: two new tags ``py::buffer_protocol()`` and ``py::metaclass()`` must now be specified to the ``class_`` constructor if the class uses the buffer protocol and/or requires a metaclass (e.g. for static properties). Note that this is only for the PyPy version based on Python 2.7 for now. When the PyPy 3.x has caught up in terms of cpyext compliance, a PyPy 3.x patch will follow.
Wenzel Jakob committed
-
- 15 Dec, 2016 1 commit
-
-
Lori A. Burns committed
-