gpt4 book ai didi

c++ - 如何将 Doxygen 的 "Documentation at other places"功能与专门的模板类一起使用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:32 25 4
gpt4 key购买 nike

我正面临一个与 Doxygen 无关紧要的问题。但是在网上找不到答案,又很好奇,特来请教一下。

当我在上课时,我习惯于在文档的标准位置定义小的部分,但我也习惯于在头文件的底部定义大的文档部分,如代码示例或逐字记录,而不是定义它们在每个类(class)之上。那些我需要使用 Doxygen 的“Documentation at other places”功能。

这是一个工作示例:

/** This is my class description */
class MyClass
{
...
};


/*! @class MyClass
@code
...some code example
@endcode */

这通常效果很好。

但今天我试图对专门的模板类使用相同的方法,但我无法将其放在文档中的正确位置。

这是一个无效的例子:

/** This is my class description */
template < class Tr, class... Args >
class MyClass<Tr(Args...)> : public MyBaseClass {
...
};


/*! @class MyClass<Tr(Args...)>
@code
...some code example
@endcode */

我搜索了文档、Doxyfile 和互联网,但我仍然无法判断我是否没有按照应该做的那样去做,或者这是一个“错误”还是不常见的情况。

谢谢您的指教。


编辑:我用一个最简单的模板类(没有专门化)做了一些更多的测试,但它也不起作用。

/** This is my class description */
template < class Tr >
class MyClass
{
...
};


/*! @class MyClass // @class MyClass< Tr > // @class template < Tr > MyClass
@code
...some code example
@endcode */

我尝试在类名之后或之前指定模板,使用或不使用“template”关键字,并且只使用类名,但它似乎没有任何效果。


编辑 2:它确实适用于简单的模板类。之前的编辑测试没有工作,因为我在没有在 Doxygen 注释中指定 namespace 的情况下将类定义到 namespace 中:@class namespace::MyClass

但它仍然不适用于专门的模板类,我仍然无法将注释 block 重定向到专门的模板类。

最佳答案

我认为你不应该把模板参数放在那里。做这样的事情:

/** This is my class description */
template < class Tr, class... Args >
class MyClass<Tr(Args...)> : public MyBaseClass {
...
};

/*! @class MyClass
@code
...some code example
@endcode */

我不确定它是否有效(这里没有安装 doxygen),但我认为它应该有效。

关于c++ - 如何将 Doxygen 的 "Documentation at other places"功能与专门的模板类一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5602364/

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