c++ - online - Documentando espacios de nombres con Doxygen
doxygen python (2)
Como alternativa, también puede usar /ingroup
Records
en la documentación del espacio de nombres:
/**
* /defgroup Records Title for records module
* @brief Short doc of Records
*
* Long doc of Records.
*/
/**
* @brief Generic record interfaces and implementations
*
* /ingroup Records
*/
namespace Records {
/// Describes the record interface
class Interface;
} /* namespace Records */
Tengo problemas con Doxygen al reconocer espacios de nombres y módulos. Creo que el problema está en si colocar /addtogroup
dentro del espacio de nombres o fuera del espacio de nombres.
Ejemplo 1, fuera del espacio de nombres:
/*!
* /addtogroup Records
* @{
*/
//! Generic record interfaces and implementations
namespace Records
{
//! Describes the record interface
class Interface;
} // End namespace Records
/*! @} End of Doxygen Groups*/
Ejemplo 2 - dentro del espacio de nombres
//! Generic record interfaces and implementations
namespace Records
{
/*!
* /addtogroup Records
* @{
*/
//! Describes the record interface
class Interface;
/*! @} End of Doxygen Groups*/
} // End namespace Records
Me gustaría que los namespace Records
aparezcan debajo de la pestaña Espacios de nombres de Doxygen e indirectamente debajo de la pestaña Módulos . Al hacer clic en el elemento en la página de Espacios de nombres debería aparecer una página que contenga Records::Interface
. Al hacer clic en el elemento en la pestaña Módulos también debería aparecer una página que contenga Records::Interface
.
En mi documentación de Doxygen, faltan elementos en la pestaña Espacios de nombres que están en Módulos y viceversa, debido a mi inconsistencia resultante de este dilema.
Entonces, ¿cuál es el método apropiado, Ejemplo 1 o Ejemplo 2? {El manual de Doxygen no está claro en este tema.}
Doxygen: / addtogroup
Doxygen: documentando espacios de nombres
He realizado un experimento con Doxygen y los dos ejemplos y aquí están los resultados. Los nombres de clase en los ejemplos han sido renombrados para evitar confusiones con Doxygen.
Ejemplo 1, espacio de nombres externo
/*!
* /addtogroup Records
* @{
*/
//! Generic record interfaces and implementations
namespace Records
{
//! Describes the record interface
class Interface;
} // End namespace Records
/*! @} End of Doxygen Groups*/
Resultados de Doxygen:
Haga clic en el botón Módulos (en la barra principal).
Haga clic en el módulo "Registros" en la ventana.
Ejemplo 2: Dentro del espacio de nombres (clase renombrada a Campos)
//! Generic record interfaces and implementations
namespace Fields
{
/*!
* /addtogroup Fields
* @{
*/
//! Describes the record interface
class Interface;
/*! @} End of Doxygen Groups*/
} // End namespace Fields
Resultados de Doxygen:
Haga clic en el botón Módulos (en la barra principal).
Haga clic en el módulo "Registros" en la ventana.
Resumen
La ubicación del comando Doxygen /addtogroup
tiene diferentes resultados dependiendo de si se encuentra dentro de una definición de namespace
o fuera. Cuando se declara fuera de un espacio de nombres, la pestaña Módulos de Doxygen mostrará el espacio de nombres, como se muestra en el Ejemplo 1 anterior. Cuando el comando /addtogroup
se coloca dentro de un espacio de nombres, la pestaña Módulos de Doxygen no mostrará los espacios de nombres como se muestra en el Ejemplo 2 anterior. Si desea que su espacio de nombres /addtogroup
en la pestaña Módulos de Doxygen, ubique el comando /addtogroup
fuera del espacio de nombres.