111986Sandreas.sandberg@arm.comLimitations
211986Sandreas.sandberg@arm.com###########
311986Sandreas.sandberg@arm.com
411986Sandreas.sandberg@arm.compybind11 strives to be a general solution to binding generation, but it also has
511986Sandreas.sandberg@arm.comcertain limitations:
611986Sandreas.sandberg@arm.com
711986Sandreas.sandberg@arm.com- pybind11 casts away ``const``-ness in function arguments and return values.
811986Sandreas.sandberg@arm.com  This is in line with the Python language, which has no concept of ``const``
911986Sandreas.sandberg@arm.com  values. This means that some additional care is needed to avoid bugs that
1011986Sandreas.sandberg@arm.com  would be caught by the type checker in a traditional C++ program.
1111986Sandreas.sandberg@arm.com
1211986Sandreas.sandberg@arm.com- The NumPy interface ``pybind11::array`` greatly simplifies accessing
1311986Sandreas.sandberg@arm.com  numerical data from C++ (and vice versa), but it's not a full-blown array
1411986Sandreas.sandberg@arm.com  class like ``Eigen::Array`` or ``boost.multi_array``.
1511986Sandreas.sandberg@arm.com
1611986Sandreas.sandberg@arm.comThese features could be implemented but would lead to a significant increase in
1711986Sandreas.sandberg@arm.comcomplexity. I've decided to draw the line here to keep this project simple and
1811986Sandreas.sandberg@arm.comcompact. Users who absolutely require these features are encouraged to fork
1911986Sandreas.sandberg@arm.compybind11.
2011986Sandreas.sandberg@arm.com
21