【问题标题】:Doxygen support for only custom classes in stl containersDoxygen 仅支持 stl 容器中的自定义类
【发布时间】:2014-04-07 22:21:54
【问题描述】:

我刚开始使用 doxygen,发现了非常有用的配置:

BUILTIN_STL_SUPPORT = YES

我想知道是否有任何方法可以限制此范围? (不是作用域的 C++ 技术含义,而是 doxygen 理解的作用域。)特别是让 STL 容器 only 出现用于包装自定义类会很棒。例如,如果我有以下内容:

class B;
class A
{
    std::vector<char> vectorOfChar;
    std::vector<B> vectorOfObjects;
};

如果 doxygen 在协作图中显示vector&lt;B&gt; 会很棒vector&lt;char&gt; 不会出现。这是否可以通过配置选项、自定义头文件或修改内置的 stl 支持来实现?

【问题讨论】:

    标签: c++ stl doxygen


    【解决方案1】:

    根据您的项目规模,我可以为您的情况考虑两种解决方法,但都不是最佳的:

    • 只有少数情况下应显示 STL 对象:您可以在此处删除 BUILTIN_STL_SUPPORT 标志并记录您想要查看的每个符号。例如,您记录您的 std::vector&lt;B&gt; 类型。

    • 应该显示很多 stl 类型,只删除默认类型:在这里您可以排除符号,使用 EXCLUDE_SYMBOLS。您可以排除 std::vector&lt;char&gt; 例如,它不会显示在依赖关系图中。这可能需要做很多工作,但您可以使用通配符进行概括。

    不幸的是,两者都不是很方便的解决方案,但也许总比没有好。

    链接:http://cs.swan.ac.uk/~csoliver/ok-sat-library/internet_html/doc/doc/Doxygen/1.7.6.1/html/config.html#cfg_exclude_symlinks

    【讨论】:

    • 我确实尝试过EXCLUDE_SYMBOLS,但我似乎无法让它做我想做的事。但是对于您的其他解决方法,我是否需要前向声明向量容器并对其进行评论?或者我会在悬空的评论块上使用某种\ingroup(或类似的)命令吗?
    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 2010-09-14
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多