我在我的C ++项目中使用doxygen。我有一些头文件与静态const字符串定义网络通信json结构。这些字符串是使用命名空间构造的。要隐藏这些名称空间,我使用this方法。但是,如果我关闭命名空间,则命名空间宏将显示在文档的“函数”部分中。
这是一个例子:
#define BEGIN_NAMESPACE(N) namespace N {
#define END_NAMESPACE() }
BEGIN_NAMESPACE(main_space)
static const std::string kVar1= "var1";
BEGIN_NAMESPACE(sub_space)
static const std::string kVar2 = "var2";
END_NAMESPACE()
static const std::string kThisIs = "wrong documented";
static const std::string kNoProblem = "here";
END_NAMESPACE()
在文件中我得到:
Functions:
END_NAMESPACE() static const std::string kThisIs
因此END_NAMESPACE()
记录在功能部分中,kThisIs
部分中缺少Variables
。
预处理器配置默认为我激活了MACRO_EXPANSION。有没有办法从函数部分删除END_NAMESPACE()
并在变量部分显示kThisIs
?
编辑1:添加kNoProblem以显示kThisIs不仅是变量。另外我补充说我激活了MACRO_EXPANSION。