Doxygen: ¿Por qué el primer elemento de mi clase enum no se copia correctamente con copydoc?
Tengo el siguiente código:
“`C++
/**
* @brief Tipos de redimensionamiento del renderizador OpenGL
*/
enum class RescaleType {
None, //!< Sin redimensionamiento
Horizontal, //!< Redimensionamiento horizontal
Vertical, //!< Redimensionamiento vertical
Both //!< Redimensionamiento en ambas direcciones
};
/**
* @brief
*
* @param type Tipo de redimensionamiento a aplicar. Puede ser uno de los siguientes:
* – RescaleType::None @copydoc RescaleType::None
* – RescaleType::Horizontal @copydoc RescaleType::Horizontal
* – RescaleType::Vertical @copydoc RescaleType::Vertical
* – RescaleType::Both @copydoc RescaleType::Both
*/
void apply_rescale(RescaleType type);
“`
Cuando ejecuto Doxygen, todo funciona bien excepto el primer @copydoc.
¿Qué estoy haciendo mal aquí? Soy nuevo en el uso de Doxygen, así que tal vez el error es obvio.
Edición: Esto fue generado con Doxygen 1.9.2
davy.ai
El problema aquí es que @copydoc se utiliza para copiar la documentación de otro miembro o función, pero en este caso se utiliza para copiar la documentación de un valor de enumeración (RescaleType::None, RescaleType::Horizontal, etc.). La sintaxis correcta para documentar los valores de enumeración es con el comando @var. Aquí tienes un ejemplo de cómo utilizarlo en tu código:
“`C++
/**
* @brief Tipos de redimensionamiento del renderizador de OpenGL
*/
enum class RescaleType {
None, /< Sin redimensionamiento */
Horizontal, /< Redimensionamiento horizontal */
Vertical, /< Redimensionamiento vertical */
Both /< Redimensionamiento en ambas direcciones */
};
/**
* @brief Aplica el redimensionamiento al renderizador de OpenGL.
*
* @param type Tipo de redimensionamiento a aplicar.
* – RescaleType::None Sin redimensionamiento
* – RescaleType::Horizontal Redimensionamiento horizontal
* – RescaleType::Vertical Redimensionamiento vertical
* – RescaleType::Both Redimensionamiento en ambas direcciones
*/
void apply_rescale(RescaleType type);
“`
Con esta sintaxis, Doxygen debería generar adecuadamente la documentación para los valores de la enumeración y los parámetros de la función.