【发布时间】:2011-08-01 22:07:44
【问题描述】:
我正面临着一个非常不重要的 Doxygen 问题。但是由于我无法通过互联网找到答案,并且我很好奇,所以我来这里请您分享您的知识。
当我在编写一个类时,我习惯于在文档的标准位置定义小部分,但我也习惯于在头文件底部定义大文档部分,如代码示例或逐字记录,而不是定义它们在每个类的顶部。 那些我需要使用Doxygen的“其他地方的文档”功能。
这是一个工作示例:
/** 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 和 Internet,但我仍然无法判断我是否没有按照应有的方式进行操作,或者这是一个“错误”还是不常见的情况。
感谢您的启发。
编辑:我用一个最简单的模板类(没有专门化)做了更多测试,但这也不起作用。
/** This is my class description */
template < class Tr >
class MyClass
{
...
};
/*! @class MyClass // @class MyClass< Tr > // @class template < Tr > MyClass
@code
...some code example
@endcode */
我尝试在类名之后或之前指定模板,使用或不使用“模板”关键字,并且只使用类名,但它似乎没有任何作用。
编辑 2:它确实适用于简单的模板类。之前的编辑测试不起作用,因为我已将类定义为命名空间而没有在 Doxygen 注释中指定命名空间:@class namespace::MyClass
但它仍然不适用于专门的模板类,我仍然无法将评论块重定向到专门的模板类。
【问题讨论】: