pybind11/docs
Bruce Merry b82c0f0a2d Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831)
This exposed a few underlying issues:

1. is_pod_struct was too strict to allow this. I've relaxed it to
require only trivially copyable and standard layout, rather than POD
(which additionally requires a trivial constructor, which std::complex
violates).

2. format_descriptor<std::complex<T>>::format() returned numpy format
strings instead of PEP3118 format strings, but register_dtype
feeds format codes of its fields to _dtype_from_pep3118. I've changed it
to return PEP3118 format codes. format_descriptor is a public type, so
this may be considered an incompatible change.

3. register_structured_dtype tried to be smart about whether to mark
fields as unaligned (with ^). However, it's examining the C++ alignment,
rather than what numpy (or possibly PEP3118) thinks the alignment should
be. For complex values those are different. I've made it mark all fields
as ^ unconditionally, which should always be safe even if they are
aligned, because we explicitly mark the padding.
2017-05-10 11:36:24 +02:00
..
_static documentation improvements 2016-04-26 23:48:55 +02:00
advanced Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831) 2017-05-10 11:36:24 +02:00
basics.rst Change compilation/test target back to check (#566) 2016-12-19 17:33:02 +01:00
benchmark.py Much more efficient generation of function signatures, updated docs 2016-01-17 22:31:15 +01:00
benchmark.rst ..mention in benchmark docs as well 2016-08-19 09:38:14 +02:00
changelog.rst changelog for v2.1.1 2017-04-07 02:08:29 +02:00
classes.rst Expose enum_ entries as "__members__" read-only property. Getters get a copy. 2017-03-03 08:45:50 -08:00
compiling.rst Make PYBIND11_CPP_STANDARD work under MSVC 2017-05-09 16:41:47 -04:00
conf.py updated version information for v2.2 development 2017-03-22 22:20:07 +01:00
Doxyfile Automate generation of reference docs with doxygen and breathe (#598) 2017-01-31 16:54:08 +01:00
faq.rst add CMake exported interface library and Config detection file 2016-12-13 21:44:19 +01:00
index.rst Reorganize documentation 2016-10-20 15:21:34 +02:00
intro.rst Make non-ancient version of GCC explicit in documentation (it means 4.8+) (#575) 2016-12-28 12:10:11 +01:00
limitations.rst Multiple inheritance support 2016-09-19 13:45:31 +02:00
Makefile took a stab at some documentation 2015-10-13 03:16:44 +02:00
pybind11_vs_boost_python1.png documentation improvements 2016-04-28 15:32:07 +02:00
pybind11_vs_boost_python1.svg Much more efficient generation of function signatures, updated docs 2016-01-17 22:31:15 +01:00
pybind11_vs_boost_python2.png documentation improvements 2016-04-28 15:32:07 +02:00
pybind11_vs_boost_python2.svg Much more efficient generation of function signatures, updated docs 2016-01-17 22:31:15 +01:00
pybind11-logo.png Very minor documentation fixes, updated logo 2016-01-17 22:31:15 +01:00
reference.rst Automate generation of reference docs with doxygen and breathe (#598) 2017-01-31 16:54:08 +01:00
release.rst minor setup.py updates 2017-01-01 17:14:27 +01:00
requirements.txt Fix readthedocs build (#721) 2017-03-12 22:36:48 +01:00