浏览该文件的文档.
24 #include <condition_variable>
68 std::vector<DotJob>
m_jobs;
bool run()
Runs dot for all jobs added.
Helper class to run dot from doxygen from multiple threads.
std::queue< DotRunner * > m_queue
void addJob(const QCString &format, const QCString &output, const QCString &srcFile, int srcLine)
Adds an additional job to the run.
void preventCleanUp()
Prevent cleanup of the dot file (for user provided dot files)
static bool readBoundingBox(const QCString &fileName, int *width, int *height, bool isEps)
void enqueue(DotRunner *runner)
Queue of dot jobs to run.
Worker thread to execute a dot run
DotRunner(const QCString &absDotName, const QCString &md5Hash=QCString())
Creates a runner for a dot file.
DotWorkerThread(DotRunnerQueue *queue)
std::vector< DotJob > m_jobs
std::unique_ptr< std::thread > m_thread
std::condition_variable m_bufferNotEmpty
DotJob(const QCString &f, const QCString &o, const QCString &a, const QCString &s, int l)
This is an alternative implementation of QCString.