c/c++语言开发共享有没有办法让doxygen显示枚举数值而不改变CSS?

我想在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

      (0)
      上一篇 2021年1月13日
      下一篇 2021年1月14日

      精彩推荐