在宏内部的Doxygen评论

时间:2011-05-31 19:22:11

标签: c++ macros doxygen

我的问题如下:我有一组文件,其中包含相同的构造函数参数。我在每个文件中使用的宏中定义了构造函数的参数。例如,以下构造函数:

Planar(BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3);

使用BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3宏来扩展Planar构造函数的参数:

#define BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3                                \
  size_t height,                                                            \
  size_t width,                                                             \
  size_t stride,                                                            \
  size_t effectiveChannels,                                                 \
  BSPF_UTILS::bspf_8u* buffer

我的问题如下:我想为所有使用相同宏的构造函数提供相同的Doxygen文档,换句话说,我想只编写一次共享相同宏的构造函数的文档。

我该怎么做?

我尝试编写一个宏(带参数的构造函数的名称),但它不起作用,因为Doxygen扩展宏没有换行。

这样做有好办法吗?

感谢您的回答。

1 个答案:

答案 0 :(得分:2)

宏总是在没有换行的情况下扩展,这与doxygen无关。但是,解决方案相对简单:

有一个额外的文本文件("BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3.txt"或类似文件),其中包含特定于该定义的注释,一个额外的

#define BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3_INCLUDE \ 
    "BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3.txt"

最后以下列方式使用它:

// your .cpp
#include BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3_INCLUDE
Planaer::Planar(BSPF_IMAGE_FORMAT_STD_CONST_PARAMS_3){
}

包含只需将.txt的内容复制并粘贴到.cpp中,就是这样。