我想在doxygen输出中获得枚举成员的实际值。 比如我有:
///MyEnum typedef enum My_Enum { MY_ENUM_0,///<MY_ENUM_0 MY_ENUM_1,///<MY_ENUM_1 MY_ENUM_2 ///<MY_ENUM_2 } My_Enum;
输出是:
MyEnum. Enumerator: MY_ENUM_0 MY_ENUM_0. MY_ENUM_1 MY_ENUM_1. MY_ENUM_2 MY_ENUM_2.
我想要的是:
Enumerator: MY_ENUM_0 0 MY_ENUM_0. MY_ENUM_1 1 MY_ENUM_1. MY_ENUM_2 2 MY_ENUM_2.
或类似的东西。
使用doxygen,我们可以记录:
以下代码段描述了上述所有3个示例。
/*! enum My_Enum * Documentation of the enum type. */ typedef enum My_Enum { MY_ENUM_0, /*!< Document the value 0 */ MY_ENUM_1, /*!< Document the value 1 */ } My_Enum; /*! var My_Enum MY_ENUM_0 * The description of the MY_ENUM_0. Can contain its enumerated name */ /*! var My_Enum MY_ENUM_1 * The description of the MY_ENUM_1. Can contain its enumerated name*/
另请注意,因为宏/枚举扩展不会在doxygen注释中发生。 如果在doxygen注释中使用了任何内容,则需要使用INPUT_FILTER
扩展INPUT_FILTER
。 例如:
INPUT_FILTER = sed /MY_ENUM_0/0
是以下代码段所必需的
typedef enum My_Enum { MY_ENUM_0, /*!< MY_ENUM_0 */ ...
有关多种doxygen评论样式的详细信息,请查看此答案 :
没有办法直接从doxygen中做到这一点,我能想到的。 Doxygen不是C编译器。 因此它不会导出枚举值,它是一个编译时常量。
doxygen最接近的是有选择地扩展你的宏,因为它有一个C预处理器。 因此,如果您将某个值分配给由预处理器扩展派生的常量,那么doxygen可以展开宏并显示将要分配的内容。
基于TheCodeArtist的答案,您可以考虑编写在doxygen之前运行的脚本,制作文件副本,搜索此模式:
enum *** { ***, ///< %VAL%:
并将%VAL%的每次出现替换为该值应该是什么,这样您就不会手动跟上数字。 doxygen运行后,需要替换包含%VAL%标记的原始文件。 这不是一个特别优雅或强大的解决方案。
以上就是c/c++开发分享有没有办法让doxygen显示枚举数值而不改变CSS?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549222.html