我使用宏以下列方式生成类:
generator.h:
class CLASS_NAME : public parent { //generate variables with names given by CLASS_VARIABLES using complicated //Boost.Preprocessor stuff. }; #undef CLASS_NAME #undef CLASS_VARIABLES
myclass.h:
#define CLASS_NAME MyClass #define CLASS_VARIABLES (a,b,c,x,y,z) #include "generator.h"
实际的类更复杂,并使用各种Boost.Preprocessor宏.有没有办法通过向generator.h添加注释来自动记录使用Doxygen生成的类,或者生成带文档的示例类?我尝试过启用ENABLE_PREPROCESSING和MACRO_EXPANSION,但这似乎不够.
解决方法
它不会起作用. Doxygen预处理器并不真正执行完整的文件包含(它只查看包含的文件中的宏定义;否则,ENABLE_PREPROCESSING指令将完全无用!).所以#include“generator.h”没有效果.
如果您使用所包含文件的内容替换#include指令,它将起作用. (我知道,这不是很有用).
generator.h:
#define DEFCLASS class CLASS_NAME : public parent \ { \ ... whatever ... \ };
myclass.h:
#define CLASS_NAME MyClass #define CLASS_VARIABLES (a,z) #include "generator.h" DEFCLASS