Документирование макросов (с помощью doxygen) для члена структуры - PullRequest
2 голосов
/ 25 июня 2010

Я предпочитаю определять определенные макросы внутри моих структурных определений, поэтому легко увидеть возможные значения для данного члена.Например:

typedef struct foo_t {
    uint16_t flags;
        #define FOO_FLAG_BELL       0x0001
        #define FOO_FLAG_BOOK       0x0002
        #define FOO_FLAG_CANDLE     0x0004
        #define FOO_FLAG_LANTERN    0x0008
}

Doxygen хочет перечислить эти макросы вверху со всеми остальными макросами.Я использовал теги группировки (//@{ и //@}) для группировки этих макросов и назвал группу с foo_t.flags, но я хотел бы найти способ более тесно связать значения сструктура.Должен ли я использовать \link и \endlink, чтобы как-то связать это имя с группой?

1 Ответ

5 голосов
/ 25 июня 2010

Использовать перечисления.

typedef struct foo_t {
  enum flag_define { 
    FOO_FLAG_BELL    =  0x0001,    /**< The flag for the bell or whatever. */
    FOO_FLAG_BOOK    =  0x0002,
    FOO_FLAG_CANDLE  =  0x0004,
    FOO_FLAG_LANTERN =  0x0008,
  } flags:16;                      /**< My flag thing */
}  foo_t;
...