J'essaie d'écrire des blocs de commentaires Doxygen, et j'aimerais inclure des exemples de code. Bien sûr, j'aimerais que les exemples compilent pour qu'ils ne soient pas viciés.Comment puis-je inclure un sous-ensemble d'un fichier .cpp dans un commentaire Doxygen?
Mon example.cpp (que je \ Include dans le fichier .h) ressemble à ceci:
#include "stdafx.h"
#include "../types_lib/Time_Limiter.h"
#include <vector>
void tl_demo() {
// scarce will be a gate to control some resource that shouldn't get called
// more than 10 times a second
Time_Limiter scarce (10);
// here's a bunch of requests
std::vector<int> req (500);
for (size_t i=0;i<req.size();i++) {
scarce.tick();
// once we get here, we know that we haven't ticked
// more than 10 times in the last second.
// do something interesting with req[i]
}
}
// endcode
et mon fichier d'en-tête (que je suis en cours d'exécution Doxygen) ressemble à ceci:
/**
* \ingroup types_lib
*
* \class Time_Limiter
*
* \brief Thread safe gate used to control a resource (such as an internet quote service) that has a limit on how often you can call it.
*
* \dontinclude Time_Limiter_example.cpp
* \skipline void
* \until endcode
*
**/
Et j'aimerais que doxygen inclue juste des choses commençant à "void demo" jusqu'à la fin du fichier (mais sans le // endcode).
J'ai essayé d'expérimenter \ neinclude et \ skip, \ skipline, et \ until, et je n'arrive pas à trouver les bonnes incantations.
EDIT: inclus mon fichier .h, et maintenant j'ai presque la bonne incantation. Cela fait presque exactement ce que je veux, est-il un moyen d'utiliser \ jusqu'à ce que sans une balise, et se débarrasser de cette dernière // endcode ligne de example.cpp?
Avez-vous correctement défini EXAMPLE_PATH dans le doxyfile? –
Oui. le texte est inclus, j'essaie juste de comprendre quelques incantations pour que je n'aie pas à voir les trois #includes au début. –
Et vous avez vu l'exemple à http://www.stack.nl/~dimitri/doxygen/commands.html#cmddontinclude? –