我想使用 \copydoc 标签重用示例代码块。
来解释一下问题。假设我有两个已记录的函数:
/** Aquires resource. */
Resource* AquireResource( int id );
/** Releases resource.*/
void ReleaseResource( Resource* res );
在许多情况下,我想放入一个小代码示例来说明如何在上下文中使用该函数,这通常涉及使用一系列函数,这些函数都可以通过相同的代码示例充分描述,例如:
/** Aquires resource.
*
* \par Example:
* \code
* Resource* res = AquireResource( 42 );
* ReleaseResource( res );
* \endcode
*/
Resource* AquireResource( int id );
/** Releases resource.
*
* \par Example:
* \code
* Resource* res = AquireResource( 42 );
* ReleaseResource( res );
* \endcode
*/
void ReleaseResource( Resource* res );
所以代码示例是重复的,不好。我想使用 copydoc,如下所示:
/** \page ResourceExampleTag
* \code
* Resource* res = AquireResource( 42 );
* ReleaseResource( res );
* \endcode
*/
/** Aquires resource.
*
* \par Example:
* \copydoc ResourceExampleTag
*/
Resource* AquireResource( int id );
/** Releases resource.
*
* \par Example:
* \copydoc ResourceExampleTag
*/
void ReleaseResource( Resource* res );
IE。代码示例在一个地方,在其他地方重用。
这实际上是我所得到的,但我对此不满意,因为我不知道如何隐藏我正在创建并从中复制的虚拟页面“ResourceExampleTag”。因此,在生成的文档中的某处,有一个页面包含一些完全脱离上下文的代码。据我所知,这里的事情是找到一个可以被 copydoc 引用的标签,并且它本身不会呈现任何内容。不过,这只是我的想法,也许还有更好的。
我还可以提到,我(出于多种原因,我不想深入讨论)不希望将 \example 标签与外部示例代码文件一起使用。
Thanks.
这对我有用:
class MyClass
{
public:
/**
* @class hide_commonstuff
* @par Example:
* @code
* The common example
* @endcode
*/
/**
* First function.
*
* @copydoc hide_commonstuff
*/
void first();
/**
* Second function.
*
* @copydoc hide_commonstuff
*/
void second();
};
然后在 doxygen 配置中设置EXCLUDE_SYMBOLS = hide_*
该文档是从hide_commonstuff
但该班级未显示在班级列表中。
另外:前面需要有一个空行@copydoc
否则它不起作用(有时,并不总是......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)