2009-08-17 8 views
2

Quelqu'un pourrait-il me dire quel est le problème avec ce code, donc doxygen ne peut pas gérer?Doxygen et typedefs dans les espaces de noms

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

J'ai besoin recenseur qui est utilisé par de nombreuses méthodes comme un type d'argument pour être

1) Visible dans l'index de l'aide.

2) Correctement lié à cette page de documentation.

Le format de la documentation cible est chm.

C'est absolument déroutant car il n'y a pas d'erreur, pas d'avertissement, rien. Une fois, après avoir joué avec différentes options de configuration de doxygen, j'ai réussi à atteindre # 1 - le type était dans l'index mais je n'ai aucune idée de ce que le commutateur a fait et je ne pouvais pas le répéter.

Répondre

4

Si j'ajoute un commentaire doxygen pour décrire l'espace de noms MSCL, la documentation de MSCL :: Enumerator est générée correctement.

+1

Voulez-vous dire ---------------------- /*! \ espace de noms CSML \ bref bla bla bla bla bla bla */ espace de noms CSML { (...) ------------------- --- ? Ne fonctionne pas. Normalement, le bloc de déclaration d'espace de nom {} est défini par des macros - que j'ai remplacées par une syntaxe normale car le doxygen ne l'a pas du tout géré - même si le prétraitement est activé. Malheureusement, avec ou sans l'espace de noms défini, cela ne fonctionne pas. BTW: La documentation pour les définitions de macro du préprocesseur n'est pas également générée, alors peut-être que c'est un commutateur que j'ai activé ou désactivé qui provoque cela? – mslaf

+0

J'imagine qu'il y a un switch de configuration doxygen qui gêne. Essayez de placer Enumerator.h dans un dossier vide et exécutez doxygen avec un doxyconf vide. Ajoutez le commentaire et relancez doxygen, avec un doxyconf vide. Pour moi, cette deuxième exécution génère la documentation pour Enumerator sur la page "MSCL Namespace Reference", y compris les références see-also dans les commentaires. – Neil

+2

Problème résolu. Apparemment, le problème a été causé par le "SHOW_FILES" mis à false. BTW: si le "SHOW_NAMESPACES" est défini sur false typedefs sont dans l'index mais la page de documentation est manquante. Merci beaucoup pour votre aide;) – mslaf