IMP Manual
for IMP version 2.9.0
|
IMP is documented using doxygen
. See Documenting your code in doxygen to get started. We use //!
and /**
... */
blocks for documentation. You are encouraged to use Doxygen's markdown support as much as possible.
Python code should provide Python doc strings. We automatically convert these into a form Doxygen can parse, so you can use Doxygen commands in them.
All headers not in internal directories are parsed through doxygen
. Any function that you do not want documented (for example, because it is not well tested), hide by surrounding with
#ifndef IMP_DOXYGEN void messy_poorly_thought_out_function(); #endif
We provide a number of extra Doxygen commands to aid in producing nice IMP documentation.
\unstable{Classname}
. The documentation will include a disclaimer and the class or function will be added to a list of unstable classes. It is generally better to simply hide such things from doxygen
.\untested{Classname}
.\unimplemented{Classname}
.Each IMP module has a top-level README.md
which is also parsed by Doxygen; it includes the names of the authors and a description of what the module is supposed to do.
Building the target IMP-doc
(e.g. by running make IMP-doc
) will build documentation for all of the modules, while the IMP.foobar-doc
target will build documentation only for the foobar
module.