¿Cómo doy parte de una función de macro en C++ utilizando Doxygen y me refiero a ella en la documentación de mi código no Evil?Documentación de funciones de macros en C++ con Doxygen
Más específicamente, tengo una clase regular llamada "Mensaje" definida en Message.H de la que los usuarios pueden heredar para definir sus propios mensajes. En otro archivo ("MessageHelpers.H") tengo una macro loco como esto:
//! Users must call this macro to register their messages...
/*!
...lest they be forced to type all sorts of boring and
error-prone boiler plate code.
blah blah blah... More specific documentation and explanation...
*/
#define REGISTER_MESSAGE_TYPE(MSGTYPE) \
do_some(MSGTYPE); \
seriously(); \
crazy_stuff(MSGTYPE);
en la documentación de mensaje, me gustaría que si la frase "REGISTER_MESSAGE_TYPE" podría convertirse automáticamente en un enlace y punto a mi documentación para la macro. P.ej.
//! A cool message class
/*!
Users can inherit from this class to create their own cool messages.
Just be sure to call REGISTER_MESSAGE_TYPE after your class definition!
*/
class Message
{
virtual void doSomeStuff();
};
¿Esto es posible?
Esto no funciona para mí .. Intenté copiar la macro ABS del ejemplo aquí http://www.stack.nl/~dimitri/doxygen/autolink.html pero no se generó ninguna documentación, y la referencia en mi código "#ABS (x)" no se vinculó. Debo estar haciendo algo mal en mi archivo de configuración? – rcv
No sé si este es su problema, pero asegúrese de documentar el archivo en algún lugar donde se define la macro. Prueba cualquiera/*! \ file */or/** @file * /, y ver si doxygen ha generado alguna advertencia. Fuente es http://www.stack.nl/~dimitri/doxygen/docblocks.html buscando "objetos globales". (editar - los caracteres de barra oblicua no parecían funcionar, pero deberían ser marcadores de comentarios de varias líneas) – Guerrero
Sí, tengo un/*! @file nombrearchivo.h descripción ... */en la parte superior de cada archivo ... Es interesante que mi definición de macro no aparece en mi documentación de MessageHelpers.H en absoluto. – rcv