Doxygen is a standard tool to generate documentation from annotated C++.
However, to work properly it needs some special headers for comment sections.
It will be worth thoroughly comment the code with Doxygen's standard to have a well documented program.