如何正确格式化类实例引用

时间:2016-07-26 16:01:26

标签: c++ documentation doxygen

我有这篇文档:

 /**
 * This method creates an import job for the given @arg item
 *
 * The default implementation should be suitable for most needs,
 * it'll create an instance of @class ImportProjectJob
 *
 * @return a job that imports the project
 */
virtual KJob* createImportJob(ProjectFolderItem* item);

然而,@class并不意味着像这样使用,并且在doxygen中没有像@instanceof那样的东西。 我应该如何格式化?

2 个答案:

答案 0 :(得分:2)

在Doxygen的automatic link generation rules下,如果某些文档文本与已记录的类的名称匹配,并且该文本使用interCaps命名样式,那么Doxygen会自动将该文本转换为指向该文本的链接文档页面。因此,如果您只使用" ImportProjectJob",Doxygen将找到该类(如果已记录)并将该文本转换为指向它的链接。

但是,如果您的班级/功能没有使用interCaps命名,您可以通过@ref明确链接到已记录的实体:

 * The default implementation should be suitable for most needs,
 * it'll create an instance of @ref ImportProjectJob

FYI:@arg用于启动函数参数定义列表。类似的东西:

@arg @c AlignLeft left alignment.
@arg @c AlignCenter center alignment.
@arg @c AlignRight right alignment

您正在寻找的是@p,它是引用参数名称等的内联格式。

答案 1 :(得分:2)

只需使用@ref代替@class,并记录声明它的类。

通常(默认情况下,即AUTOLINK_SUPPORTYES时),甚至不需要明确引用它。 Doxygen会在检测到名称时自动链接它。

顺便说一句,您对@arg的使用并不像预期的那样。使用@p进行内联参考,使用@param进行文档方法参数。

 /**
  * @brief This method creates an import job for the given @p item
  *
  * @details The default implementation should be suitable for most needs,
  *   it'll create an instance of ImportProjectJob
  *
  * @param item this is a folder item
  *
  * @return a job that imports the project
  */
 virtual KJob* createImportJob(ProjectFolderItem* item);

这是声明ImportProjectJob的地方:

 /**
  * @brief short desc of the class
  * 
  * @details A long description
  */
 class ImportProjectJob : public KJob
 {};