Breathe 文档

Breathe 在 Sphinx 和 Doxygen 文档系统之间提供了一座桥梁。

这是一个简单的方法,将 Doxygen 信息包含在由 Sphinx 生成的一组文档中。目的是为那些喜欢使用 Sphinx 但用 Python 以外的语言工作的人制作一个类似 autodoc 的支持。该系统依赖于 Doxygen 的 xml 输出。

警告

这个文档的构建不是来自于 Breathe 的一个特定的标记版本。它反映了 Breathe 的工作进展状态。请参阅 github 仓库,以获得更多的官方信息。

概述

  • 简单的设置 – 一个 doxygen 配置值,一个 Sphinx 配置值和一个指令,你就可以上路了。

  • 高级和低级指令 – 引用整个项目,只是一个类或只是一个函数的不同指令。

  • 支持多个 doxygen 项目 – 将其设置为知道不同的项目,并在每个指令中通过名称或路径引用它们。

  • 允许在 doxygen 标记中嵌入 reStructuredText – 一些额外的 doxygen 别名允许你在评论中添加 \rst - \endrst 块,并将内容解释为 reStructuredText。

  • 对 Sphinx 域的基本支持 – 用标准的 Sphinx 域引用链接到 breathe 输出中的函数。

设置与使用

特性

贡献

示例/测试页面

下载

Breathe 可从以下网站获得

许可证

Breathe is under the BSD license.

简而言之

你写的代码看起来有点像这样:

/**
    \file nutshell.h
    An overly extended example of how to use breathe
*/

/*!
    With a little bit of a elaboration, should you feel it necessary.
*/
class Nutshell
{
public:

    //! Our tool set
    /*! The various tools we can opt to use to crack this particular nut */
    enum Tool
    {
        kHammer = 0,          //!< What? It does the job
        kNutCrackers,         //!< Boring
        kNinjaThrowingStars   //!< Stealthy
    };

    //! Nutshell constructor
    Nutshell();

    //! Nutshell destructor
    ~Nutshell();

    /*! Crack that shell with specified tool

      \param tool - the tool with which to crack the nut
    */
    void crack( Tool tool );

    /*!
      \return Whether or not the nut is cracked
    */
    bool isCracked();

private:

    //! Our cracked state
    bool m_isCracked;

};

然后你运行这个

doxygen

有一个设置是这样说的

GENERATE_XML = YES

然后在你的 Sphinx 文档中,你可以添加这样的内容

.. doxygenclass:: Nutshell
   :project: nutshell
   :members:

通过像这样的 conf.py 设定

breathe_projects = {
    "nutshell":"../../examples/specific/nutshell/xml/",
    }

并在 conf.py 中把 Breathe 注册为一个插件,像这样

extensions = [ "breathe" ]

你会得到类似这样的东西:


class Nutshell

With a little bit of a elaboration, should you feel it necessary.

Public Types

enum Tool

Our tool set.

The various tools we can opt to use to crack this particular nut

Values:

enumerator kHammer

What? It does the job.

enumerator kNutCrackers

Boring.

enumerator kNinjaThrowingStars

Stealthy.

Public Functions

Nutshell()

Nutshell constructor.

~Nutshell()

Nutshell destructor.

void crack(Tool tool)

Crack that shell with specified tool

参数

tool – the tool with which to crack the nut

bool isCracked()
返回

Whether or not the nut is cracked


听起来很合理?要想开始,请去查看 快速入门指南