J'essaie d'écrire des blocs de commentaires Doxygen et j'aimerais inclure des extraits de code à titre d'exemple. Bien entendu, j'aimerais que les exemples soient effectivement compilés afin qu'ils ne deviennent pas obsolètes.
Mon fichier example.cpp (que j'ai \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 j'exécute avec 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 n'inclue que les éléments commençant par "void demo" jusqu'à la fin du fichier (mais sans le code de fin //).
J'ai essayé d'expérimenter avec \dontinclude y \skip , \skipline y \until et je n'arrive pas à trouver les bonnes incantations.
EDIT : j'ai inclus mon fichier .h, et maintenant j'ai presque la bonne incantation. Ceci fait presque exactement ce que je veux, y a-t-il un moyen d'utiliser \until sans balise, et se débarrasser de cette dernière // ligne endcode de example.cpp ?