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?
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.
Forum Programmation
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.