草庐IT

c++ - 如何让 Doxygen 忽略继承关系?

我试图让Doxygen在绘制协作图时忽略继承关系。假设我的类定义如下所示:classDerived:publicBase{intx;inty;intz;}现在,当我运行Doxygen时,我不想在生成的协作图中看到基类。乍一看,最简洁的方法似乎是在我的Doxyfile中使用EXCLUDE_SYMBOLS指令。具体来说:EXCLUDE_SYMBOLS=Base但是,我发现这不起作用:Base类仍然出现在我的Derived协作图中。我在Doxygen1.8.6和1.8.11上都试过了,使用不同的Base通配符排列(Base*、*as*等),行为相同。Base类总是出现在我的协作图中。公平地说

c++ - 使用 doxygen 分组 -> 到 uml 图的输出被复制

嘿!我有一些代码,我想用doxygen记录下来。因此,我对工作良好的UML图感兴趣-但现在我想使用这样的子分组:///@{///@nameThelameconstants///@detailsTherearetwoseperatevectorsforthefirstlameconstant(inwaterandground)butonlyonefortheshearmodule(alsoknownassecondlameconstant),sinceshearmoduleforwateriszero!Everyelementofthevectorbelongstoonegridpoin

c++ - Doxygen (1.8.8) 将 C++ 构造函数/公共(public)成员函数放在组页面而不是类页面上

我正在尝试使用Doxygen记录我的一些代码。我有一个库,我称之为Doxygen组,许多类在单独的头文件中。许多构造函数在类页面上显示为公共(public)成员函数,但它们的文档显示在组页面上,而不是在类页面上的Constructors&&Destructors部分中。有些不是;我还没有完全弄清楚这个模式。这是一个失败的例子:/***@addtogroupgr_espresso*@{*//***@fileToyTagger.hh*/...namespaceEspresso{.../***@classToyTagger*@briefFaketaggingalgorithm*@detail

c++ - 如何在 doxygen 中创建状态图?

我想使用doxygen以某种方式生成状态图。doxygen中有什么技巧可以帮助我们实现这一目标吗?目前我只是使用预先格式化的文本,然后添加我自己的“自由文本图”,这很难维护并且绘制起来很耗时。我使用doxygen生成的所有其他图表(即继承、关系等...),但由于状态机不是“标准”c/c++构造(即eech设计人员可以不同地实现它们)我猜没有自动的方式告诉doxygen为你做这件事。但是是否有某种图表元素的创建,您可以在每个状态旁边评论?也许像这个粗略的例子:\sectionstateDiagram...description\statestate1...\value1returnsst

c++ - 我可以让 doxygen 将 @ref 解析为 C++ 标准库函数吗?

有时我想在我的doxygen评论中提及标准库结构。我可以用HTML做到这一点元素-但要粘贴的文本很多。我宁愿能够简单地写{@refstd::string},并让doxygen知道它需要链接到cppreference.orgpage对于std::string.我在想,如果有人要为标准库生成一个doxygen标签文件,这也许是可能的(如果标签文件不支持任意URL,即使这样也可能行不通)。那么,还有其他方法吗? 最佳答案 您应该有一个Doxygen标记文件和相应的离线或在线html文件。因此,您可以使用以下格式在Doxygen配置文件中声

c++ - 记录跨越多个文件的 namespace doxygen

假设我有2个头文件。//HEADER1/***DocforFoohere?*/namespaceFoo{classThis{...};}&&//HEADER2/***DocforFoohere?*/namespaceFoo{classThat{...};}在使用Doxygen记录时我应该如何处理这个问题? 最佳答案 也许两者都不是。例如,假设您有"/utility/header1.hpp"其内容在namespaceutility中和"/utility/header2.hpp"这也是。您可以添加一个文件:"/utility.hpp"其

c++ - 也让 doxygen 记录 #ifdef 部分

按照建议here,我的代码中有一些部分由编译标志启用。例如我有这段代码:#ifdefMYPROJ_HAS_BOOST...#endifDoxygen会将它们排除在外,因为它们被省略了,因为MYPROJ_HAS_BOOST没有定义。我通过添加#defineMYPROJ_HAS_BOOST解决了这个问题。但这并不好,因为将来(我计划扩展项目),当需要重新生成我的文档时,也许我会忘记这一点。有什么方法可以让Doxygen(最好通过doxywizard)也考虑我代码的这些部分吗? 最佳答案 在你的Doxyfile(或者你重命名的任何文件)中

c++ - 如何使用 Doxygen 记录具有相同名称的枚举值?

我正在尝试用Doxygen记录两个包含一些相似值的类枚举。但这会为每个具有相同名称的字段生成重复文本。这是我的两个枚举:/*!*\enumOperandType*\briefAtypeofoperand.Representsthelocationoftheoperand.*/enumclassOperandType:unsignedint{IMMEDIATE,/**每个枚举的STACK成员的描述是两个描述的串联,并且GLOBAL存在相同的问题。堆栈的描述是:AvariableonthestackAnoperandonthestack有没有办法专门记录它们中的每一个?

c++ - 如何使用 Doxygen 记录 SFINAE 启用的功能?

在我正在开发的库中,我经常有这种代码:template>=detail::dummy>constexprstd::size_tv(){returnT::V;}template>=detail::dummy>constexprstd::size_tv(){return1;}这两个功能做同样的事情,但根据类型启用。我只想记录其中一个,此外,如果可能的话,我希望在没有模板内容的情况下在Doxygen中显示它,如constexprstd::size_tv()。对于用户来说,这里的模板根本没有任何值(value)。用Doxygen可以做那种事情吗? 最佳答案

c++ - Doxygen 体内评论

我有一些代码,我想用这样的体内注释来记录:/*!\filebest.cpp*\briefThebest**Iamthebest*//*!\fnvoidtheBestFunction(int)*I'mthebestblahblahblah*/voidtheBestFunction(intever){doThings();/*!*Doessomemorethings*/doMoreThings();/*!*Checksthatthethingsitdoesarethebest*/checkBest();}但是当我在上面运行doxygen时,它似乎将内部block格式化为代码片段,就好像@c