Doxygen и typedef внутри пространств имен

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

/*!
\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

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

1) Отображается в указателе справки.

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

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

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

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


person mslaf    schedule 17.08.2009    source источник


Ответы (1)


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

person Neil    schedule 17.08.2009
comment
Ты имеешь ввиду ---------------------- /*! \namespace MSCL \краткое бла-бла-бла-бла-бла-бла */ namespace MSCL { (...) ---------------------- ? Не работает. Обычно блок объявления пространства имен {} определяется макросами, которые я заменил на обычный синтаксис, потому что doxygen вообще не обрабатывал его, даже с включенной предварительной обработкой. К сожалению, с определенным пространством имен или без него это не работает. Кстати: документация для определений макросов препроцессора также не создается, так что, может быть, это вызвано включением или выключением переключателя, который вызывает это? - person mslaf; 18.08.2009
comment
Я предполагаю, что на пути мешает переключатель конфигурации doxygen. Попробуйте поместить Enumerator.h в пустую папку и запустить doxygen с пустым doxyconf. Добавьте комментарий и снова запустите doxygen с пустым doxyconf. Для меня этот второй запуск создает документацию для Enumerator на странице справочника по пространству имен MSCL, включая ссылки на см. также в комментариях. - person Neil; 18.08.2009
comment
Проблема решена. По-видимому, проблема была вызвана тем, что для параметра SHOW_FILES установлено значение false. Кстати: если для SHOW_NAMESPACES установлено значение false, определения типов находятся в индексе, но страница документации отсутствует. Большое спасибо за помощь ;) - person mslaf; 18.08.2009