我有一个需要在Doxygen中记录bsearch()签名的情况。该签名如下:
void * __cdecl bsearch (
const void *key,
const void *base,
size_t num,
size_t width,
int(__cdecl *compare)(const void *, const void *)
)
我遇到的问题是如何为指针*compare组合@param命令,因为Doxygen抱怨“在bsearch的参数列表中找不到@ param命令的参数'compare'”,无论我尝试什么东西。
这是一个独立的实现,因此它不依赖于库签名,但是我在考虑如果我做了:
typedef int(__cdecl *pcompare)(const void *, const void *);
将签名更改为pcompare,这样使用标准签名的调用方将会出现类型问题。
我愿意接受任何允许我在不引起Doxygen警报的情况下记录此内容的解决方案。
bsearch
是一种全面的损失--它不是类型安全的,而且比等效的C++模板函数如std::binary_search
和std::lower_bound
更慢。 - Ben Voigt