2009-08-17 3 views
2

Может кто-нибудь сказать мне, что не так с этим кодом, поэтому doxygen не может справиться?Doxygen и typedefs внутри пространств имен

/*! 
\file Enumerator.h 
\brief Implements an Enumerator pointer for accessing linked list elements. 
*/ 

#pragma once 

#ifndef __MSCL_ENUMERATOR_H__ 
#define __MSCL_ENUMERATOR_H__ 

namespace MSCL 
{ 

/*! 
\typedef Enumerator 

Pointer to linked list data structure. 

\sa ArrayList::GetEnumerator, \sa List::GetEnumerator 
*/ 
typedef void* Enumerator; 

}; 
#endif 

мне нужно перечислитель, который используется многими способами в качестве типа аргумента, чтобы быть

1), видимый в индексе справки.

2) Правильно связан с этой страницей документации.

Формат целевой документации - chm.

Это абсолютно сбивает с толку, потому что нет ошибки, нет предупреждения, ничего.

Однажды, после игры с различными настройками конфигурации doxygen мне удалось достичь # 1 - тип был в индексе, но я понятия не имею, какой переключатель сделал это, и я не мог повторить его.

ответ

4

Если я добавляю комментарий doxygen для описания пространства имен MSCL, тогда документация для MSCL :: Enumerator генерируется должным образом.

+1

Возможно, вы имели в виду ---------------------- /*! \ имен MSCL \ краткое бла-бла-бла бла-бла-бла */ имен MSCL { (...) ------------------- --- ? Не работает. Обычно блок декларации пространства имен {} определяется макросами - это я заменил на обычный синтаксис, потому что doxygen вообще не обрабатывал его - даже при включенной предварительной обработке. К сожалению, с определённым пространством имен или без него он не работает. BTW: документация для макроопределений препроцессора также не генерируется, поэтому, возможно, это переключатель, который я включил или выключил, что вызывает это? – mslaf

+0

Я предполагаю, что переключатель настройки кислорода в кислороде будет мешать. Попробуйте положить Enumerator.h в пустую папку и запустить doxygen с пустым doxyconf. Добавьте комментарий и запустите doxygen снова, с пустым doxyconf. Для меня этот второй запуск создает документацию для Enumerator на странице «Ссылка на пространство имен MSCL», включая ссылки на ссылки в комментариях. – Neil

+2

Проблема решена. По-видимому, проблема была вызвана значением «SHOW_FILES» равным false. BTW: если для параметра «SHOW_NAMESPACES» установлено значение false typedefs, в индексе отсутствует страница документации. Большое спасибо за помощь;) – mslaf

Смежные вопросы