Doxygen : Une documentation pour deux fonctions

Fermé
Antoine - 1 mai 2014 à 13:32
 Antoine - 1 mai 2014 à 14:21
Bonjour à tous,

Je suis en train de rédiger la documentation de mon code avec Doxygen. Mon code est en C et n'ayant pas de surchage, deux fonctions réalisent la même opération, l'une avec une chaîne de texte ASCII et l'autre UNICODE, comme beaucoup d'API.

/**
\ingroup Mongroupe
\brief Description ici
\param s Premier paramètre
*/
fonctionA(const char *s);
/**
\ingroup Mongroupe
\brief Description ici
\param s Premier paramètre
*/
fonctionW(const wchar_t *s);
#ifdef _UNICODE
#define fonction fonctionW
#else
#define fonction fonctionA
#endif

En faisant, comme cela, je suis obligé d'écire deux fois la même documentation. De plus, j'aimerai si cela est possible, documenter ça sous le nom "fonction" au lieu de "fonctionA" et "fonctionW".

Je peux faire un groupe (nommé ou anonyme) comme cela:
/**
\ingroup Mongroupe
@{
\brief Description ici
\param s Premier paramètre
*/
fonctionA(const char *s);
fonctionW(const wchar_t *s);
/** @} */
#ifdef _UNICODE
#define fonction fonctionW
#else
#define fonction fonctionA
#endif

Mais cela n'est pas rangé dans la catégorie "fonctions" mais dans la pseudo-catégorie "sous-groupes". Or, le même problème exite pour les structures. Elles se retrouvent ainsi mélangé dans la pseudo-catégorie "sous-groupes".

Comment puis-je n'écrire qu'une seule documentation pour deux fonction? Éventuellement serait-t-il possible d'écrire la documentation pour l'une et dire à l'autre d'utiliser la même, comme une redirection de la documentation?

1 réponse

Finalement, j'ai trouvé tout seul. La commande \overload est disponible même pour du code C apparemment. Elle permet d'indiquer une surcharge pour une fonction mais pas pour une structure. Pour les structures, je crré des groupes que je place juste sous le champ "Structure". De cette manière, le lecteur a l'impression qu'il s'agit d'une seule catégorie.
0