title: Sphinx + Doxygen + Breathe: How do I get a documentation like the one of Google's Ceres Solver?
body: <p>I'm working on a C++ project and really fell in love with the Sphinx documentation build system. I managed to setup Doxygen and Breathe to produce and provide the C++ descriptions to Sphinx. </p>
  
  <p>I can't figure out how Google's Ceres Solver documentation was done. Their <a href="http://ceres-solver.org/nnls_modeling.html#_CPPv2N5ceres12CostFunctionE" rel="noreferrer">API reference</a> for example contains class names followed by lots of text, sometimes even with code block examples as shown in the previous link. <strong>Is there a way to write Doxygen documentation inside the source files and achieve this?</strong> </p>
  
  <p>Another example is <a href="http://ceres-solver.org/nnls_modeling.html#_CPPv2N5ceres20AutoDiffCostFunctionE" rel="noreferrer">this class documentation</a>, which has around two pages of text. I somehow doubt that all this text is located in the source files as Doxygen comments. I have the feeling that all the extra text has been written in the restructured text sources for the documentation and nothing in the c++ source files. But then what is the point of using doxygen and breathe...</p>
  
  <p>Or asked differently, <strong>where should I put high-level information about the code</strong>? I mean I can document <code>class1</code> and <code>class2</code> in their sources, but somewhere I need to explain how both of them interact and are used together. This is what the documentation of the Ceres Solver does so nicely in my opinion. </p>
  
  <p>Alternatively you could point me to a C++ project with the Sphinx + Doxygen + Breathe pipeline and open source documentation. Then I can see for myself how to do these things. Unfortunately I don't know about any project. </p>