tutorial online descargar alternatives c++ namespaces doxygen documentation-generation doxygen-addtogroup

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.