假设:
namespace Foo {
class Foo {
public:
/// Foo enum, possible ways to foo
enum class Foo {
/// Foo it with an A
A,
/// Foo it with a B
B,
/// Foo it with a C
C
}
}
}
使用doxygen -g
创建的默认Doxyfile,我明白了:
如何记录枚举值?我尝试使用///<
等在成员之前/之后发表评论无效。可能这只是doxygen中的一个错误?文档中的示例有效。 (点击枚举的名称并没有把我带到任何地方)
答案 0 :(得分:21)
使用Doxygen 1.8.2,以下两项工作对我来说都是:
使用///
/// This is an enum class
enum class fooenum {
FOO, ///< this is foo
BAR, ///< this is bar
};
使用/*! ... */
/*! This is an enum class */
enum class fooenum {
FOO, /*!< this is foo */
BAR, /*!< this is bar */
};
doxygen changelog表示Doxygen 1.8.2支持enum class
,因此我怀疑您的命令可能存在一些轻微的语法问题。您能否将您的命令与上述两个片段进行比较?
新功能
添加了对C ++ 11的支持:
strongly typed enums, e.g.: enum class E
答案 1 :(得分:9)
请注意,我个人不喜欢有长篇文章(因为记录意味着要写至少2行或3行文档,而不是一个单词,所以我通常没有足够的内容)所以我更喜欢文档在.cpp文件中。
为此,请使用Doxygen的\ var功能。
所以标题是裸露的:
namespace Foo {
class Foo {
public:
enum class Foo {
A,
B,
C
};
};
}
.cpp文件有:
namespace Foo {
/** \enum Foo::Foo
* \brief Foo enum, possible ways to foo
*
* All the necessary details about this enumeration.
*/
/** \var Foo::A
* \brief Foo it with an A
*
* When you use A... etc.
*/
/** \var Foo::B
* \brief Foo it with an B
*
* When you use B... etc.
*/
/** \var Foo::C
* \brief Foo it with an C
*
* When you use C... etc.
*/
}
这样,我可以真正记录下我经常发生的事情。
答案 2 :(得分:5)
以下风格适合我:
enum class Foo {
/**Foo it with A*/
A,
/**Foo it with B*/
B
}