Commit Graph

106 Commits

Author SHA1 Message Date
Wenzel Jakob 9e75905b69 fix testcase issue on windows related to unicode encoding 2016-03-31 14:23:43 +02:00
Wenzel Jakob 9883ec01d7 allow nullptr string values (closes #138) 2016-03-26 23:37:51 +01:00
Wenzel Jakob d3349af48b modularized logic in preceding change, fixed issue with char (fixes #150) 2016-03-26 23:04:10 +01:00
Wenzel Jakob de1bca864e added feature to pass void* pointers by popular demand 2016-03-26 17:51:09 +01:00
Wenzel Jakob eda978e003 support for opaque types 2016-03-15 15:07:55 +01:00
Ben Pritchard 1b52246f5d Better testing for callable python functions 2016-03-10 16:31:38 -05:00
Wenzel Jakob 17cdb06c1b fix severe regression involving character arrays (fixes #137) 2016-03-10 13:24:10 +01:00
Wenzel Jakob eb5277b38e Merge pull request #119 from SylvainCorlay/docstring
Signature formatting for sphinx
2016-03-09 16:37:44 +01:00
Sylvain Corlay 4c7bf9bb94 Add return type 2016-03-08 18:44:04 -05:00
Sylvain Corlay 13b22bf4f6 Signature formatting for sphinx 2016-03-08 16:06:05 -05:00
Wenzel Jakob 81dfd2c51f Working type casters for wide strings and wide characters 2016-03-08 20:48:07 +01:00
Wenzel Jakob 4a50fa5cd4 Address issue with handle::cast<bool>(), quench warning in example 12 (fixes #110) 2016-02-23 23:51:01 +01:00
jmabille 9cfa71f411 Example of bug in functions returning bool overriden in python 2016-02-23 23:48:05 +01:00
Wenzel Jakob 57b52798e2 fixed run_test script 2016-02-20 21:19:30 +01:00
Wenzel Jakob 80c2451ac5 use relaxed testing scheme for MSVC and the intel compiler (they miss some RV optimizations) 2016-02-20 20:53:10 +01:00
Johan Mabille 1dc960c37f NumPy-style broadcasting support in pybind11::vectorize 2016-02-20 12:14:52 +01:00
Wenzel Jakob 10c74c6f34 transparent std::array conversion (fixes #97) 2016-02-07 16:36:51 +01:00
Wenzel Jakob a65017902e set __module__ attribute of functions (fixes #95) 2016-02-04 23:03:58 +01:00
Wenzel Jakob 15f6a0030e enum comparison and conversion operations (closes #80) 2016-01-24 14:05:12 +01:00
Wenzel Jakob 48548ea4a5 general cleanup of the codebase
- new pybind11::base<> attribute to indicate a subclass relationship
- unified infrastructure for parsing variadic arguments in class_ and cpp_function
- use 'handle' and 'object' more consistently everywhere
2016-01-17 22:31:15 +01:00
Wenzel Jakob 9180519d8c added an example on using fancier kinds of default arguments 2016-01-17 22:31:15 +01:00
Wenzel Jakob 53b26549d0 python 3.2 compatiblity (closes #56) 2016-01-17 22:31:15 +01:00
Wenzel Jakob 678d787ca4 do more work with classes from pytypes.h (especially for STL container casting) 2016-01-17 22:31:15 +01:00
Wenzel Jakob b2c2c79240 improved handling of shared/smart pointers
Previously, pybind11 required classes using std::shared_ptr<> to derive
from std::enable_shared_from_this<> (or compilation failures would ensue).

Everything now also works for classes that don't do this, assuming that
some basic rules are followed (e.g. never passing "raw" pointers of
instances manged by shared pointers). The safer
std::enable_shared_from_this<> approach continues to be supported.
2016-01-17 22:31:15 +01:00
Wenzel Jakob 5f218b3f2c keep_alive call policy (analogous to Boost.Python's with_custodian_and_ward, fixes #62) 2016-01-17 22:31:15 +01:00
Wenzel Jakob 82ffd40870 type of void fixed (None -> NoneType) 2016-01-17 22:31:15 +01:00
Wenzel Jakob 27e8e1066b added new type pybind11::bytes, cleanup of various macros (fixes #49) 2016-01-17 22:31:15 +01:00
Wenzel Jakob 66c9a40213 Much more efficient generation of function signatures, updated docs
This modification taps into some newer C++14 features (if present) to
generate function signatures considerably more efficiently at compile
time rather than at run time.

With this change, pybind11 binaries are now *2.1 times* smaller compared
to the Boost.Python baseline in the benchmark. Compilation times get a
nice improvement as well.

Visual Studio 2015 unfortunately doesn't implement 'constexpr' well
enough yet to support this change and uses a runtime fallback.
2016-01-17 22:31:15 +01:00
mk kim b62c1203f5 Fix typographical error 2015-12-14 16:00:58 +09:00
Wenzel Jakob 76269b70b6 fix test harness for windows debug builds 2015-12-13 11:33:41 +01:00
Wenzel Jakob 60c36db1c9 generic integer type handling 2015-11-30 12:45:34 +01:00
Wenzel Jakob 6e213c9ca0 improved shared pointer support (fixes #14) 2015-11-24 23:18:32 +01:00
Wenzel Jakob 3ee91b2f0a renamed pybind11::set::insert -> add to match C api naming 2015-11-15 13:03:07 +01:00
Wenzel Jakob 333e889ef2 Improved STL support, support for std::set 2015-11-14 19:04:49 +01:00
Wenzel Jakob fab881caf4 appveyor CI script 2015-10-18 18:01:33 +02:00
Wenzel Jakob b1b714023a consistent macro naming throughout the project 2015-10-18 16:48:30 +02:00
Wenzel Jakob 8f4eb00690 last breaking change: be consistent about the project name 2015-10-15 18:23:56 +02:00
Wenzel Jakob 607654f7ec windows fixes 2015-10-13 23:58:10 +02:00
Wenzel Jakob db028d685c added module::import statement 2015-10-13 23:44:25 +02:00
Wenzel Jakob b50872acf2 A few breaking changes for consistency just before the 1.0 release
1. Renamed PYTHON_* to PYBIND_* everywhere

2. Renamed pybind::array_dtype<> to pybind::array_t<>
2015-10-13 17:46:31 +02:00
Wenzel Jakob 19208fe9a4 install a cleanup handler for nontrivial lambda closures 2015-10-13 17:46:27 +02:00
Wenzel Jakob 3b806d41eb Added configuration files for Travis CI integration 2015-10-11 18:31:46 +02:00
Wenzel Jakob 2cf192f578 fixed testcase to take enum->int conversion into account 2015-10-04 15:17:12 +02:00
Wenzel Jakob 6d6fd099db fixed testing infrastructure 2015-10-01 17:34:26 +02:00
Wenzel Jakob be0e834b82 updated reference output 2015-10-01 17:13:38 +02:00
Wenzel Jakob a2f6fde0dc support for overriding virtual functions 2015-10-01 17:13:35 +02:00
Wenzel Jakob 73a50a0441 Fix for radd/rsub/rmul/rdiv operator convenience wrappers 2015-09-11 17:09:47 +02:00
Wenzel Jakob 5116b02e68 python 2.7 fix 2015-09-05 02:14:39 +02:00
Wenzel Jakob 570822102c support for ancient Python versions (2.7.x) 2015-09-04 23:49:23 +02:00
Wenzel Jakob d557e1d3ad example6 fix 2015-09-01 22:56:40 +02:00
Wenzel Jakob 7b8e032c26 added a few basic number types 2015-08-28 17:49:15 +02:00
Wenzel Jakob 281aa0e668 nicer code separation, cleanup logic, std::function type caster 2015-07-31 04:10:38 +02:00
Wenzel Jakob a576e6a8ca keyword argument support, removed last traces of std::function<> usage 2015-07-29 23:39:11 +02:00
Wenzel Jakob 43398a8548 complex number support 2015-07-28 16:12:20 +02:00
Wenzel Jakob d4258bafef generate more compact binaries 2015-07-28 03:10:15 +02:00
Wenzel Jakob 38bd71134a Initial commit 2015-07-09 15:27:32 +02:00