【问题标题】:How to document friend injection functionality with doxygen?如何使用 doxygen 记录好友注入功能?
【发布时间】:2014-06-16 20:54:03
【问题描述】:

给出如下示例中的一些代码:

class MyClass;

class Injector {
    /**
     * @brief MyClass addition.
     */
    friend MyClass operator+(MyClass a, MyClass b) { ... }
};

class MyClass: private Injector {};

如何让 doxygen 在 MyClass 类的文档页面上包含 operator+() 的文档?从功能上讲,它显然属于那里。是否有一些通用方法可以通过 ADL 提供 doxygen 文档功能?

现实世界中的一个有用示例:我希望 doxygen 包含 boost/operators.hpp 中的基类提供的运算符。

【问题讨论】:

    标签: c++ documentation doxygen argument-dependent-lookup


    【解决方案1】:

    /relates 标签是为类似的东西而设计的。

    class MyClass;
    
    class Injector {
        /**
         * @brief MyClass addition.
         * @relates MyClass
         */
        friend MyClass operator+(MyClass a, MyClass b) { ... }
    };
    
    class MyClass {};
    

    这不会将文档放在同一页面,但会在同一页面上生成一个“相关功能”部分,该部分链接到该功能。

    http://www.doxygen.nl/manual/commands.html#cmdrelates

    【讨论】:

    • 这似乎是一种简单的方法,但它不适用于boost/operators.hpp。当注入器类是外部代码库的一部分时,如何包含文档?
    • 另外,它不适用于提供的示例。 Doxygen 不断将文档放在Injector(在相关部分下)。
    猜你喜欢
    • 2014-09-05
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多