From 0e5241719effd37d5309b81064966fde9e635f84 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 2 May 2020 22:47:37 +0200 Subject: [PATCH] added doxgen in makefile --- Docu/refurbishingHddTool.drawio | 1 - Docu/refurbishingHddTool.pdf | Bin 56131 -> 0 bytes doc/doxyfile | 2538 +++++++++++++++++++++++++++++++ makefile | 42 +- 4 files changed, 2549 insertions(+), 32 deletions(-) delete mode 100644 Docu/refurbishingHddTool.drawio delete mode 100644 Docu/refurbishingHddTool.pdf create mode 100644 doc/doxyfile diff --git a/Docu/refurbishingHddTool.drawio b/Docu/refurbishingHddTool.drawio deleted file mode 100644 index 3667556..0000000 --- a/Docu/refurbishingHddTool.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/Docu/refurbishingHddTool.pdf b/Docu/refurbishingHddTool.pdf deleted file mode 100644 index 6989d9c12accdd2c3a57b398be016de4fd634744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56131 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 Zof{&hz{rJ;FvBpE(Dm$IUvF|#{|(csqgem| diff --git a/doc/doxyfile b/doc/doxyfile new file mode 100644 index 0000000..774650f --- /dev/null +++ b/doc/doxyfile @@ -0,0 +1,2538 @@ +# Doxyfile 1.8.16 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "reHDD" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = "Tool that checks multiple HDDs and purges them securely." + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./doc + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = YES + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all generated output in the proper direction. +# Possible values are: None, LTR, RTL and Context. +# The default value is: None. + +OUTPUT_TEXT_DIRECTION = None + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines (in the resulting output). You can put ^^ in the value part of an +# alias to insert a newline as if a physical newline was in the original file. +# When you need a literal { or } or , in the value part of an alias you have to +# escape them by means of a backslash (\), this can lead to conflicts with the +# commands \{ and \} for these it is advised to use the version @{ and @} or use +# a double escape (\\{ and \\}) + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, +# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat +# .inc files as Fortran files (default is PHP), and .f files as C (default is +# Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See https://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 5. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 5 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# (including Cygwin) ands Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = ../include ../src + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f95 \ + *.f03 \ + *.f08 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf \ + *.ice + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# entity all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see https://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html/ + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via Javascript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have Javascript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: https://developer.apple.com/xcode/), introduced with OSX +# 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# https://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /