是否可以使Doxygen扩展枚举初始化器?

时间:2011-03-22 10:51:42

标签: c doxygen

对于以下输入:

enum A  
{  
  A1 = 1,
  A2 = 2  
};  
enum B  
{  
  B1 = A2,  
  B2 = A2 * A2 + 1  
}  

我想doxygen扩展/解析B :: B1和B :: B2的初始化程序。我希望在B1和B2的初始值设定项中有25,而不是A2A2 * A2 + 1。可能吗?如果是这样,怎么能实现呢? 请注意,我只询问枚举初始值设定项。这些在编译时是已知的,因此(理论上)doxygen应该能够计算。

编辑:从枚举定义中删除了;

1 个答案:

答案 0 :(得分:1)

我不认为这是可能的,但是,对于您提供的简单案例,您可以使用#define以某种方式伪造它适用于您的代码,doxygen仍可以解析这些值。

您的代码可能如下所示:

#define A_1 1
#define A_2 2
#define B_1 A_2
#define B_2 (A_2 * A_2 + 1)

enum A  
{  
  A1 = A_1,
  A2 = A_2
};

enum B  
{  
  B1 = B_1,
  B2 = B_2
};

在doxygen配置中,您需要启用ENABLE_PREPROCESSINGMACRO_EXPANSION