我有以下课程
namespace detail{
template<class T>
class Base{
/// @brief A foo method
void foo(){}
};
}
/// @brief A derived class
template<class T>
class Derived : public Base<T> {};
我有 Doxygen 1.9.5 和以下 CMake 配置:
set(DOXYGEN_GENERATE_TREEVIEW YES)
set(DOXYGEN_HTML_HEADER "header.html")
set(DOXYGEN_COLLABORATION_GRAPH NO)
set(DOXYGEN_CLASS_GRAPH NO)
set(DOXYGEN_EXTRACT_PRIVATE NO)
#set(DOXYGEN_EXCLUDE_SYMBOLS "detail")
set(DOXYGEN_EXTRACT_ALL NO)
set(DOXYGEN_INHERIT_DOCS YES)
set(DOXYGEN_INLINE_INHERITED_MEMB YES)
set(DOXYGEN_USE_MATHJAX YES)
set(DOXYGEN_WARN_IF_UNDOCUMENTED NO)
set(DOXYGEN_HTML_COLORSTYLE LIGHT)
set(DOXYGEN_LAYOUT_FILE "DoxygenLayout.xml")
set(DOXYGEN_FULL_PATH_NAME YES)
set(DOXYGEN_STRIP_FROM_INC_PATH "../src/include")
并且在
Derived
的详细方法描述中,所有继承的函数都显示了base的作用域解析,即void detail::Base<T>::foo()
。
这很不方便,因为在我的真实案例中,几个嵌套的命名空间和模板参数使得完整的函数定义很冗长。有没有办法让 Doxygen 去掉 Derived 中方法的签名,从提及到基本方法?