gpt4 book ai didi

c++ - 模板或函数参数作为 doxygen 中的实现细节?

转载 作者:行者123 更新时间:2023-11-30 02:59:59 25 4
gpt4 key购买 nike

在doxygen中有没有什么通用的方式来指定函数参数的一些C++模板参数是实现细节,用户不应该指定?

例如,在元编程技术中用作递归级别计数器的模板参数或函数中的 SFINAE 参数?

例如:

/// \brief Do something
/// \tparam MyFlag A flag...
/// \tparam Limit Recursion limit
/// \tparam Current Recursion level counter. SHOULD NOT BE EXPLICITELY SPECIFIED !!!
template<bool MyFlag, unsigned int Limit, unsigned int Current = 0> myFunction();

是否有任何 doxygen 标准化选项等同于“不应明确指定!!!” ?

最佳答案

在我看来,整个模板是不同接口(interface)的实现细节:

template<bool MyFlag, unsigned int Limit, unsigned int Current = 0> myFunctionImpl();

template<bool MyFlag, unsigned int Limit> myFunction() {
myFunctionImpl<MyFlag, Limit, 0>();
}

现在记录变得更容易了:myFunction()(及其所有参数)是接口(interface)的一部分,不包括迭代计数器。 myFunctionImpl() 是该接口(interface)的实现,根本不需要记录(或者只需要最少的注释说明它是一个实现细节,用户代码不应该依赖它或使用它直接地)。如果需要,您可以将实现包含在 #ifdef block 中,以便 doxygen 预处理器将其删除,并且它不会出现在生成的文档中。

关于c++ - 模板或函数参数作为 doxygen 中的实现细节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12434100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com