Документирование макросов на C ++ с помощью Doxygen

Как мне документировать макрос-функцию на C ++ с помощью Doxygen, и ссылаться на него в документации моего не-Evil кода?

Более конкретно, у меня есть некий обычный класс под названием «Message», определенный в Message.H, от которого пользователи могут наследовать, чтобы определять свои собственные сообщения. В другом файле («MessageHelpers.H») у меня есть сумасшедший макрос вроде этого:

//! 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);                       

В документации по Message мне бы очень понравилось, если бы фраза «REGISTER_MESSAGE_TYPE» могла автоматически стать ссылкой и указывать на мою документацию по макросу . Например,

//! 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();
};

Возможно ли это?

19
задан rcv 27 December 2010 в 23:33
поделиться