Sto provando a scrivere alcuni blocchi di commenti Doxygen e vorrei includere frammenti di codice di esempio. Certo, mi piacerebbe che gli esempi venissero compilati in modo che non diventassero stantii.Come posso includere un sottoinsieme di un file .cpp in un commento Doxygen?
mio example.cpp (che ho \ include nel file h) si presenta così:
#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
e il mio file di intestazione (che sto correndo Doxygen) si presenta così:
/**
* \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
*
**/
E mi piacerebbe ottenere doxygen per includere solo cose che iniziano da "void demo" alla fine del file (ma senza il // codice finale).
Ho provato a sperimentare con \ dontinclude e \ skip, \ skipline e \ until, e non riesco a capire i giusti incantesimi.
MODIFICA: incluso il mio file .h, e ora ho quasi il giusto incantesimo. Questo è quasi esattamente quello che voglio, c'è un modo per usare \ fino a quando non c'è un tag, e sbarazzarsi di quest'ultima riga // endcode da example.cpp?
Hai impostato correttamente EXAMPLE_PATH nel doxyfile? –
Sì. il testo è incluso, sto solo cercando di capire un incantesimo in modo che non debba vedere i tre #include all'inizio. –
E avete visto l'esempio su http://www.stack.nl/~dimitri/doxygen/commands.html#cmddincorporare? –