- 05 Aug, 2016 2 commits
-
-
Jason Rhinelander authored
It was already pretty badly intrusive, but it also appears to make MSVC segfault. Rather than investigating and fixing it, it's easier to just remove it.
-
Jason Rhinelander authored
As discussed in #320. The adds a documentation block that mentions that the trampoline classes must provide overrides for both the classes' own virtual methods *and* any inherited virtual methods. It also provides a templated solution to avoiding method duplication. The example includes a third method (only mentioned in the "see also" section of the documentation addition), using multiple inheritance. While this approach works, and avoids code generation in deep hierarchies, it is intrusive by requiring that the wrapped classes use virtual inheritance, which itself is more instrusive if any of the virtual base classes need anything other than default constructors. As per the discussion in #320, it is kept as an example, but not suggested in the documentation.
-
- 04 Aug, 2016 3 commits
-
-
Jason Rhinelander authored
-
Jason Rhinelander authored
-
Jason Rhinelander authored
Functions returning specialized Eigen matrices like Eigen::DiagonalMatrix and Eigen::SelfAdjointView--which inherit from EigenBase but not DenseBase--isn't currently allowed; such classes are explicitly copyable into a Matrix (by definition), and so we can support functions that return them by copying the value into a Matrix then casting that resulting dense Matrix into a numpy.ndarray. This commit does exactly that.
-
- 01 Aug, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 19 Jul, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 18 Jul, 2016 2 commits
-
-
Jason Rhinelander authored
-
Wenzel Jakob authored
-
- 12 Jul, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 11 Jul, 2016 3 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Pim Schellart authored
-
- 10 Jul, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 08 Jul, 2016 2 commits
-
-
Wenzel Jakob authored
-
Klemens Morgenstern authored
-
- 30 Jun, 2016 3 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 28 Jun, 2016 1 commit
-
-
nafur authored
See https://github.com/pybind/pybind11/issues/254
-
- 22 Jun, 2016 2 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 16 Jun, 2016 1 commit
-
-
Brad Harmon authored
-
- 14 Jun, 2016 4 commits
-
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 03 Jun, 2016 6 commits
-
-
Dean Moldovan authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
Wenzel Jakob authored
-
- 31 May, 2016 1 commit
-
-
Wenzel Jakob authored
-
- 26 May, 2016 4 commits
-
-
Dean Moldovan authored
-
Wenzel Jakob authored
-
Yung-Yu Chen authored
-
Wenzel Jakob authored
Sergey Lyskov pointed out that the trampoline mechanism used to override virtual methods from within Python caused unnecessary overheads when instantiating the original (i.e. non-extended) class. This commit removes this inefficiency, but some syntax changes were needed to achieve this. Projects using this features will need to make a few changes: In particular, the example below shows the old syntax to instantiate a class with a trampoline: class_<TrampolineClass>("MyClass") .alias<MyClass>() .... This is what should be used now: class_<MyClass, std::unique_ptr<MyClass, TrampolineClass>("MyClass") .... Importantly, the trampoline class is now specified as the *third* argument to the class_ template, and the alias<..>() call is gone. The second argument with the unique pointer is simply the default holder type used by pybind11.
-
- 24 May, 2016 1 commit
-
-
Wenzel Jakob authored
-