C++ 如何使doxygen将命名空间成员包含到组页面
我需要在doxygengroup页面上获得所有类(和其他元素)的列表,即使它们是名称空间成员。 因此,如果我有这样的代码示例: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
/*!
@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
文件,其中只包含命名空间和类名以及适当的组。