The AgentXcpp documentation is created using Doxygen. The doc/
directory contains two doxygen configuration files, api.doxyfile
and internals.doxyfile
. The first one is used to build the API documentation while the latter is used for the internals documentation.
The source of documentation is (nearly) identical for both documentations. Classes, members, functions, etc. are documented directly in the C++ source files, using the \internal
keyword or a pair of \cond INTERNAL
and \endcond
to mark internal-only content. Documentation blocks marked in this way are included only in the internals documentation, because the INTERNAL_DOCS
configuration item is set to YES
for the internals documentation, but to NO
for the API documentation, and the ENABLED_SECTIONS
configuration item includes the section name "INTERNAL" for the internals documentation (hence \cond
can test for "INTERNAL").
The doc/
directory also contains the mainpages (api.mainpage
and internals.mainpage
), which are different for the API and the internals documentation. The *.dox
files provide subpages explaining the concepts used in the library (e.g. the source of this page is doc/documentation.dox
).
If you are developing for AgentXcpp, consider the following conventions:
\internal
to mark documentation blocks which should not appear in the API documentation. If only a part of the documentation block should be excluded, surround the part to be excluded with \internal
and \endinternal
. You may also use \cond INTERNAL
and \endcond
.\brief
command for every documented item.*.dox
file) for each abstract concept. Add links to that pages to the appropriate mainpage(s).