Тег copydoc Doxygen для повторного использования примеров кода

Я хочу повторно использовать блок примера кода с помощью тега \ 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, которую я создаю для копирования. Итак, где-то в итоговой документации есть ' sa с некоторым кодом, полностью вырванным из контекста. Насколько я понимаю, здесь нужно найти тег, на который может ссылаться copydoc, и который сам по себе не отображает никакого контента. Тем не менее, это всего лишь мои мысли, могут быть и гораздо лучшие.

Я также могу упомянуть, что я (по нескольким причинам, о которых я не буду вдаваться в подробности) не хочу использовать тег \ example с внешними файлы примеров кода.

Спасибо.

7
задан Bob Jarvis - Reinstate Monica 3 May 2012 в 11:15
поделиться