This is not, what I meant. What I meant is that the C++ documentation should be similar to the python documentation (docstrings) in Numpy style, so that Sphinx can convert that into the Sphinx style (or however this is done).
Currently, we are generating C++ documentation strings automatically from the bob::extension Documentation classes. These strings will be put into the __doc__ slot of the objects and displayed as the python documentation.
The bob::extension::FunctionDoc Documentation class defines the way, the Python documentation (__doc__) of the bound C++ functions is written.
Particularly, it puts the signature of the function in the top (first line) of the docstring. This might be something that we would want to change, so that it matches the Numpy documenting python functions.
Also, currently it gives each return value a name, which does conflict with the Numpy docstrings, where only the return type is written.
How to handle multiple signatures and/or return values, however, is still unsolved and unclear.
I am against writing Sphinx docs for the C++ code.
First, we would need to generate two different styles, which might be cumbersome. When Sphinx decides to change their style, we need to re-code that for the C++ classes.
Second, some module documentations contain a wild mixture of C++ and Python functions/documentations of these. Combining two different styles into one documentation could be difficult/impossible.
I understand that. However, I think we should not make a differentiation whether functions are implemented in C++ or Python, the documentation style should be identical (except for corner cases described above).
This was my main incentive to reply in this thread.
Manuel