【发布时间】:2011-06-27 12:47:06
【问题描述】:
我想使用 \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 );
即一个地方的代码示例,在其他地方重用。
这实际上是我所得到的,但我对此并不满意,因为我不知道如何隐藏我要从中复制的虚拟页面“ResourceExampleTag”。因此,在生成的文档中的某处有一个页面,其中一些代码完全脱离了上下文。据我所知,这里的事情是找到一个可以被 copydoc 引用并且不会在其自身上呈现任何内容的标签。不过,这只是我的想法,可能还有更好的想法。
我还可以提到我(出于几个原因,我不会费心介绍)不希望将 \example 标记与外部示例代码文件一起使用。
谢谢。
【问题讨论】:
标签: doxygen reusability