- Excluded src/external/ from Doxygen documentation.
- Made inherited members appear in class documentation. Makes API
documentation easier to read if there are many public members
inherited from base classes.
- Added conditional sections for Doxygen that can be used in addition to
\internal and \libinternal.
- Consolidated use of \internal and \libinternal in file comments:
all installed (=public API) headers now produce some documentation for
the public API, even if the file only contains declarations that are
not directly in the public API.
- Added short file documentation for a few files where it was missing.
Gromacs wiki has also been updated with the changes.
Related to IssueIDs #638 and #662.
Change-Id: I9ffb9d68752697b5b58a3cc4ae45d802e32cf45c
@CMAKE_SOURCE_DIR@/share/template
EXAMPLE_PATH = @CMAKE_SOURCE_DIR@
RECURSIVE = YES
-EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
+EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib \
+ @CMAKE_SOURCE_DIR@/src/external @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
EXCLUDE_SYMBOLS = YY* yy* _gmx_sel_yy*
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
HAVE_DOT = @DOXYGEN_DOT_FOUND@
DOT_PATH = @DOXYGEN_DOT_PATH@
+ENABLED_SECTIONS = libapi
INTERNAL_DOCS = NO
HIDE_UNDOC_CLASSES = YES
WARN_LOGFILE = doxygen-doc/doxygen-lib.log
JAVADOC_AUTOBRIEF = YES
BUILTIN_STL_SUPPORT = YES
+INLINE_INHERITED_MEMB = YES
SORT_BY_SCOPE_NAME = YES
ALPHABETICAL_INDEX = YES
SHOW_DIRECTORIES = YES
ALIASES += addtopublicapi="\addtogroup group_publicapi"
ALIASES += addtolibraryapi="\addtogroup group_libraryapi"
ALIASES += libinternal=
+ALIASES += endlibinternal=
@CMAKE_SOURCE_DIR@/share/template
EXAMPLE_PATH = @CMAKE_SOURCE_DIR@
RECURSIVE = YES
-EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
+EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib \
+ @CMAKE_SOURCE_DIR@/src/external @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
EXCLUDE_SYMBOLS = YY* yy* _gmx_sel_yy*
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
HAVE_DOT = @DOXYGEN_DOT_FOUND@
DOT_PATH = @DOXYGEN_DOT_PATH@
+ENABLED_SECTIONS =
INTERNAL_DOCS = NO
HIDE_UNDOC_CLASSES = YES
+HIDE_FRIEND_COMPOUNDS = YES
WARN_LOGFILE = doxygen-doc/doxygen-user.log
HTML_OUTPUT = html-user
JAVADOC_AUTOBRIEF = YES
BUILTIN_STL_SUPPORT = YES
+INLINE_INHERITED_MEMB = YES
SORT_BY_SCOPE_NAME = YES
ALPHABETICAL_INDEX = YES
SHOW_DIRECTORIES = YES
ALIASES += addtopublicapi="\addtogroup group_publicapi"
ALIASES += addtolibraryapi="\addtogroup group_libraryapi"
ALIASES += libinternal="\internal"
+ALIASES += endlibinternal="\endinternal"
@CMAKE_SOURCE_DIR@/share/template
EXAMPLE_PATH = @CMAKE_SOURCE_DIR@
RECURSIVE = YES
-EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
+EXCLUDE = @CMAKE_SOURCE_DIR@/src/contrib \
+ @CMAKE_SOURCE_DIR@/src/external @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
EXCLUDE_SYMBOLS = YY* yy* _gmx_sel_yy*
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@
HAVE_DOT = @DOXYGEN_DOT_FOUND@
DOT_PATH = @DOXYGEN_DOT_PATH@
+ENABLED_SECTIONS = libapi internal
INTERNAL_DOCS = YES
HIDE_UNDOC_CLASSES = YES
WARN_LOGFILE = doxygen-doc/doxygen.log
JAVADOC_AUTOBRIEF = YES
BUILTIN_STL_SUPPORT = YES
+INLINE_INHERITED_MEMB = NO # Makes it easier to go through all documentation
SORT_BY_SCOPE_NAME = YES
ALPHABETICAL_INDEX = YES
SHOW_DIRECTORIES = YES
ALIASES += addtopublicapi="\addtogroup group_publicapi"
ALIASES += addtolibraryapi="\addtogroup group_libraryapi"
ALIASES += libinternal=
+ALIASES += endlibinternal=
*
* For more info, check our website at http://www.gromacs.org
*/
-/*! \libinternal \file
+/*! \file
* \brief
* Declares gmx::AbstractAnalysisData and gmx::AbstractAnalysisDataStored.
*
class AnalysisDataModuleInterface;
-/*! \libinternal \brief
+/*! \brief
* Abstract base class for all objects that provide data.
*
* The public interface includes functions for querying the data
};
-/*! \libinternal \brief
+/*! \brief
* Abstract class that implements storage of data.
*
* This class implements a standard way of storing data, to avoid implementing
* should initialize the in-memory array through the provided protected member
* functions.
*
+ * \inlibraryapi
* \ingroup module_analysisdata
*/
class AbstractAnalysisArrayData : public AbstractAnalysisData
*
* For more info, check our website at http://www.gromacs.org
*/
-/*! \libinternal \file
+/*! \file
* \brief
* Declares gmx::AnalysisDataModuleInterface.
*
* data, setPlainOutput() should be called since the output does not make sense
* as an xvgr file, but this is not enforced.
*
- * \inpublicapi
* \ingroup module_analysisdata
*/
class AbstractPlotModule : public AnalysisDataModuleInterface
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Declares mock implementation of gmx::AnalysisDataModuleInterface.
+ *
+ * Requires Google Mock.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_analysisdata
+ */
#ifndef GMX_ANALYSISDATA_TESTS_MOCK_MODULE_H
#define GMX_ANALYSISDATA_TESTS_MOCK_MODULE_H
*
* For more info, check our website at http://www.gromacs.org
*/
-/*! \libinternal \file
+/*! \file
* \brief
* Declares common exception classes for fatal error handling.
*
+++ /dev/null
-/*! \file
- * \brief Dummy header for Doxygen documentation.
- *
- * This file just holds the main page for doxygen. When, at some point in the
- * future, there is an obvious location for this documentation, we should
- * move it there.
- */
-
-/*! \mainpage Gromacs
-
- GROMACS is a versatile package to perform molecular dynamics, i.e. simulate
- the Newtonian equations of motion for systems with hundreds, to millions
- of particles.
-
- Currently, there is documentation available (at least) on the following
- parts of the source tree:
- - \subpage thread_mpi
- - \subpage libtrajana
-
- */
-
-
* For examples of how to use classes derived from this class, see the class
* documentation for Options.
*
- * \inpublicapi
+ * \inlibraryapi
* \ingroup module_options
*/
template <typename T, class U>
*
* For more info, check our website at http://www.gromacs.org
*/
-/*! \internal \file
+/*! \file
* \brief
* Defines flags used in option implementation.
*
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Implements gmx::analysismodules::Angle.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
#include "angle.h"
#ifdef HAVE_CONFIG_H
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Declares trajectory analysis module for angle calculations.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
#ifndef GMX_TRAJECTORYANALYSIS_MODULES_ANGLE_H
#define GMX_TRAJECTORYANALYSIS_MODULES_ANGLE_H
// Copy and assign disallowed by base.
};
-} // namespace modules
+} // namespace analysismodules
} // namespace gmxana
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Implements gmx::analysismodules::Distance.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
#include "distance.h"
#ifdef HAVE_CONFIG_H
*
* For more info, check our website at http://www.gromacs.org
*/
-#ifndef GMX_TRAJANA_MODULES_DISTANCE_HPP
-#define GMX_TRAJANA_MODULES_DISTANCE_HPP
+/*! \internal \file
+ * \brief
+ * Declares trajectory analysis module for distance calculations.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
+#ifndef GMX_TRAJECTORYANALYSIS_MODULES_DISTANCE_H
+#define GMX_TRAJECTORYANALYSIS_MODULES_DISTANCE_H
#include <string>
#include <vector>
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Implements gmx::analysismodules::Select.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
#include "select.h"
#ifdef HAVE_CONFIG_H
*
* For more info, check our website at http://www.gromacs.org
*/
+/*! \internal \file
+ * \brief
+ * Declares trajectory analysis module for basic selection information.
+ *
+ * \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_trajectoryanalysis
+ */
#ifndef GMX_TRAJECTORYANALYSIS_MODULES_SELECT_H
#define GMX_TRAJECTORYANALYSIS_MODULES_SELECT_H
set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${UTILITY_SOURCES} PARENT_SCOPE)
set(UTILITY_PUBLIC_HEADERS
- flags.h)
+ flags.h format.h)
install(FILES ${UTILITY_PUBLIC_HEADERS}
DESTINATION ${INCL_INSTALL_DIR}/gromacs/utility
COMPONENT development)
*
* For more info, check our website at http://www.gromacs.org
*/
-/*! \libinternal \file
+/*! \file
* \brief
* Declares gmx::FlagsTemplate.
*
* \author Teemu Murtola <teemu.murtola@cbr.su.se>
* \inlibraryapi
+ * \ingroup module_utility
*/
#ifndef GMX_UTILITY_FLAGS_H
#define GMX_UTILITY_FLAGS_H
namespace gmx
{
-/*! \libinternal \brief
+/*! \brief
* Template class for typesafe handling of combination of flags.
*
* \tparam T An enumerated type that holds the possible single flags.
*
+ * This class is not used publicly, but is present in an installed header
+ * because it is used internally in public template classes.
+ *
* \inlibraryapi
+ * \ingroup module_utility
*/
template <typename T>
class FlagsTemplate
* Implements functions in datapath.h.
*
* \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \ingroup module_testutils
*/
#include "datapath.h"
* Functions for accessing test input files.
*
* \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \inlibraryapi
* \ingroup module_testutils
*/
#ifndef GMX_TESTUTILS_DATAPATH_H
namespace test
{
-/*! \brief
+/*! \libinternal \brief
* Returns the path to a test input file.
+ *
+ * \inlibraryapi
*/
std::string getTestFilePath(const char *filename);
-/*! \brief
+/*! \libinternal \brief
* Returns the path to the test input directory.
+ *
+ * \inlibraryapi
*/
const char *getTestDataPath();
-/*! \brief
+/*! \libinternal \brief
* Sets the test input directory.
+ *
+ * \inlibraryapi
*/
void setTestDataPath(const char *path);
+/*!\}*/
+
} // namespace test
} // namespace gmx
* Functionality for writing tests that can produce their own reference data.
*
* \author Teemu Murtola <teemu.murtola@cbr.su.se>
+ * \inlibraryapi
* \ingroup module_testutils
*/
#ifndef GMX_TESTUTILS_REFDATA_H