如何让 Doxygen 在派生方法签名中跳过对基类的提及?

问题描述 投票:0回答:0

我有以下课程

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 中方法的签名,从提及到基本方法?

c++ inheritance documentation doxygen
© www.soinside.com 2019 - 2024. All rights reserved.