Estoy intentando escribir algunos bloques de comentarios de Doxygen, y me gustaría incluir ejemplos de fragmentos de código. Por supuesto, me gustaría que los ejemplos compilaran para que no se vuelvan obsoletos.¿Cómo puedo incluir un subconjunto de un archivo .cpp en un comentario de Doxygen?
Mi example.cpp (que \ include en el archivo .h) tiene el siguiente aspecto:
#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
y mi archivo de cabecera (que estoy corriendo Doxygen) tiene el siguiente aspecto:
/**
* \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
*
**/
Y me gustaría hacer que doxygen simplemente incluya cosas comenzando en "void demo" hasta el final del archivo (pero sin // código final).
He intentado experimentar con \ dontinclude y \ skip, \ skipline, y \ hasta, y no puedo entender los encantamientos correctos.
EDITAR: incluye mi archivo .h, y ahora casi tengo el hechizo correcto. Esto hace que sea casi exactamente lo que quiero, ¿hay alguna forma de usar \ hasta que no tenga una etiqueta, y deshacerme de esa última // línea de código final de example.cpp?
¿Estableció correctamente el EXAMPLE_PATH en el archivo doxy? –
Sí. el texto está incluido, solo trato de descifrar un encantamiento para no tener que ver los tres #includes al principio. –
¿Y vio el ejemplo en http://www.stack.nl/~dimitri/doxygen/commands.html#cmddontinclude? –