从宏观扩展中的Doxygen简要描述

时间:2016-12-19 19:23:10

标签: c++ doxygen

考虑遵循C ++声明宏:

#define DECLARE_OBJECT_HANDLE(x) \
typedef struct x##HandleTag *x##Handle; \
typedef struct x##Handle *P##x##Handle

我想用一些doxygen注释标记我的第二个指针声明。理想情况下,我希望第二个句柄引用第一个句柄,只有简短描述,表明它是指向此类型的指针。

我改变了我的宏:

#define DECLARE_OBJECT_HANDLE(x) \
typedef struct x##HandleTag *x##Handle; \
/**
* \brief Pointer to x##Handle.
*/ \
typedef struct x##Handle *P##x##Handle
当我发现它以某种方式工作时,我真的很惊讶! 不幸的是,每个typefef还有一个额外的部分,有一些奇怪的特征:

enter image description here

我真的不喜欢底部,因为我没有什么可说的了。这是doxygen中的一个错误吗,当我只要求简要说明时它会产生额外的部分吗?

有没有办法阻止它?

PS:我在Window 8.1 64位上使用doxygen版本1.8.12。

2 个答案:

答案 0 :(得分:1)

正如评论中指出的那样,我所指的奇怪角色是来自无序列表的项目符号

我在doxygen开发清单上问过这个问题,但是没有人回复。

解决方案:

  

省略* doxycommand

前面的\brief

PS:原始代码在宏扩展之外的任何地方都可以使用。

答案 1 :(得分:0)

在混合定义,注释和typedef的情况下,doxygen获取正确的流量会有点困难。也许下面给出了一些提示/想法(因为它不是100%清楚你试图实现的目标):

/**  Handle */
#define HT(x) \
typedef struct x##HandleTag *x##Handle

/** Pointer to #HT(x) */
#define PHT(x) \
typedef struct x##Handle *P##x##Handle

/** Doing both */
#define DECLARE_OBJECT_HANDLE(x) \
HT(x); \
PHT(x)