Как я могу документировать, чтобы документация относилась к члену класса, а не к анонимному типу?

Рассмотрим следующий пример.

/// \addtogroup api Foo Group
/// @{

/**
* This class is well-documented.
*/
struct ThreadContext {
/// Storage for the ThreadInvocation object that contains the function and
/// arguments for a new thread.
struct alignas(CACHE_LINE_SIZE) {
/// This data is glorious.
char data[CACHE_LINE_SIZE];
} threadInvocation;
};
/// @}

Когда я бегу doxygen на этом я получаю следующее предупреждение.

Doxygen/Main.h:13: warning: Member threadInvocation (variable) of class ThreadContext is not documented.

Комментарий, который начинается с Storage for the ... должен относиться к threadInvocation объект, но Doxygen считает, что это относится к анонимному struct вместо.

Как я могу сказать doxygen, что хочу, чтобы документация ссылалась на threadInvocation член?

1

Решение

После копания в документирование Более того, я обнаружил, что doxygen фактически позволяет документировать большую часть кода практически где угодно. Для того, чтобы документировать threadInvocation и избегать предупреждения о не документировании анонимного structЯ должен был написать свой код, как это.

/// \addtogroup api Foo Group
/// @{

/**
* This class is well-documented.
*/
struct ThreadContext {
/// \var threadInvocation
/// Storage for the ThreadInvocation object that contains the function and
/// arguments for a new thread.

/// \cond SuppressDoxygen
struct alignas(CACHE_LINE_SIZE) {
/// This data is glorious.
char data[CACHE_LINE_SIZE];
}
/// \endcond
threadInvocation;
};
/// @}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]