在我的项目中我经常使用枚举类,并且我使用doxygen作为文档系统。 当在同一个文件中声明多个枚举类并且它们具有相同的成员时,我发现很难生成枚举类的文档。 例如,以下代码未在最终HTML输出中为枚举类IMAGE_REPORTING生成正确的文档:
namespace mapper
{
/* CONNECTION RELATED */
/** @enum mapper::SECURE_WEBSOCKET
* \author Michele Adduci
* \ingroup Core
* @brief is a strongly typed enum class representing the status of websocket connection
* @var mapper::SECURE_WEBSOCKET::DISABLED
* is coded as std::int8_t of value 0
* @var mapper::SECURE_WEBSOCKET::ENABLED
* is coded as std::int8_t of value 1
*/
enum class SECURE_WEBSOCKET : std::int8_t {DISABLED = 0, ENABLED = 1};
/* IMAGE RELATED */
/** @enum mapper::IMAGE_REPORTING
* \author Michele Adduci
* \ingroup Core
* @brief is a strongly typed enum class representing the status of image reporting
* @var mapper::IMAGE_REPORTING::DISABLED
* is coded as std::int8_t of value 0
* @var mapper::IMAGE_REPORTING::ENABLED
* is coded as std::int8_t of value 1
*/
enum class IMAGE_REPORTING : std::int8_t {DISABLED = 0, ENABLED = 1};
}
输出:
知道问题是什么?
答案 0 :(得分:6)
您可以使用适用于我的内联文档:
/** @enum mapper::IMAGE_REPORTING
* \author Michele Adduci
* \ingroup Core
* @brief is a strongly typed enum class representing the status of image reporting
*/
enum class IMAGE_REPORTING : std::int8_t {
DISABLED = 0, /**< is coded as std::int8_t of value 0 */
ENABLED = 1 /**< is coded as std::int8_t of value 1 */
}
和另一个相似。
答案 1 :(得分:1)
我遇到了与全局枚举类似的问题。一些头文件生成了枚举的链接,而其他头文件则没有。您必须明确记录该文件。
以下是文档中此页面的摘录。 http://www.doxygen.nl/manual/docblocks.html#memberdoc
记录全局C函数,typedef,enum或预处理器 定义您必须首先记录包含它的文件(通常是 这将是一个头文件,因为该文件包含信息 导出到其他源文件)。
注意 让我们重复一遍,因为它经常被忽视:要记录全局对象(函数,typedef,枚举,宏等),你必须 记录定义它们的文件。换句话说,那里 必须至少是一个
/*! \file */ or a /** @file */ line in this file.