如何使Doxygen将名称空间成员包括到组页面中

时间:2019-02-06 08:55:32

标签: c++ namespaces grouping doxygen

我需要在doxygen组页面上获得所有类(和其他元素)的列表,即使它们是名称空间成员也是如此。 因此,如果我有类似以下代码示例的内容:

/*!
@defgroup test_group Example group
@{*/
    class some_class {};
/// @}

Doxygen将生成组页面,其中包含我的“ some_class”:

page with class

但是在名称空间添加doxygen之后,“隐藏”所有名称空间成员到新页面。下一个代码:

/*!
@defgroup test_group Example group
@{*/
namespace example_namespace {       
    class some_class {};
}
/// @}

生成一个组页面,其中包含指向命名空间页面的链接。

2 step navigation

在组页面上看不到名称空间成员。

接下来的2种方法会得到相同的结果:

// 1. putting namespace content in brackets @{ @}:
    /// @defgroup test_group Example group        
    namespace example_namespace { 
        /*!
        @ingroup test_group 
        @{ */
        class some_class {};
        /// @}
    }        
// 2. putting namespace itself to group:

    /// @defgroup test_group Example group

    /// @ingroup test_group 
    namespace example_namespace {
        class some_class {};
    }

我想要一个组页面,其中将包含名称空间和名称空间本身中的所有类。我知道在类描述中添加“ @ingroup”可以满足我的要求,但是在实际程序中,一个命名空间中有数十个甚至数百个类。必须有更好的方法。

1 个答案:

答案 0 :(得分:0)

我做了一些小测试和以下工作:

/*!
@defgroup test_group Example group
@{*/
namespace example_namespace {
    /*!
    @defgroup test_group Example group
    @{*/
    /** the class */
    class some_class {
      /*!
      @defgroup test_group Example group
      @{*/
      public:
         /** the fie */
         void fie(void);
      /// @}
    };
    /// @}
};
/// @}

这有点麻烦,也许您还应该查看其他group命令,例如\ingroup\addtogroup和手册中有关分组的段落。