如何在doxygen中创建状态图?

cod*_*der 7 c++ doxygen

使用doxygen我想以某种方式生成状态图.doxygen中是否有任何技巧可以帮助我们实现这一目标?

目前我只是使用预先格式化的文本,然后添加我自己的"自由文本图表",这是难以维护和绘制时间.

我使用doxygen生成的所有其他图表(即继承,关系等等),但由于状态机不是"标准"c/c ++构造(即eech设计师可以不同地实现它们),我想没有自动告诉doxygen为你做这件事的方法.但是,是否存在某种图表元素的创建,您可以在每个州旁边发表评论?也许像这个粗略的例子:

\section state Diagram
... description

\state state1...
\value1 returns state2
\value2 returns state1
int myState1Handler(){...}

\state state2...
\value1 returns state1
\value2 returns state2
int myState2Handler(){...}
Run Code Online (Sandbox Code Playgroud)

编辑1:

或者,是否可以使用下面评论中建议的graphviz标记语言,并以某种方式将它们与doxygen输出集成?

πάν*_*ῥεῖ 5

Doxygen的(至少是最新版本)提供\dotfile和\dot专门的命令以插入任意.dot文件或与graphviz的在生成的文档被呈现内嵌点图的描述.

您还可以考虑使用诸如SMC之类的工具来管理您的状态机(通过建模,可视化表示和代码生成).