blob: c6100d167697e67eec37fb87048bae400a1d709a [file] [log] [blame]
Wenzel Jakob1e1f3672016-04-07 10:31:01 +02001Limitations
2###########
3
4pybind11 strives to be a general solution to binding generation, but it also has
5certain limitations:
6
7- pybind11 casts away ``const``-ness in function arguments and return values.
8 This is in line with the Python language, which has no concept of ``const``
9 values. This means that some additional care is needed to avoid bugs that
10 would be caught by the type checker in a traditional C++ program.
11
12- Multiple inheritance relationships on the C++ side cannot be mapped to
13 Python.
14
Wenzel Jakob4626b5a2016-06-30 14:45:57 +020015- The NumPy interface ``pybind11::array`` greatly simplifies accessing
16 numerical data from C++ (and vice versa), but it's not a full-blown array
17 class like ``Eigen::Array`` or ``boost.multi_array``.
18
19All of these features could be implemented but would lead to a significant
Wenzel Jakob1e1f3672016-04-07 10:31:01 +020020increase in complexity. I've decided to draw the line here to keep this project
21simple and compact. Users who absolutely require these features are encouraged
22to fork pybind11.
23