2012-12-18 67 views
10

我想在doxygen输出中获得枚举成员的实际值。 比如我有:有没有办法让doxygen显示枚举数值而不改变css?

///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. 

或类似的东西。

回答

0

使用doxygen的,我们可以记录:

  • enum
  • 及其值中的每个值

  • 描述以下代码段描述了一种上面所有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 = sed /MY_ENUM_0/0 
    

    需要下面的代码片段

    typedef enum My_Enum { 
        MY_ENUM_0, /*!< MY_ENUM_0 */ 
        ... 
    

    也会检出该answer用于在多个doxygen的细节发表评论风格:

    • ///< <comment>
    • /*!< <comment> */
  • +3

    这并不回答这个问题。 MY_ENUM_0的值是0,但它在您的答案中的代码生成的doxygen doc中不可见。 –

    +0

    在生成的文档中显示了doxygen comnent'/ *!<文档值0 * /'和'MY_ENUM_0'一起显示,如[** example answer **]所示(http://stackoverflow.com/a/13756348/319204)。对于枚举的每个成员,每个这样的注释必须是“值为0”,“值为1”等等。 – TheCodeArtist

    +4

    因为你自己写了“0”,OP在询问如何让Doxygen产生“0”。 –

    相关问题