将整个标头内容添加到Doxygen组

时间:2015-08-21 18:20:02

标签: doxygen

由于这似乎是一项常见的任务,我很难相信如果我想将头文件中的所有doxygen注释添加到组中,我必须这样做

foo.h
 /**
 *\addtogroup fooGroup
 * @{
 */
...
...

...
/**@}*/

有没有办法在没有@ {comment?

的情况下完成这项工作

1 个答案:

答案 0 :(得分:3)

简短的回答是否定的。另一种方法是使用@ingroup命令。如果将该命令放在@file命令的正下方,则将文件引用添加到组中,例如:

foo.h:
/**
* @file foo.h
* @ingroup fooGroup
*/
...

这还要求您已定义具有该名称的组(也可能位于不同的文件中):

/**
* @defgroup fooGroup Foo
* @brief    A brief description of the Foo component.
* @details  A more detailed description of the Foo component.
*/

但最大的缺点是您必须为要在组文档中显示的每个实体添加@ingroup命令。这意味着您必须将命令添加到每个声明或定义,如枚举,结构,变量和函数。

使用@addtogroup@{ ... @}命令具有很大的优势,即您无需使用@ingroup命令将每个权限添加到组中。

组的意义是从一个特定名称下的不同文件中收集文档。您还可以将一个文件分成不同的组,因此@ {和@}注释定义了一个区域的开头和结尾,该区域应添加到组名中。 另一个原因是组可以构建层次结构,例如一个文件包含以下代码:

/**
 * @addtogroup group_name
 * @{
 */

<Code Example 1>

/** 
 * @} 
 */

/**
 * @addtogroup group_name_2
 * @{
 */

<Code Example 2>

/**
 * @addtogroup sub_group_name
 * @{
 */

<Code Example 3>

/**
 * @addtogroup sub_sub_group_name
 * @{
 */

<Code Example 4>

/** 
 * @} 
 */

/** 
 * @} 
 */

/** 
 * @} 
 */

这将导致以下组层次结构:

  • 组名
  • group_name_2
    • sub_group_name
      • sub_sub_group_name

您可能尝试的唯一方法是为\ addtogroup和{command添加别名,例如:

ALIAS += "begingroup{1} = \addtogroup \1 \{"

但在这种情况下,您仍然需要在文件末尾添加@}命令。