Ben North
93594a3857
Fix handling of one-dimensional input arrays
...
In eigen.h, type_caster<Type>::load(): For the 'ndim == 1' case, use
the 'InnerStride' type because there is only an inner stride for a
vector. Choose between (n_elts x 1) or (1 x n_elts) according to
whether we're constructing a Vector or a RowVector.
2016-07-05 21:13:24 +01:00
Merlin Nimier-David
68ca3b6343
more informative error message when py::make_tuple fails
2016-07-01 20:35:35 +02:00
Wenzel Jakob
0006259508
switched internal usage of cast_error exception to reference_cast_error
2016-07-01 16:07:35 +02:00
Wenzel Jakob
472ffbba96
more informative error message when py::cast fails
2016-07-01 16:07:24 +02:00
hbruintjes
70d2e57b09
Cast to derived holder using container type when using std::enable_shared_from_this.
...
Allows const types to be used by shared_ptr
2016-07-01 12:39:55 +02:00
Wenzel Jakob
2353b9b8fa
quench C4459 warning on MSVC2015
2016-06-27 16:05:46 +02:00
Wenzel Jakob
37e1f61f54
allow passing a 'return value policy' to handle::operator()
2016-06-22 14:29:13 +02:00
Wenzel Jakob
4a53d38bd4
only deprecate call() function if C++14 is available
2016-06-22 14:02:27 +02:00
Ivan Smirnov
daed1abc9c
Switch to using prefix increment in make_iterator
2016-06-17 22:50:34 +01:00
Ivan Smirnov
3ae5bd787f
Remove extraneous semicolon (-pedantic warning)
2016-06-17 22:29:10 +01:00
Jerry Gamache
b8f2d1886c
Remove unnecessary braces.
2016-06-15 12:55:34 -04:00
Jerry Gamache
c6e0cdfa54
Allow pybind11::arg to have 0, false, or "" as default values.
2016-06-15 12:48:15 -04:00
Wenzel Jakob
f85c52901e
starting to work on release v1.9
2016-06-14 15:24:47 +02:00
Dean Moldovan
9e62558d52
Check the number of named arguments at compile time
2016-06-04 00:27:32 +02:00
Dean Moldovan
96017dd7cd
Add _a literal for named arguments
2016-06-03 23:15:22 +02:00
Wenzel Jakob
7c99ff2a00
fix segfault when passing a docstring to def_property* ( fixes #222 )
2016-06-02 20:34:01 +02:00
Dean Moldovan
f2b36c2ed2
Fix a couple of warnings
...
- Conversion warning on clang: 'long' to 'size_t'
- Unused variable warning on MSVC
2016-06-01 23:48:23 +02:00
Wenzel Jakob
38d8b8cfe2
don't allow registering a class twice ( fixes #218 )
2016-05-31 09:53:28 +02:00
Wenzel Jakob
5eda97d7e4
gcc fix
2016-05-30 11:45:02 +02:00
Wenzel Jakob
b569272127
quench some Eigen-related warnings
2016-05-30 11:37:07 +02:00
Wenzel Jakob
5dd33d880d
fix issues with std::vector<bool> overload in STL ( fixes #216 )
2016-05-30 11:28:21 +02:00
Wenzel Jakob
0a07805ab6
fixed many conversion warnings on clang
2016-05-29 13:40:40 +02:00
Wenzel Jakob
c48da92561
Merge branch 'cygwin' of https://github.com/BorisSchaeling/pybind11 into BorisSchaeling-cygwin
2016-05-29 12:46:21 +02:00
Boris Schäling
20ee935203
Use decltype to deduce return type of PyThread_create_key
2016-05-28 12:26:18 +02:00
Boris Schäling
8965644536
Make examples build and run on Cygwin
2016-05-26 22:42:07 +02:00
Wenzel Jakob
69e1a5c91b
quenched warnings on windows, comments in gil_scoped_release
2016-05-26 14:29:31 +02:00
Wenzel Jakob
86d825f330
Redesigned virtual call mechanism and user-facing syntax (breaking change!)
...
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.
2016-05-26 13:36:24 +02:00
Wenzel Jakob
60abf299c6
minor cleanups in pytypes.h
2016-05-26 10:47:11 +02:00
Yung-Yu Chen
114bfeb762
pybind11::args should have been derived from tuple
...
args was derived from list, but cpp_function::dispatcher sends a tuple to it->impl (line #346 and #392 in pybind11.h). As a result args::size() and args::operator[] don't work at all. On my mac args::size() returns -1. Making args a subclass of tuple fixes it.
2016-05-25 21:09:35 +08:00
Wenzel Jakob
1e3be73a52
PYBIND11_OVERLOAD_NAME and PYBIND11_OVERLOAD_PURE_NAME ( fixes #205 )
2016-05-24 23:42:14 +02:00
Wenzel Jakob
b437867338
eigen.h: relax access to members
2016-05-24 21:40:03 +02:00
Andreas Bergmeier
16d4394845
Increase available information on invocation error.
2016-05-24 09:19:44 +02:00
Wenzel Jakob
a970a579b2
eigen.h: return compile time vectors as 1D NumPy arrays
2016-05-20 12:01:03 +02:00
Wenzel Jakob
b47a9de035
ability to prevent force casts in numpy arguments
2016-05-19 16:02:09 +02:00
Sergey Lyskov
065526a369
Refactoring bind_vector to take std::string to avoid capture of potentially temporary char const * when calling vector_if_insertion_operator
2016-05-17 23:30:58 -04:00
Wenzel Jakob
3f200fab22
don't implicitly convert doubles to ints
2016-05-17 15:35:29 +02:00
Wenzel Jakob
d1bfc4e0f8
support __bool__ on Python 2.x and 3.x
2016-05-16 18:52:50 +02:00
Wenzel Jakob
00c7d6ccc7
Merge branch 'stl_bind'
2016-05-16 12:33:20 +02:00
Wenzel Jakob
25c03cecfa
stl_bind redesign & cleanup pass
2016-05-16 12:12:58 +02:00
Wenzel Jakob
affb9f40c5
quench conversion warnings on windows
2016-05-16 00:04:20 +02:00
Wenzel Jakob
deeab558ba
quench strict aliasing warnings
2016-05-16 00:04:20 +02:00
Wenzel Jakob
a380ed9259
consider __setstate__ as a constructor
2016-05-16 00:04:17 +02:00
Sergey Lyskov
26aca3d8ad
Adding vector ’extend’ member function
2016-05-15 20:46:07 +02:00
Sergey Lyskov
9ee4f92b06
Refactoring vector_binder so it now a function
2016-05-15 20:46:07 +02:00
Sergey Lyskov
2de5af998d
Adding workarounds for MSVC 2015
2016-05-15 20:46:07 +02:00
Sergey Lyskov
7b50cbd870
Fixing VC build, apparently MSVC implementation of std::is_default_constructible had no bool() operator
2016-05-15 20:46:07 +02:00
Sergey Lyskov
a95bde1ea5
Adding documentation for value_error. Fixing various formatting issues. Removing redundant binding for C++ style methods. Adding bindings for iterator and slicing protocol. Extending examples.
2016-05-15 20:46:07 +02:00
Sergey Lyskov
25ac21903a
properly adding value_error exception
2016-05-15 20:46:07 +02:00
Sergey Lyskov
a315c7a25a
Adding Python-style modifiers for vector. Wrapping has_insertion_operator_implementation in _MSC_VER ifdef’s. Adding ‘!=0’ instead of bool cast’s.
2016-05-15 20:46:07 +02:00
Sergey Lyskov
eae7744c0e
adding stl_binders
2016-05-15 20:46:07 +02:00
Wenzel Jakob
178c8a899d
nicer type_caster::load() calling conventions
2016-05-15 20:23:27 +02:00
Wenzel Jakob
5984baafd0
redesigned cpp_function constructor; significant space savings
2016-05-15 20:23:27 +02:00
Johan Mabille
a63d93ba44
constructor fix
2016-05-11 15:03:16 +02:00
Johan Mabille
a580ed8c47
Compilation issue fixed
2016-05-11 14:45:01 +02:00
Wenzel Jakob
6c03beb867
enable *args and **kwargs notation ( closes #190 )
2016-05-08 14:34:09 +02:00
Wenzel Jakob
e611823e4c
quench warning on osx
2016-05-05 21:54:30 +02:00
Wenzel Jakob
9e0a0568fe
transparent conversion of dense and sparse Eigen types
2016-05-05 21:44:29 +02:00
Wenzel Jakob
f1032df891
only do numpy contiguous C/Fortran array conversion when explicitly requested
2016-05-05 10:00:00 +02:00
Wenzel Jakob
876eeab4ca
redesigned format_descriptor<> and npy_format_descriptor<>
...
This somewhat heavyweight solution will avoid size_t/long long/long/int
mismatches on various platforms once and for all. The previous template
overloads could e.g. not handle size_t on Darwin.
One gotcha: the 'format_descriptor<T>::value()' syntax changed to just
'format_descriptor<T>::value'
2016-05-04 22:36:57 +02:00
Wenzel Jakob
ad69634907
minor cleanups
2016-05-03 13:36:32 +02:00
Wenzel Jakob
aadc2f3d8c
cast(): use cast_op_type mechanism
2016-05-03 13:27:57 +02:00
Wenzel Jakob
6d2529613a
fix incorrect in macro if statement
2016-05-01 20:47:49 +02:00
Wenzel Jakob
bd57eb484d
don't try to cast 'None' into a C++ lvalue reference
2016-05-01 14:42:20 +02:00
Wenzel Jakob
6fb48490ef
fix crash when None is passed to enum::operator==
2016-05-01 12:45:38 +02:00
Wenzel Jakob
2bc946bd7a
copy/move constructor detection workaround (MSVC 2015 bug)
2016-05-01 10:28:00 +02:00
Wenzel Jakob
5612a0c1c2
generalized str::operator std::string() to accept 'bytes'(3.x)/'string'(2.7)
2016-05-01 00:32:18 +02:00
Wenzel Jakob
fc92d82bba
added [[noreturn]] attribute to pybind11_fail
2016-04-30 23:55:44 +02:00
Wenzel Jakob
8edfa0c10f
further simplifications to shared_ptr caster
2016-04-30 23:01:06 +02:00
Wenzel Jakob
ffd85b46d8
return value policy fix for functions returning std::shared_ptr<> ( fixes #187 )
2016-04-30 22:41:05 +02:00
Wenzel Jakob
c4d7ccd8b0
started working on v1.8
2016-04-30 22:00:44 +02:00
Wenzel Jakob
e70b2abb6d
preparing for v1.7 release
2016-04-30 22:00:24 +02:00
Wenzel Jakob
1959d18c48
fixed return value type in py::make_iterator
2016-04-30 21:42:17 +02:00
Wenzel Jakob
772c6d54d6
enable passing C++ instances to void*-valued arguments
2016-04-30 21:28:45 +02:00
Wenzel Jakob
e8b9dd263c
fixed docstring generation for void pointers
2016-04-30 19:35:24 +02:00
Wenzel Jakob
fd7cf51a56
enabled casting of const void*
2016-04-30 19:25:37 +02:00
Wenzel Jakob
06f56ee1e9
opaque type redesign
2016-04-28 17:49:46 +02:00
Wenzel Jakob
6ca6e82f7c
fix various iterator issues ( fixes #181 )
2016-04-27 14:33:52 +02:00
Wenzel Jakob
a01977ec96
pytypes noexcept annotations
2016-04-27 02:39:36 +02:00
Wenzel Jakob
e84f557edf
documentation improvements
2016-04-26 23:48:55 +02:00
Wenzel Jakob
19dfc50d10
is_move_constructible simplification
2016-04-25 23:49:03 +02:00
Wenzel Jakob
f7b5874ca3
new move value policy
2016-04-25 23:04:27 +02:00
Wenzel Jakob
fbafdea672
a few more GIL-related compatibility fixes
2016-04-25 17:48:56 +02:00
Wenzel Jakob
17b10d7cbf
functional.h: acquire GIL before calling Python function
2016-04-25 09:17:41 +02:00
Wenzel Jakob
2f6662e174
Python 2.7.x fixes for new gil_scoped_release
2016-04-25 09:16:41 +02:00
Wenzel Jakob
084ca0e553
compilation fixes
2016-04-25 04:00:47 +02:00
Wenzel Jakob
39e97e6a49
significant redesign of GIL state handling
2016-04-25 03:27:32 +02:00
Wenzel Jakob
18fb3e323a
added a pybind11::none class
2016-04-25 03:27:32 +02:00
Wenzel Jakob
9b880ba743
keep_alive: don't fail when there is no patient
2016-04-25 03:26:36 +02:00
Wenzel Jakob
7d0162a2df
minor cleanups
2016-04-25 03:26:35 +02:00
Wenzel Jakob
7ca2755880
new type wrapper for iterable objects
2016-04-22 09:33:19 +02:00
Wenzel Jakob
54b6fdd43d
starting work on the v1.6 release
2016-04-21 12:29:17 +02:00
Wenzel Jakob
dbe43ffcce
completed implicit type casters for reference_wrapper
2016-04-21 12:21:14 +02:00
Wenzel Jakob
f54ded74f1
added caster for std::reference_wrapper ( fixes #171 )
2016-04-20 17:00:57 +02:00
Wenzel Jakob
e65e58716e
slight generalization of cast_op_type
2016-04-18 21:22:22 +02:00
Wenzel Jakob
8cb6cb33ef
minor cleanups in common.h; updated author info and copyright year
2016-04-18 10:53:38 +02:00
Wenzel Jakob
bf0c7dcc22
convenience overload for make_iterator()
2016-04-18 10:52:12 +02:00
Wenzel Jakob
1dc940d4b7
quenched -pendantic warnings ( closes #167 )
2016-04-18 10:41:44 +02:00
Wenzel Jakob
b2b44a9af8
fix for virtual dispatch on newly created threads
2016-04-15 17:59:53 +02:00
Wenzel Jakob
8bd31c71e4
New automatic return value policy for cat() and make_tuple(), fixed an ambiguity issue
2016-04-14 15:00:30 +02:00
Wenzel Jakob
b282595bba
convenience wrapper for constructing iterators ( fixes #142 )
2016-04-14 00:23:37 +02:00