AgentXcpp  Version:0.3
Internals Documentation
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Pages
About the Documentation

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:

  • Use \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.
  • Document each and every item, such as classes, class members, functions, global variables, etc.
  • Include a \brief command for every documented item.
  • Include a subpage (i.e. a *.dox file) for each abstract concept. Add links to that pages to the appropriate mainpage(s).