Trygve Laugstøl
3572bc3e82
Changes accessor::operator=() to throw error_already_set() instead of using pybind11_fail().
...
PyObject_SetItem and PyObject_SetAttr both throws an exception on
failure so this will show the underlying exception instead of masking
it.
Fixes #303 .
2016-08-01 08:45:16 +02:00
Wenzel Jakob
464c43513e
further eval() improvements
2016-07-08 15:08:30 +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
Wenzel Jakob
0a07805ab6
fixed many conversion warnings on clang
2016-05-29 13:40:40 +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
178c8a899d
nicer type_caster::load() calling conventions
2016-05-15 20:23:27 +02:00
Wenzel Jakob
6c03beb867
enable *args and **kwargs notation ( closes #190 )
2016-05-08 14:34:09 +02:00
Wenzel Jakob
ad69634907
minor cleanups
2016-05-03 13:36:32 +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
1959d18c48
fixed return value type in py::make_iterator
2016-04-30 21:42:17 +02:00
Wenzel Jakob
fd7cf51a56
enabled casting of const void*
2016-04-30 19:25:37 +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
18fb3e323a
added a pybind11::none class
2016-04-25 03:27:32 +02:00
Wenzel Jakob
7ca2755880
new type wrapper for iterable objects
2016-04-22 09:33:19 +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
b282595bba
convenience wrapper for constructing iterators ( fixes #142 )
2016-04-14 00:23:37 +02:00
Wenzel Jakob
5a6aa49105
Added len() function
2016-04-13 22:48:05 +02:00
Wenzel Jakob
1c329aab5a
pickling support ( fixes #144 )
2016-04-13 02:58:56 +02:00
Ben Pritchard
1b52246f5d
Better testing for callable python functions
2016-03-10 16:31:38 -05:00
Axel Huebl
7cd569c703
Fix Compile Error: str Naming
...
This fixes a build error compiling with `nvcc/7.5` + `gcc/4.9.2`
causing a
```
./include/pybind11/pybind11.h(952): here
./include/pybind11/pytypes.h: In member function ‘pybind11::str pybind11::handle::str() const’:
./include/pybind11/pytypes.h:269:8: error: expected primary-expression before ‘class’
return pybind11::str(str, false);
^
./include/pybind11/pytypes.h:269:8: error: expected ‘;’ before ‘class’
./include/pybind11/pytypes.h:269:8: error: expected primary-expression before ‘class’
```
2016-01-19 01:26:52 +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
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
d561cb010c
fully moved __pybind11__ Python attributes to the C++ side, cleanup & documentation pass over the main header file
2016-01-17 22:31:15 +01:00
Wenzel Jakob
d33361a6d7
moved lifetime management of Py_buffer to pybind11::buffer_info, renamed count->size to match NumPy naming ( fixes #34 )
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
2ca07de83c
minor fix for PYBIND11_OBJECT_CVT
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
f08a3f0622
Merge pull request #52 from tmiasko/const-correctness
...
Make handle and related classes const correct.
2016-01-10 21:34:55 +01:00
Tomasz Miąsko
ca77130be8
Use object class to hold partially converted python objects.
...
Using object class to hold converted object automatically deallocates
object if an exception is thrown or scope is left before constructing
complete Python object.
Additionally added method object::release() that allows to release
ownership of python object without decreasing its reference count.
2016-01-02 21:07:18 +01:00
Tomasz Miąsko
875df5528d
Make handle and related classes const correct.
...
This gives handle classes a typical pointer semantics with respects to
constness.
2015-12-28 08:11:16 +01:00
Wenzel Jakob
45f7c65594
Merge pull request #50 from tmiasko/handle_cast_const
...
Add const modifier to handle::cast.
2015-12-27 17:29:24 +01:00
Tomasz Miąsko
c83e062263
Create an empty python tuple in pybind::tuple default constructor.
...
Follow the same semantics as constructors of dict, list, and set by
creating valid Python object in default constructor of a tuple class.
2015-12-27 09:05:25 +01:00
Tomasz Miąsko
cc39b2f37f
Add const modifier to handle::cast.
2015-12-26 19:01:28 +01:00
Wenzel Jakob
d1a24823bc
considerable simplifications to the Python type casters
2015-12-16 12:17:46 +01:00
Wenzel Jakob
60c36db1c9
generic integer type handling
2015-11-30 12:45:34 +01:00
Wenzel Jakob
7f8d1c20f1
improved int_ constructor
2015-11-29 13:48:16 +01:00
Wenzel Jakob
4ee0f2a19e
add missing instructor for bool_
2015-11-29 13:47:10 +01:00
Wenzel Jakob
e1b113b0d9
ifdef WIN32 -> _WIN32
2015-11-28 14:20:38 +01:00
Wenzel Jakob
eb7c0b82ec
functional.h: support more kinds of Python functions
2015-11-16 18:39:43 +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
3419ee909f
fix linux 32 bit builds
2015-10-21 11:07:48 +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