Doxygen,当参数类型定义使签名相同时,如何拆分函数文档?
Doxygen, how to split function documentation when parameter typedef makes signatures identical?
我必须记录两个单独的函数,由于typedef,它们似乎被解释为相同的函数,因此两者的文档被合并在一起。
这是一个非常简单的示例:
typedef int group;
typedef enum { INDIVIDUAL = 0, GROUP = 1, } type_to_process;
/**************************************************************************//**
*
* @brief Individual function.
*
* @param[in] type type to process
* @param[in] p_int individual number to process
*
*****************************************************************************/
void function(type_to_process type, int *p_int);
/****************************************************************************//**
*
* @brief Group function.
*
* @param[in] type type to process
* @param[in] p_group group number to process
*
*****************************************************************************/
void function(type_to_process type, group *p_group);
当群被typedef
到一个int
时,doxygen认为这两个函数是相同的。
有没有办法让doxygen将它们记录为单独的功能?
谢谢。
Doxygen遵循C++规则,C++规则说这些是相同的函数。没有办法让Doxygen假装这些声明是针对不同的函数的,就像没有办法让C++假装这些声明是针对不同的函数一样。
一般来说,Doxygen不允许你对文档的读者撒谎。
处理此问题的正确方法是实际遵循C++的重载规则:
struct process_individual{};
struct process_group{};
void function(process_individual, int *p_int);
void function(process_group, group *p_group);
或者更好的是,给它们不同的名字,因为它们并不是真正的超载。或者更好的是,不要对单个指针使用指针:
void function(int &integer);
void function(group *p_group);
有许多方法可以处理此问题,它们都归结为不尝试使用枚举器来区分具有相同签名的函数。
相关文章:
- C++将向量的向量拆分为向量的N个子向量
- 如何拆分文件中.txt字母并使用c ++使用数组进行扑克?
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用 C++ 将命令行参数拆分为参数/向量
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 如何在C++中将数字拆分为数字
- 在线程之间拆分任务总是值得的吗?
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 在 c++ 中拆分类和标头中的继承,错误
- 在矢量内拆分 deques
- 拆分重叠段
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- 通过空行提升拆分字符串
- 给定一个大小为 N 的数组 S,检查是否可以将序列拆分为两个序列
- 如何按多个括号类型拆分字符串,但仍将括号保留在C++?
- 将 Boost.Spirit.X3 解析器拆分为多个 TU
- 将字符串拆分为等长 c++ 的部分
- 将执行循环拆分为多个线程 (1-N-1-N-1..)
- 使用范围拆分string_view
- 拆分没有拆分条的窗口