使用宏,我创建了许多非常相似的矩阵和向量结构(即:Vec1i
,Vec1f
,Vec2i
等等,但我还是我不确定如何记录它们而不复制/粘贴每个结构的相同注释并替换类型和大小。例如:
#define CREATE_VECTOR(TYPE, TYPE_NAME, NUM_DIMENSIONS)\
struct vec ## NUM_DIMENSIONS ## TYPE_NAME\
{\
TYPE data[NUM_DIMENSIONS];\
};\
typedef struct vec ## NUM_DIMENSIONS ## TYPE_NAME Vec ## NUM_DIMENSIONS ## TYPE_NAME;
#define CREATE_MATRIX(TYPE, TYPE_NAME, ROWS, COLUMNS)\
struct mat ## ROWS ## x ## COLUMNS ## TYPE_NAME\
{\
TYPE data[ROWS][COLUMNS];\
};\
typedef struct mat ## ROWS ## x ## COLUMNS ## TYPE_NAME Mat ## ROWS ## x ## COLUMNS ## TYPE_NAME;
这个问题是我仍然需要为我创建的每个矢量/矩阵编写文档:
////////////////////////////////////////////////////////////////
/// \struct Vec3i
///
/// \brief *my description*
///
/// \var Vec3i::data
///
/// \brief *member description*
///
////////////////////////////////////////////////////////////////
CREATE_VECTOR(int, i, 3);
是否可以记录整个结构集合,或者让doxygen自动生成每个版本的矢量/矩阵的文档?