Jason Rhinelander
64830e3333
Doc fix for OVERLOAD*_NAME macros
...
The documentation says the string-valued python function name goes
after the C++ function, but it actually goes before it.
2016-08-29 16:58:59 -04:00
Wenzel Jakob
5e4e477b8b
minor fixes to PR #368
2016-08-28 02:03:15 +02:00
Nickolai Belakovski
6333825350
Added support for exposing classes with private destructors and corresponding documentation
2016-08-27 15:09:15 -07:00
Ivan Smirnov
606160ed68
Update the changelog re: generalized iterators
2016-08-24 23:32:13 +01:00
Wenzel Jakob
faec30c4db
Merge pull request #321 from dean0x7d/pytest
...
Port test suite to pytest
2016-08-22 13:02:27 +02:00
Wenzel Jakob
bf099587cd
documentation clarifications ( fixes #346 )
2016-08-22 12:52:02 +02:00
Dean Moldovan
ec0d38ef25
Update the docs to reflect the new test structure
...
Test compilation instructions for Windows were changed to use the
`cmake --build` command line invocation which should be easier than
manually setting up using the CMake GUI and Visual Studio.
2016-08-19 13:32:01 +02:00
Wenzel Jakob
192eb88475
..mention in benchmark docs as well
2016-08-19 09:38:14 +02:00
Wenzel Jakob
68b193e3f2
mention pyrosetta stats
2016-08-19 09:32:58 +02:00
Wenzel Jakob
0b63231bae
minor doc touchups
2016-08-18 10:58:21 +02:00
Glen Walker
f45bb585c3
Support keep_alive where nurse may be None
...
For example keep_alive<0,1>() should work where the return value may sometimes be None. At present a "Could not allocate weak reference!" exception is thrown.
Update documentation to clarify behaviour of keep_alive when nurse is None or does not support weak references.
2016-08-18 09:09:41 +12:00
Dean Moldovan
aebca12bb9
Fix sphinx doc missing code blocks and warnings
...
The missing empty line after `.. code-block::` resulted in incorrectly
parsed restructuredtext (sphinx warnings) and the code blocks were not
generated in the html output.
The `exclude_patterns` change just silences the orphaned file warning.
[ci skip]
2016-08-16 01:30:58 +02:00
Ivan Smirnov
6715736936
Add handle::repr() method
2016-08-14 13:43:31 +01:00
Ivan Smirnov
bccbc10a65
Update changelog and authors
2016-08-13 21:17:26 +01:00
Ivan Smirnov
b65185906d
Update the docs to use the new array ctor
2016-08-13 13:28:56 +01:00
Ivan Smirnov
5412a05cf0
Rename PYBIND11_DTYPE to PYBIND11_NUMPY_DTYPE
2016-08-13 12:43:16 +01:00
Ivan Smirnov
5afe9df30a
Minor fix in the docs
2016-08-13 12:43:16 +01:00
Ivan Smirnov
223afe37fa
Add documentation re: PYBIND11_DTYPE macro
2016-08-13 12:43:16 +01:00
Ivan Smirnov
5e71e17bdf
Make changes to format_descriptor backwards-compat
...
The format strings that are known at compile time are now accessible
via both ::value and ::format(), and format strings for everything
else is accessible via ::format(). This makes it backwards compatible.
2016-08-13 12:43:16 +01:00
Ivan Smirnov
42ad328481
Change format_descriptor::value to a static func
2016-08-13 12:43:16 +01:00
Jason Rhinelander
5aa85be26e
Added pybind11::make_key_iterator for map iteration
...
This allows exposing a dict-like interface to python code, allowing
iteration over keys via:
for k in custommapping:
...
while still allowing iteration over pairs, so that you can also
implement 'dict.items()' functionality which returns a pair iterator,
allowing:
for k, v in custommapping.items():
...
example-sequences-and-iterators is updated with a custom class providing
both types of iteration.
2016-08-11 21:22:05 -04:00
Jason Rhinelander
f2ecd8927e
Implement reference_internal with a keep_alive
...
reference_internal requires an `instance` field to track the returned
reference's parent, but that's just a duplication of what
keep_alive<0,1> does, so use a keep alive to do this to eliminate the
duplication.
2016-08-10 12:08:04 -04:00
Jason Rhinelander
efc2aa7ee7
Removed obsolete documentation about duplicate address problems
...
It no longer applies since instances are now identified by both address
and type.
2016-08-10 11:38:33 -04:00
Jason Rhinelander
d6c365bcfa
virtual + inheritance example: remove multiple inheritance approach
...
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.
2016-08-05 18:03:06 -04:00
Jason Rhinelander
0ca96e2915
Added advanced doc section on virtual methods + inheritance
...
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.
2016-08-05 18:02:37 -04:00
Jason Rhinelander
b68d8fc2c5
*Really* fix enumeration indices
2016-08-04 16:39:30 -04:00
Jason Rhinelander
38d5b4565c
Fixed enumeration indices
2016-08-04 16:36:16 -04:00
Jason Rhinelander
9ffb3dda5f
Eigen support for special matrix objects
...
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.
2016-08-04 15:24:41 -04:00
Wenzel Jakob
3764e28475
added note about args/kwargs limitation
2016-08-01 23:34:48 +02:00
Wenzel Jakob
f38f359f96
documentation fix ( fixes #290 )
2016-07-19 17:48:42 +02:00
Jason Rhinelander
3e2e44f53f
Updated advanced.rst example references
2016-07-18 17:03:37 -04:00
Wenzel Jakob
fb6aed2157
return value policy clarifications
2016-07-18 20:29:53 +02:00
Wenzel Jakob
a720a6046e
updated changelog with v1.8.1, updated release instructions
2016-07-12 18:03:17 +02:00
Wenzel Jakob
c47d498c35
fix rare GC issue during type creation ( fixes #277 )
2016-07-11 23:41:15 +02:00
Wenzel Jakob
58ec1caa9b
updated README and changelog
2016-07-11 23:39:39 +02:00
Wenzel Jakob
3c6ada3a48
Merge pull request #273 from lsst-dm/master
...
Add support for user defined exception translators
2016-07-11 23:38:21 +02:00
Pim Schellart
5a7d17ff16
Add support for user defined exception translators
2016-07-11 17:33:04 -04:00
Wenzel Jakob
e6b2f75949
updated changelog
2016-07-10 10:54:46 +02:00
Wenzel Jakob
954b7932fe
avoid C++ -> Python -> C++ overheads when passing around function objects
2016-07-10 10:44:44 +02:00
Wenzel Jakob
0d3fc3566a
complete rewrite of eval/exec patch
2016-07-08 10:52:10 +02:00
Klemens Morgenstern
c6ad2c4993
added exec functions
2016-07-08 10:05:24 +02:00
Wenzel Jakob
3eeea6fa61
docs: point out limitations of implicit conversions
2016-06-30 18:10:28 +02:00
Wenzel Jakob
f53e300fbd
doc updates
2016-06-30 14:59:23 +02:00
Wenzel Jakob
09e22b4a17
Merge pull request #255 from nafur/patch-1
...
Added warning about same-address-optimization
2016-06-30 14:48:29 +02:00
Wenzel Jakob
4626b5a4af
updated limitations section
2016-06-30 14:46:11 +02:00
nafur
717df75237
Added warning about same-address-optimization
...
See https://github.com/pybind/pybind11/issues/254
2016-06-28 18:07:11 +02:00
Wenzel Jakob
37e1f61f54
allow passing a 'return value policy' to handle::operator()
2016-06-22 14:29:13 +02:00
Wenzel Jakob
f88af0c127
clarification on static properties ( fixes #248 )
2016-06-22 13:52:31 +02:00
Brad Harmon
835fc06ca4
Add callback examples with named parameters
2016-06-16 13:19:15 -05:00
Wenzel Jakob
663513cf23
release process clarifications
2016-06-14 16:08:31 +02:00
Wenzel Jakob
f85c52901e
starting to work on release v1.9
2016-06-14 15:24:47 +02:00
Wenzel Jakob
f950215046
note about semver policy
2016-06-14 15:02:07 +02:00
Wenzel Jakob
1cbe7ef2ac
changelog update
2016-06-14 14:55:10 +02:00
Dean Moldovan
b3eadfa595
Update docs with _a suffix notation for named arguments
2016-06-03 23:52:56 +02:00
Wenzel Jakob
f600c1d899
updated FAQ section on Python detection
2016-06-03 14:47:54 +02:00
Wenzel Jakob
ca8dc08a66
updated pbtest link
2016-06-03 14:24:17 +02:00
Wenzel Jakob
aa79af09f6
updated cmake example link
2016-06-03 12:23:24 +02:00
Wenzel Jakob
9bb97c1b96
docs: added a general note about macro usage
2016-06-03 11:19:50 +02:00
Wenzel Jakob
99279f7107
docs: switched lexer for python console snippets to 'pycon'
2016-06-03 11:19:50 +02:00
Wenzel Jakob
38d8b8cfe2
don't allow registering a class twice ( fixes #218 )
2016-05-31 09:53:28 +02:00
Wenzel Jakob
1503d2fb50
Merge pull request #207 from dean0x7d/cmake
...
Simplify CMake build using add_subdirectory
2016-05-29 12:29:36 +02:00
Dean Moldovan
24ddf4b3f1
Update CMake build documentation
2016-05-27 00:11:52 +02:00
Wenzel Jakob
2c76c693f6
minor update to release process
2016-05-26 16:50:15 +02:00
Wenzel Jakob
6e2e0e9821
Merge pull request #214 from yungyuc/yyc-docver
...
Update document version to the next release 1.8
2016-05-26 16:48:28 +02:00
Yung-Yu Chen
2240ce2adf
Update document version to the next release 1.8
2016-05-26 22:32:41 +08: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
1e3be73a52
PYBIND11_OVERLOAD_NAME and PYBIND11_OVERLOAD_PURE_NAME ( fixes #205 )
2016-05-24 23:42:14 +02:00
Wenzel Jakob
bd986fe57e
add comment about macro issues ( fixes #203 )
2016-05-21 10:48:30 +02:00
Wenzel Jakob
b47a9de035
ability to prevent force casts in numpy arguments
2016-05-19 16:02:09 +02:00
Nils Werner
f7048f25b1
Fixed typo in NumPy example which prevented compilation
2016-05-19 11:17:17 +02:00
Wenzel Jakob
3f200fab22
don't implicitly convert doubles to ints
2016-05-17 15:35:29 +02:00
Wenzel Jakob
a439ccaa0e
minor FAQ edits, referenced cppimport project
2016-05-17 10:47:52 +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
Wenzel Jakob
178c8a899d
nicer type_caster::load() calling conventions
2016-05-15 20:23:27 +02:00
Wenzel Jakob
ace7b4386e
switched to conda-forge, updated release process docs
2016-05-10 13:09:33 +01:00
Wenzel Jakob
9e0a0568fe
transparent conversion of dense and sparse Eigen types
2016-05-05 21:44:29 +02:00
Wenzel Jakob
9ac5bc5531
fix captialization issue in CMakeLists.txt
2016-05-05 16:27:13 +02:00
Wenzel Jakob
e762853bba
nicer example on instantiating Eigen matrices
2016-05-05 11:07:54 +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
c62360d994
minor FAQ updates
2016-05-03 14:32:47 +02:00
Wenzel Jakob
163ac2ef53
changelog updates
2016-05-03 14:16:18 +02:00
Wenzel Jakob
bdd11030c2
minor cmake improvements on windows
2016-05-01 13:11:54 +02:00
Wenzel Jakob
8e93df825e
minor clarification regarding keep_alive; fixed some typos
2016-05-01 02:36:58 +02:00
Wenzel Jakob
81e0975b82
clarified pickle version requirements ( fixes #186 )
2016-04-30 23:16:31 +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
dd7ec34d50
documentation updates
2016-04-29 10:06:24 +02:00
Wenzel Jakob
06f56ee1e9
opaque type redesign
2016-04-28 17:49:46 +02:00
Wenzel Jakob
f64feaf3e4
documentation improvements
2016-04-28 15:32:07 +02:00
Wenzel Jakob
e84f557edf
documentation improvements
2016-04-26 23:48:55 +02:00
Wenzel Jakob
1ac22e35e3
changelog updates
2016-04-25 23:25:40 +02:00
Wenzel Jakob
f7b5874ca3
new move value policy
2016-04-25 23:04:27 +02:00
Wenzel Jakob
0871228f42
opaque<> clarifications
2016-04-22 16:52:15 +02:00
Wenzel Jakob
54b6fdd43d
starting work on the v1.6 release
2016-04-21 12:29:17 +02:00
Wenzel Jakob
bb79d7bdc0
preparing for version 1.5 release
2016-04-21 12:23:20 +02:00
Wenzel Jakob
dbe43ffcce
completed implicit type casters for reference_wrapper
2016-04-21 12:21:14 +02:00
Wenzel Jakob
c79dbe425d
FAQ improvements
2016-04-18 10:53:38 +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
2e03a5857c
added comment about cmake issues ( #99 )
2016-04-14 11:27:15 +02:00
Wenzel Jakob
b282595bba
convenience wrapper for constructing iterators ( fixes #142 )
2016-04-14 00:23:37 +02:00
Wenzel Jakob
ef7a9b9a3f
added info about autogenerated Sphinx docs ( fixes #112 )
2016-04-13 18:41:59 +02:00
Wenzel Jakob
d7efa4ff7b
return best representation of polymorphic types ( fixes #105 )
2016-04-13 13:51:33 +02:00
Wenzel Jakob
d40885a1e6
clarified pickling docs
2016-04-13 13:30:05 +02:00
Wenzel Jakob
3d0e6fff25
typos
2016-04-13 11:48:10 +02:00
Wenzel Jakob
1c329aab5a
pickling support ( fixes #144 )
2016-04-13 02:58:56 +02:00
Wenzel Jakob
2c5d560640
changelog update
2016-04-11 18:46:11 +02:00
Wenzel Jakob
50ed3614de
added a faq entry about import issues
2016-04-11 17:38:25 +02:00
Wenzel Jakob
90d2f5e2fc
added a comment about symbol visibility
2016-04-11 14:30:11 +02:00
Wenzel Jakob
978e376e57
documentation improvements
2016-04-07 18:00:41 +02:00
Wenzel Jakob
1e1f3675cd
added limitations section
2016-04-07 10:31:01 +02:00
Wenzel Jakob
33c2a0494f
minor documentation update
2016-04-07 09:06:49 +02:00
Wenzel Jakob
95dc0695b7
starting work on version 1.5
2016-04-07 08:59:15 +02:00
Wenzel Jakob
0e6ca5916e
version 1.4
2016-04-07 08:49:37 +02:00
Wenzel Jakob
3411673fbf
updated changelog
2016-04-06 17:55:41 +02:00
Wenzel Jakob
9f0dfce84b
returning unique pointers is now allowed
2016-04-06 17:38:18 +02:00
Wenzel Jakob
76eb607d4e
completed type table
2016-03-21 17:53:39 +01:00
Wenzel Jakob
eda978e003
support for opaque types
2016-03-15 15:07:55 +01:00
Wenzel Jakob
a3e34f4a5f
comment about old versions of visual studio
2016-03-15 15:06:47 +01:00
Wenzel Jakob
4a48afb356
doc updates
2016-03-09 21:31:21 +01:00
Wenzel Jakob
de623a7668
added faq
2016-03-09 21:11:19 +01:00
Wenzel Jakob
4e455dde0b
updated changelog, added build directory to gitignore file
2016-03-09 16:50:40 +01:00
Wenzel Jakob
14cefbf473
minor fix for conda release process
2016-03-09 09:56:37 +01:00
Sylvain Corlay
e6464ad843
Update release instructions
2016-03-08 19:37:24 -05:00
Wenzel Jakob
81dfd2c51f
Working type casters for wide strings and wide characters
2016-03-08 20:48:07 +01:00
Wenzel Jakob
504f7553e3
starting to work on next version
2016-03-08 18:12:24 +01:00
Wenzel Jakob
d2385e8fc6
ready for version 1.3
2016-03-08 18:09:50 +01:00
Wenzel Jakob
8d862b37b4
documentation updates (clarified cross-module dependencies, added contributors, improved CSS)
2016-03-06 13:37:22 +01:00
Wenzel Jakob
c769fce280
note about nullptr default args
2016-03-03 12:03:30 +01:00
Wenzel Jakob
4f972c0039
Revert of the revert of the python package with version information
...
This reverts commit bee8f16dbb
.
2016-03-01 10:37:37 +01:00
Wenzel Jakob
cf2b87aa5e
changelog update
2016-02-22 17:32:44 +01:00
Wenzel Jakob
bee8f16dbb
removed 'pybind11' package which ultimately served no purpose
2016-02-22 17:29:30 +01:00
Wenzel Jakob
240e4044aa
added note about supported compiler versions
2016-02-20 21:01:47 +01:00
Wenzel Jakob
0880294924
support unordered set/map data structures ( fixes #100 )
2016-02-13 00:22:26 +01:00
Wenzel Jakob
8ed2808239
pybind11, version 1.2
2016-02-07 17:32:37 +01:00
Wenzel Jakob
43b6a23a89
minor comment about binding static methods
2016-02-07 17:24:41 +01:00
Wenzel Jakob
10c74c6f34
transparent std::array conversion ( fixes #97 )
2016-02-07 16:36:51 +01:00
Wenzel Jakob
c91551b33b
improved python detection in CMakeLists.txt ( fixes #98 )
2016-02-07 15:57:14 +01:00
Wenzel Jakob
de3ad07899
documentation on exporting constants ( closes #92 )
2016-02-02 11:38:21 +01:00
Sylvain Corlay
97dc81057f
Add version info and release instructions for pybind11
2016-02-01 10:23:52 -05:00
Wenzel Jakob
cd4e6ae3f0
updated changelog
2016-01-29 11:48:40 +01:00
Wenzel Jakob
518cf721d9
improve cmake windows debug configuration ( fixes #77 )
2016-01-21 19:17:58 +01:00
Wenzel Jakob
d4db8bc4bf
minor cmake doc improvements
2016-01-20 01:26:44 +01:00
Wenzel Jakob
61587164ed
example on manually vectorizing numpy code ( closes #27 )
2016-01-18 22:38: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
1ae77fe4d3
added a changelog file and version defines
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