- 31 Jan, 2017 8 commits
-
-
Jason Rhinelander authored
This commit rewrites the function dispatcher code to support mixing regular arguments with py::args/py::kwargs arguments. It also simplifies the argument loader noticeably as it no longer has to worry about args/kwargs: all of that is now sorted out in the dispatcher, which now simply appends a tuple/dict if the function takes py::args/py::kwargs, then passes all the arguments in a vector. When the argument loader hit a py::args or py::kwargs, it doesn't do anything special: it just calls the appropriate type_caster just like it does for any other argument (thus removing the previous special cases for args/kwargs). Switching to passing arguments in a single std::vector instead of a pair of tuples also makes things simpler, both in the dispatch and the argument_loader: since this argument list is strictly pybind-internal (i.e. it never goes to Python) we have no particular reason to use a Python tuple here. Some (intentional) restrictions: - you may not bind a function that has args/kwargs somewhere other than the end (this somewhat matches Python, and keeps the dispatch code a little cleaner by being able to not worry about where to inject the args/kwargs in the argument list). - If you specify an argument both positionally and via a keyword argument, you get a TypeError alerting you to this (as you do in Python).
-
Jason Rhinelander authored
Adds a 32-bit (debian) build to travis-ci.
-
Dustin Spicuzza authored
-
Dean Moldovan authored
* 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)
-
Jason Rhinelander authored
* 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 i... -
Matthias Möller authored
fixed VS build, when _DEBUG is just defined without any value assigned (e.g. VS15)
-
Dean Moldovan authored
* Make 'any' the default markup role for Sphinx docs * Automate generation of reference docs with doxygen and breathe * Improve reference docs coverage
-
Pim Schellart authored
-
- 13 Jan, 2017 4 commits
-
-
jbarlow83 authored
* 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.
-
myd7349 authored
* [Doc] Fix several errors of examples from the doc * Add missing operator def. * Added missing `()` * Add missing `namespace`.
-
Alexander Stukowski authored
Correct function signature of module init function generated PYBIND11_PLUGIN_IMPL macro for Python 2.x (#602)
-
Lori A. Burns authored
-
- 06 Jan, 2017 2 commits
-
-
Dean Moldovan authored
This way a non-CACHE variable can also be used. For example: ``` set(PYBIND11_PYTHON_VERSION <value>) add_subdirectory(...) ```
-
Wenzel Jakob authored
-
- 04 Jan, 2017 4 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
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.
-
- 03 Jan, 2017 1 commit
-
-
Dean Moldovan authored
-
- 01 Jan, 2017 4 commits
-
-
Wenzel Jakob authored
-
Jason Rhinelander authored
Both are no longer needed: debian testing has Python 2.7.13 final now, and wheels of numpy and scipy are available.
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 29 Dec, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 28 Dec, 2016 1 commit
-
-
Michael König authored
-
- 26 Dec, 2016 7 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Jason Rhinelander authored
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).
-
Yung-Yu Chen authored
* 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 authored
* 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."
-
- 23 Dec, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 19 Dec, 2016 5 commits
-
-
Jason Rhinelander authored
-
Dean Moldovan authored
-
Dean Moldovan authored
Makes room for an eventual pybind11::embedded target.
-
Dean Moldovan authored
See the documentation for a description of the options.
-
Dean Moldovan authored
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.py
-