1
如果我在標題中聲明一個類,否Doxygen
條目生成。如果我定義該類,仍然在標題中,則會生成一個條目。然而,只有模板類似乎產生適當的文件(包括簡介)我是否使用@brief
或QT autobrief
,@class/@struct/
等,///
任何變體,/**
,/\**!
等,但沒有找到任何東西,做了一個差異。我也嘗試添加一些我認爲不相關的標籤,如@file
;然後我打開了EXTRACT_ALL
,嘗試了OPTIMIZE_OUTPUT_FOR_C
等。C++ Doxygen - 爲什麼只有模板類生成文檔?
模板參數本身不需要以任何方式用於生成文檔。事實上,模板結構只需要聲明一個條目及其簡要描述,與非模板版本不同。
我錯過了什麼?我是Doxygen
的新手,並不確定哪些細節相關。
...
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C =
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_PACKAGE = YES
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
INPUT = ../include ../README.md
INPUT_ENCODING = UTF-8
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE = ../include/util/
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE = ../README.md
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
CLANG_ASSISTED_PARSING = NO
CLANG_OPTIONS =
...
確實如此,但我在談論標題中的聲明和定義。添加不相關的源文件是否有幫助,還是必須將該定義放在源文件中以便解析註釋?如果是這樣,爲什麼這不適用於模板結構?很抱歉,如果這是明顯的。我的M.O.通常是在一個頭文件中轉發聲明結構體,在「子頭文件」中定義它們和它們的成員,並且爲每個源文件中的每一個實現它們的實現。到目前爲止,我只對向forward聲明添加文檔感興趣,儘管其他一切最終都會發生。 –
如果你能解釋爲什麼這是這種情況,我會很樂意標記你的答案......抱歉浪費你的時間,但我不明白爲什麼模板化的聲明和/或定義應該由Doxygen解析,但不是一個模糊的,不管它是否在頭文件中找到。 –
@JohnP:我想我更關心的是成員而不是類型本身,所以我的回答可能無法真正解決您的問題。無論如何,模板類前向聲明沒有這樣的事情。這個模板的第一個定義可能缺少一個類體,但它仍然定義了模板 - 它的模板參數和每個模板的默認值 - 以及這個定義已經允許使用和特化(由於兩階段查找)。 –