Если я объявляю класс в заголовке, no 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 =
...
Правда, но я говорил о декларациях и определениях, которые были в заголовке. Будет ли добавлена поддержка несвязанных исходных файлов или должно быть определено определение в исходном файле для анализа комментариев? Если да, почему это не относится к структурам шаблонов? Извините, если это очевидно. Мой МО. как правило, пересылать объявления в одном заголовке, определять их и их членов в «подзаголовках» и размещать реализации для каждого из источников. Пока что я заинтересован только в добавлении документации в объявления вперед, хотя все остальное произойдет в конечном итоге. –
Если бы вы могли объяснить, почему это так, я был бы рад отметить ваш ответ ... извините, что тратил свое время, но я не понимаю, почему шаблонная декларация и/или определение должны быть проанализированы Doxygen, но не развязаны , независимо от того, найден ли он в файле заголовка. –
@JohnP: Думаю, я больше думал о членах, а не о самих типах, поэтому мой ответ может не решить вашу проблему. Во всяком случае, нет такой вещи, как форвардная декларация класса шаблона. В первом определении шаблона может отсутствовать тело класса, но он по-прежнему определяет шаблон - его параметры шаблона и значения по умолчанию для каждого - и использование и специализация уже разрешены этим определением (из-за двухфазного поиска). –