C++ 如何使doxygen将命名空间成员包含到组页面

C++ 如何使doxygen将命名空间成员包含到组页面,c++,namespaces,grouping,doxygen,C++,Namespaces,Grouping,Doxygen,我需要在doxygengroup页面上获得所有类(和其他元素)的列表,即使它们是名称空间成员。 因此,如果我有这样的代码示例: /*! @defgroup test_group Example group @{*/ class some_class {}; /// @} Doxygen将生成包含我的“some_类”的组页面: 但在名称空间之后,添加doxygen会将所有名称空间成员“隐藏”到新页面。下一个代码: /*! @defgroup test_group Example gro

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

/*!
@defgroup test_group Example group
@{*/
    class some_class {};
/// @}
Doxygen将生成包含我的“some_类”的组页面:

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

/*!
@defgroup test_group Example group
@{*/
namespace example_namespace {       
    class some_class {};
}
/// @}
生成一个组页,其中包含指向命名空间页的链接

在组页上看不到命名空间成员

下面两种方法给出相同的结果:

// 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
”可以满足我的需要,但在实际的程序中,一个名称空间中有几十个甚至数百个类。一定有更好的方法。

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

/*!
@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
,以及手册中关于分组的段落。

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

/*!
@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
,以及手册中关于分组的段落。

因此,在一个庞大的项目中,如何避免成千上万的“复制粘贴”是个问题。:)好的,我明白了,错过了问题的最后一段。我认为只要在命名空间中定义类的每个文件中添加一次
\ingroup
,就可以创建一个(额外的)
.h
文件,其中只包含命名空间和类名以及相应的组。因此,问题是如何避免数千次“复制粘贴”在一个巨大的项目中。:)好的,我明白了,错过了问题的最后一段。我认为只要在命名空间中定义类的每个文件中添加一次
\ingroup
,就可以创建一个(额外的)
.h
文件,其中只包含命名空间和类名以及适当的组。