utf8proc

A clean C library for processing UTF-8 Unicode data
git clone https://git.sinitax.com/juliastrings/utf8proc
Log | Files | Refs | README | LICENSE | sfeed.txt

Doxyfile (124453B)


      1# Doxyfile 1.9.8
      2
      3# This file describes the settings to be used by the documentation system
      4# doxygen (www.doxygen.org) for a project.
      5#
      6# All text after a double hash (##) is considered a comment and is placed in
      7# front of the TAG it is preceding.
      8#
      9# All text after a single hash (#) is considered a comment and will be ignored.
     10# The format is:
     11# TAG = value [value, ...]
     12# For lists, items can also be appended using:
     13# TAG += value [value, ...]
     14# Values that contain spaces should be placed between quotes (\" \").
     15#
     16# Note:
     17#
     18# Use doxygen to compare the used configuration file with the template
     19# configuration file:
     20# doxygen -x [configFile]
     21# Use doxygen to compare the used configuration file with the template
     22# configuration file without replacing the environment variables or CMake type
     23# replacement variables:
     24# doxygen -x_noenv [configFile]
     25
     26#---------------------------------------------------------------------------
     27# Project related configuration options
     28#---------------------------------------------------------------------------
     29
     30# This tag specifies the encoding used for all characters in the configuration
     31# file that follow. The default is UTF-8 which is also the encoding used for all
     32# text before the first occurrence of this tag. Doxygen uses libiconv (or the
     33# iconv built into libc) for the transcoding. See
     34# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
     35# The default value is: UTF-8.
     36
     37DOXYFILE_ENCODING      = UTF-8
     38
     39# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
     40# double-quotes, unless you are using Doxywizard) that should identify the
     41# project for which the documentation is generated. This name is used in the
     42# title of most generated pages and in a few other places.
     43# The default value is: My Project.
     44
     45PROJECT_NAME           = utf8proc
     46
     47# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
     48# could be handy for archiving the generated documentation or if some version
     49# control system is used.
     50
     51PROJECT_NUMBER         =
     52
     53# Using the PROJECT_BRIEF tag one can provide an optional one line description
     54# for a project that appears at the top of each page and should give viewer a
     55# quick idea about the purpose of the project. Keep the description short.
     56
     57PROJECT_BRIEF          = "C library for processing UTF-8 Unicode data"
     58
     59# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
     60# in the documentation. The maximum height of the logo should not exceed 55
     61# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
     62# the logo to the output directory.
     63
     64PROJECT_LOGO           =
     65
     66# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
     67# into which the generated documentation will be written. If a relative path is
     68# entered, it will be relative to the location where doxygen was started. If
     69# left blank the current directory will be used.
     70
     71OUTPUT_DIRECTORY       = docs
     72
     73# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
     74# sub-directories (in 2 levels) under the output directory of each output format
     75# and will distribute the generated files over these directories. Enabling this
     76# option can be useful when feeding doxygen a huge amount of source files, where
     77# putting all generated files in the same directory would otherwise causes
     78# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
     79# control the number of sub-directories.
     80# The default value is: NO.
     81
     82CREATE_SUBDIRS         = NO
     83
     84# Controls the number of sub-directories that will be created when
     85# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
     86# level increment doubles the number of directories, resulting in 4096
     87# directories at level 8 which is the default and also the maximum value. The
     88# sub-directories are organized in 2 levels, the first level always has a fixed
     89# number of 16 directories.
     90# Minimum value: 0, maximum value: 8, default value: 8.
     91# This tag requires that the tag CREATE_SUBDIRS is set to YES.
     92
     93CREATE_SUBDIRS_LEVEL   = 8
     94
     95# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
     96# characters to appear in the names of generated files. If set to NO, non-ASCII
     97# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
     98# U+3044.
     99# The default value is: NO.
    100
    101ALLOW_UNICODE_NAMES    = NO
    102
    103# The OUTPUT_LANGUAGE tag is used to specify the language in which all
    104# documentation generated by doxygen is written. Doxygen will use this
    105# information to generate all constant output in the proper language.
    106# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian,
    107# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English
    108# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek,
    109# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with
    110# English messages), Korean, Korean-en (Korean with English messages), Latvian,
    111# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese,
    112# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish,
    113# Swedish, Turkish, Ukrainian and Vietnamese.
    114# The default value is: English.
    115
    116OUTPUT_LANGUAGE        = English
    117
    118# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
    119# descriptions after the members that are listed in the file and class
    120# documentation (similar to Javadoc). Set to NO to disable this.
    121# The default value is: YES.
    122
    123BRIEF_MEMBER_DESC      = YES
    124
    125# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
    126# description of a member or function before the detailed description
    127#
    128# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
    129# brief descriptions will be completely suppressed.
    130# The default value is: YES.
    131
    132REPEAT_BRIEF           = YES
    133
    134# This tag implements a quasi-intelligent brief description abbreviator that is
    135# used to form the text in various listings. Each string in this list, if found
    136# as the leading text of the brief description, will be stripped from the text
    137# and the result, after processing the whole list, is used as the annotated
    138# text. Otherwise, the brief description is used as-is. If left blank, the
    139# following values are used ($name is automatically replaced with the name of
    140# the entity):The $name class, The $name widget, The $name file, is, provides,
    141# specifies, contains, represents, a, an and the.
    142
    143ABBREVIATE_BRIEF       =
    144
    145# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
    146# doxygen will generate a detailed section even if there is only a brief
    147# description.
    148# The default value is: NO.
    149
    150ALWAYS_DETAILED_SEC    = NO
    151
    152# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
    153# inherited members of a class in the documentation of that class as if those
    154# members were ordinary class members. Constructors, destructors and assignment
    155# operators of the base classes will not be shown.
    156# The default value is: NO.
    157
    158INLINE_INHERITED_MEMB  = NO
    159
    160# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
    161# before files name in the file list and in the header files. If set to NO the
    162# shortest path that makes the file name unique will be used
    163# The default value is: YES.
    164
    165FULL_PATH_NAMES        = YES
    166
    167# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
    168# Stripping is only done if one of the specified strings matches the left-hand
    169# part of the path. The tag can be used to show relative paths in the file list.
    170# If left blank the directory from which doxygen is run is used as the path to
    171# strip.
    172#
    173# Note that you can specify absolute paths here, but also relative paths, which
    174# will be relative from the directory where doxygen is started.
    175# This tag requires that the tag FULL_PATH_NAMES is set to YES.
    176
    177STRIP_FROM_PATH        =
    178
    179# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
    180# path mentioned in the documentation of a class, which tells the reader which
    181# header file to include in order to use a class. If left blank only the name of
    182# the header file containing the class definition is used. Otherwise one should
    183# specify the list of include paths that are normally passed to the compiler
    184# using the -I flag.
    185
    186STRIP_FROM_INC_PATH    =
    187
    188# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
    189# less readable) file names. This can be useful is your file systems doesn't
    190# support long names like on DOS, Mac, or CD-ROM.
    191# The default value is: NO.
    192
    193SHORT_NAMES            = NO
    194
    195# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
    196# first line (until the first dot) of a Javadoc-style comment as the brief
    197# description. If set to NO, the Javadoc-style will behave just like regular Qt-
    198# style comments (thus requiring an explicit @brief command for a brief
    199# description.)
    200# The default value is: NO.
    201
    202JAVADOC_AUTOBRIEF      = NO
    203
    204# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
    205# such as
    206# /***************
    207# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
    208# Javadoc-style will behave just like regular comments and it will not be
    209# interpreted by doxygen.
    210# The default value is: NO.
    211
    212JAVADOC_BANNER         = NO
    213
    214# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
    215# line (until the first dot) of a Qt-style comment as the brief description. If
    216# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
    217# requiring an explicit \brief command for a brief description.)
    218# The default value is: NO.
    219
    220QT_AUTOBRIEF           = NO
    221
    222# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
    223# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
    224# a brief description. This used to be the default behavior. The new default is
    225# to treat a multi-line C++ comment block as a detailed description. Set this
    226# tag to YES if you prefer the old behavior instead.
    227#
    228# Note that setting this tag to YES also means that rational rose comments are
    229# not recognized any more.
    230# The default value is: NO.
    231
    232MULTILINE_CPP_IS_BRIEF = NO
    233
    234# By default Python docstrings are displayed as preformatted text and doxygen's
    235# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
    236# doxygen's special commands can be used and the contents of the docstring
    237# documentation blocks is shown as doxygen documentation.
    238# The default value is: YES.
    239
    240PYTHON_DOCSTRING       = YES
    241
    242# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
    243# documentation from any documented member that it re-implements.
    244# The default value is: YES.
    245
    246INHERIT_DOCS           = YES
    247
    248# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
    249# page for each member. If set to NO, the documentation of a member will be part
    250# of the file/class/namespace that contains it.
    251# The default value is: NO.
    252
    253SEPARATE_MEMBER_PAGES  = NO
    254
    255# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
    256# uses this value to replace tabs by spaces in code fragments.
    257# Minimum value: 1, maximum value: 16, default value: 4.
    258
    259TAB_SIZE               = 4
    260
    261# This tag can be used to specify a number of aliases that act as commands in
    262# the documentation. An alias has the form:
    263# name=value
    264# For example adding
    265# "sideeffect=@par Side Effects:^^"
    266# will allow you to put the command \sideeffect (or @sideeffect) in the
    267# documentation, which will result in a user-defined paragraph with heading
    268# "Side Effects:". Note that you cannot put \n's in the value part of an alias
    269# to insert newlines (in the resulting output). You can put ^^ in the value part
    270# of an alias to insert a newline as if a physical newline was in the original
    271# file. When you need a literal { or } or , in the value part of an alias you
    272# have to escape them by means of a backslash (\), this can lead to conflicts
    273# with the commands \{ and \} for these it is advised to use the version @{ and
    274# @} or use a double escape (\\{ and \\})
    275
    276ALIASES                =
    277
    278# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
    279# only. Doxygen will then generate output that is more tailored for C. For
    280# instance, some of the names that are used will be different. The list of all
    281# members will be omitted, etc.
    282# The default value is: NO.
    283
    284OPTIMIZE_OUTPUT_FOR_C  = YES
    285
    286# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
    287# Python sources only. Doxygen will then generate output that is more tailored
    288# for that language. For instance, namespaces will be presented as packages,
    289# qualified scopes will look different, etc.
    290# The default value is: NO.
    291
    292OPTIMIZE_OUTPUT_JAVA   = NO
    293
    294# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
    295# sources. Doxygen will then generate output that is tailored for Fortran.
    296# The default value is: NO.
    297
    298OPTIMIZE_FOR_FORTRAN   = NO
    299
    300# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
    301# sources. Doxygen will then generate output that is tailored for VHDL.
    302# The default value is: NO.
    303
    304OPTIMIZE_OUTPUT_VHDL   = NO
    305
    306# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
    307# sources only. Doxygen will then generate output that is more tailored for that
    308# language. For instance, namespaces will be presented as modules, types will be
    309# separated into more groups, etc.
    310# The default value is: NO.
    311
    312OPTIMIZE_OUTPUT_SLICE  = NO
    313
    314# Doxygen selects the parser to use depending on the extension of the files it
    315# parses. With this tag you can assign which parser to use for a given
    316# extension. Doxygen has a built-in mapping, but you can override or extend it
    317# using this tag. The format is ext=language, where ext is a file extension, and
    318# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
    319# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
    320# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
    321# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
    322# tries to guess whether the code is fixed or free formatted code, this is the
    323# default for Fortran type files). For instance to make doxygen treat .inc files
    324# as Fortran files (default is PHP), and .f files as C (default is Fortran),
    325# use: inc=Fortran f=C.
    326#
    327# Note: For files without extension you can use no_extension as a placeholder.
    328#
    329# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
    330# the files are not read by doxygen. When specifying no_extension you should add
    331# * to the FILE_PATTERNS.
    332#
    333# Note see also the list of default file extension mappings.
    334
    335EXTENSION_MAPPING      =
    336
    337# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
    338# according to the Markdown format, which allows for more readable
    339# documentation. See https://daringfireball.net/projects/markdown/ for details.
    340# The output of markdown processing is further processed by doxygen, so you can
    341# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
    342# case of backward compatibilities issues.
    343# The default value is: YES.
    344
    345MARKDOWN_SUPPORT       = YES
    346
    347# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
    348# to that level are automatically included in the table of contents, even if
    349# they do not have an id attribute.
    350# Note: This feature currently applies only to Markdown headings.
    351# Minimum value: 0, maximum value: 99, default value: 5.
    352# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
    353
    354TOC_INCLUDE_HEADINGS   = 5
    355
    356# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to
    357# generate identifiers for the Markdown headings. Note: Every identifier is
    358# unique.
    359# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a
    360# sequence number starting at 0 and GITHUB use the lower case version of title
    361# with any whitespace replaced by '-' and punctuation characters removed.
    362# The default value is: DOXYGEN.
    363# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
    364
    365MARKDOWN_ID_STYLE      = DOXYGEN
    366
    367# When enabled doxygen tries to link words that correspond to documented
    368# classes, or namespaces to their corresponding documentation. Such a link can
    369# be prevented in individual cases by putting a % sign in front of the word or
    370# globally by setting AUTOLINK_SUPPORT to NO.
    371# The default value is: YES.
    372
    373AUTOLINK_SUPPORT       = YES
    374
    375# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
    376# to include (a tag file for) the STL sources as input, then you should set this
    377# tag to YES in order to let doxygen match functions declarations and
    378# definitions whose arguments contain STL classes (e.g. func(std::string);
    379# versus func(std::string) {}). This also make the inheritance and collaboration
    380# diagrams that involve STL classes more complete and accurate.
    381# The default value is: NO.
    382
    383BUILTIN_STL_SUPPORT    = NO
    384
    385# If you use Microsoft's C++/CLI language, you should set this option to YES to
    386# enable parsing support.
    387# The default value is: NO.
    388
    389CPP_CLI_SUPPORT        = NO
    390
    391# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
    392# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
    393# will parse them like normal C++ but will assume all classes use public instead
    394# of private inheritance when no explicit protection keyword is present.
    395# The default value is: NO.
    396
    397SIP_SUPPORT            = NO
    398
    399# For Microsoft's IDL there are propget and propput attributes to indicate
    400# getter and setter methods for a property. Setting this option to YES will make
    401# doxygen to replace the get and set methods by a property in the documentation.
    402# This will only work if the methods are indeed getting or setting a simple
    403# type. If this is not the case, or you want to show the methods anyway, you
    404# should set this option to NO.
    405# The default value is: YES.
    406
    407IDL_PROPERTY_SUPPORT   = YES
    408
    409# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
    410# tag is set to YES then doxygen will reuse the documentation of the first
    411# member in the group (if any) for the other members of the group. By default
    412# all members of a group must be documented explicitly.
    413# The default value is: NO.
    414
    415DISTRIBUTE_GROUP_DOC   = NO
    416
    417# If one adds a struct or class to a group and this option is enabled, then also
    418# any nested class or struct is added to the same group. By default this option
    419# is disabled and one has to add nested compounds explicitly via \ingroup.
    420# The default value is: NO.
    421
    422GROUP_NESTED_COMPOUNDS = NO
    423
    424# Set the SUBGROUPING tag to YES to allow class member groups of the same type
    425# (for instance a group of public functions) to be put as a subgroup of that
    426# type (e.g. under the Public Functions section). Set it to NO to prevent
    427# subgrouping. Alternatively, this can be done per class using the
    428# \nosubgrouping command.
    429# The default value is: YES.
    430
    431SUBGROUPING            = YES
    432
    433# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
    434# are shown inside the group in which they are included (e.g. using \ingroup)
    435# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
    436# and RTF).
    437#
    438# Note that this feature does not work in combination with
    439# SEPARATE_MEMBER_PAGES.
    440# The default value is: NO.
    441
    442INLINE_GROUPED_CLASSES = NO
    443
    444# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
    445# with only public data fields or simple typedef fields will be shown inline in
    446# the documentation of the scope in which they are defined (i.e. file,
    447# namespace, or group documentation), provided this scope is documented. If set
    448# to NO, structs, classes, and unions are shown on a separate page (for HTML and
    449# Man pages) or section (for LaTeX and RTF).
    450# The default value is: NO.
    451
    452INLINE_SIMPLE_STRUCTS  = NO
    453
    454# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
    455# enum is documented as struct, union, or enum with the name of the typedef. So
    456# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
    457# with name TypeT. When disabled the typedef will appear as a member of a file,
    458# namespace, or class. And the struct will be named TypeS. This can typically be
    459# useful for C code in case the coding convention dictates that all compound
    460# types are typedef'ed and only the typedef is referenced, never the tag name.
    461# The default value is: NO.
    462
    463TYPEDEF_HIDES_STRUCT   = NO
    464
    465# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
    466# cache is used to resolve symbols given their name and scope. Since this can be
    467# an expensive process and often the same symbol appears multiple times in the
    468# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
    469# doxygen will become slower. If the cache is too large, memory is wasted. The
    470# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
    471# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
    472# symbols. At the end of a run doxygen will report the cache usage and suggest
    473# the optimal cache size from a speed point of view.
    474# Minimum value: 0, maximum value: 9, default value: 0.
    475
    476LOOKUP_CACHE_SIZE      = 0
    477
    478# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
    479# during processing. When set to 0 doxygen will based this on the number of
    480# cores available in the system. You can set it explicitly to a value larger
    481# than 0 to get more control over the balance between CPU load and processing
    482# speed. At this moment only the input processing can be done using multiple
    483# threads. Since this is still an experimental feature the default is set to 1,
    484# which effectively disables parallel processing. Please report any issues you
    485# encounter. Generating dot graphs in parallel is controlled by the
    486# DOT_NUM_THREADS setting.
    487# Minimum value: 0, maximum value: 32, default value: 1.
    488
    489NUM_PROC_THREADS       = 1
    490
    491# If the TIMESTAMP tag is set different from NO then each generated page will
    492# contain the date or date and time when the page was generated. Setting this to
    493# NO can help when comparing the output of multiple runs.
    494# Possible values are: YES, NO, DATETIME and DATE.
    495# The default value is: NO.
    496
    497TIMESTAMP              = YES
    498
    499#---------------------------------------------------------------------------
    500# Build related configuration options
    501#---------------------------------------------------------------------------
    502
    503# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
    504# documentation are documented, even if no documentation was available. Private
    505# class members and static file members will be hidden unless the
    506# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
    507# Note: This will also disable the warnings about undocumented members that are
    508# normally produced when WARNINGS is set to YES.
    509# The default value is: NO.
    510
    511EXTRACT_ALL            = NO
    512
    513# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
    514# be included in the documentation.
    515# The default value is: NO.
    516
    517EXTRACT_PRIVATE        = NO
    518
    519# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
    520# methods of a class will be included in the documentation.
    521# The default value is: NO.
    522
    523EXTRACT_PRIV_VIRTUAL   = NO
    524
    525# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
    526# scope will be included in the documentation.
    527# The default value is: NO.
    528
    529EXTRACT_PACKAGE        = NO
    530
    531# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
    532# included in the documentation.
    533# The default value is: NO.
    534
    535EXTRACT_STATIC         = NO
    536
    537# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
    538# locally in source files will be included in the documentation. If set to NO,
    539# only classes defined in header files are included. Does not have any effect
    540# for Java sources.
    541# The default value is: YES.
    542
    543EXTRACT_LOCAL_CLASSES  = YES
    544
    545# This flag is only useful for Objective-C code. If set to YES, local methods,
    546# which are defined in the implementation section but not in the interface are
    547# included in the documentation. If set to NO, only methods in the interface are
    548# included.
    549# The default value is: NO.
    550
    551EXTRACT_LOCAL_METHODS  = NO
    552
    553# If this flag is set to YES, the members of anonymous namespaces will be
    554# extracted and appear in the documentation as a namespace called
    555# 'anonymous_namespace{file}', where file will be replaced with the base name of
    556# the file that contains the anonymous namespace. By default anonymous namespace
    557# are hidden.
    558# The default value is: NO.
    559
    560EXTRACT_ANON_NSPACES   = NO
    561
    562# If this flag is set to YES, the name of an unnamed parameter in a declaration
    563# will be determined by the corresponding definition. By default unnamed
    564# parameters remain unnamed in the output.
    565# The default value is: YES.
    566
    567RESOLVE_UNNAMED_PARAMS = YES
    568
    569# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
    570# undocumented members inside documented classes or files. If set to NO these
    571# members will be included in the various overviews, but no documentation
    572# section is generated. This option has no effect if EXTRACT_ALL is enabled.
    573# The default value is: NO.
    574
    575HIDE_UNDOC_MEMBERS     = NO
    576
    577# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
    578# undocumented classes that are normally visible in the class hierarchy. If set
    579# to NO, these classes will be included in the various overviews. This option
    580# will also hide undocumented C++ concepts if enabled. This option has no effect
    581# if EXTRACT_ALL is enabled.
    582# The default value is: NO.
    583
    584HIDE_UNDOC_CLASSES     = NO
    585
    586# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
    587# declarations. If set to NO, these declarations will be included in the
    588# documentation.
    589# The default value is: NO.
    590
    591HIDE_FRIEND_COMPOUNDS  = NO
    592
    593# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
    594# documentation blocks found inside the body of a function. If set to NO, these
    595# blocks will be appended to the function's detailed documentation block.
    596# The default value is: NO.
    597
    598HIDE_IN_BODY_DOCS      = NO
    599
    600# The INTERNAL_DOCS tag determines if documentation that is typed after a
    601# \internal command is included. If the tag is set to NO then the documentation
    602# will be excluded. Set it to YES to include the internal documentation.
    603# The default value is: NO.
    604
    605INTERNAL_DOCS          = NO
    606
    607# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
    608# able to match the capabilities of the underlying filesystem. In case the
    609# filesystem is case sensitive (i.e. it supports files in the same directory
    610# whose names only differ in casing), the option must be set to YES to properly
    611# deal with such files in case they appear in the input. For filesystems that
    612# are not case sensitive the option should be set to NO to properly deal with
    613# output files written for symbols that only differ in casing, such as for two
    614# classes, one named CLASS and the other named Class, and to also support
    615# references to files without having to specify the exact matching casing. On
    616# Windows (including Cygwin) and MacOS, users should typically set this option
    617# to NO, whereas on Linux or other Unix flavors it should typically be set to
    618# YES.
    619# Possible values are: SYSTEM, NO and YES.
    620# The default value is: SYSTEM.
    621
    622CASE_SENSE_NAMES       = NO
    623
    624# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
    625# their full class and namespace scopes in the documentation. If set to YES, the
    626# scope will be hidden.
    627# The default value is: NO.
    628
    629HIDE_SCOPE_NAMES       = NO
    630
    631# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
    632# append additional text to a page's title, such as Class Reference. If set to
    633# YES the compound reference will be hidden.
    634# The default value is: NO.
    635
    636HIDE_COMPOUND_REFERENCE= NO
    637
    638# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
    639# will show which file needs to be included to use the class.
    640# The default value is: YES.
    641
    642SHOW_HEADERFILE        = YES
    643
    644# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
    645# the files that are included by a file in the documentation of that file.
    646# The default value is: YES.
    647
    648SHOW_INCLUDE_FILES     = YES
    649
    650# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
    651# grouped member an include statement to the documentation, telling the reader
    652# which file to include in order to use the member.
    653# The default value is: NO.
    654
    655SHOW_GROUPED_MEMB_INC  = NO
    656
    657# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
    658# files with double quotes in the documentation rather than with sharp brackets.
    659# The default value is: NO.
    660
    661FORCE_LOCAL_INCLUDES   = NO
    662
    663# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
    664# documentation for inline members.
    665# The default value is: YES.
    666
    667INLINE_INFO            = YES
    668
    669# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
    670# (detailed) documentation of file and class members alphabetically by member
    671# name. If set to NO, the members will appear in declaration order.
    672# The default value is: YES.
    673
    674SORT_MEMBER_DOCS       = YES
    675
    676# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
    677# descriptions of file, namespace and class members alphabetically by member
    678# name. If set to NO, the members will appear in declaration order. Note that
    679# this will also influence the order of the classes in the class list.
    680# The default value is: NO.
    681
    682SORT_BRIEF_DOCS        = NO
    683
    684# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
    685# (brief and detailed) documentation of class members so that constructors and
    686# destructors are listed first. If set to NO the constructors will appear in the
    687# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
    688# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
    689# member documentation.
    690# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
    691# detailed member documentation.
    692# The default value is: NO.
    693
    694SORT_MEMBERS_CTORS_1ST = NO
    695
    696# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
    697# of group names into alphabetical order. If set to NO the group names will
    698# appear in their defined order.
    699# The default value is: NO.
    700
    701SORT_GROUP_NAMES       = NO
    702
    703# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
    704# fully-qualified names, including namespaces. If set to NO, the class list will
    705# be sorted only by class name, not including the namespace part.
    706# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
    707# Note: This option applies only to the class list, not to the alphabetical
    708# list.
    709# The default value is: NO.
    710
    711SORT_BY_SCOPE_NAME     = NO
    712
    713# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
    714# type resolution of all parameters of a function it will reject a match between
    715# the prototype and the implementation of a member function even if there is
    716# only one candidate or it is obvious which candidate to choose by doing a
    717# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
    718# accept a match between prototype and implementation in such cases.
    719# The default value is: NO.
    720
    721STRICT_PROTO_MATCHING  = NO
    722
    723# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
    724# list. This list is created by putting \todo commands in the documentation.
    725# The default value is: YES.
    726
    727GENERATE_TODOLIST      = YES
    728
    729# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
    730# list. This list is created by putting \test commands in the documentation.
    731# The default value is: YES.
    732
    733GENERATE_TESTLIST      = YES
    734
    735# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
    736# list. This list is created by putting \bug commands in the documentation.
    737# The default value is: YES.
    738
    739GENERATE_BUGLIST       = YES
    740
    741# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
    742# the deprecated list. This list is created by putting \deprecated commands in
    743# the documentation.
    744# The default value is: YES.
    745
    746GENERATE_DEPRECATEDLIST= YES
    747
    748# The ENABLED_SECTIONS tag can be used to enable conditional documentation
    749# sections, marked by \if <section_label> ... \endif and \cond <section_label>
    750# ... \endcond blocks.
    751
    752ENABLED_SECTIONS       =
    753
    754# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
    755# initial value of a variable or macro / define can have for it to appear in the
    756# documentation. If the initializer consists of more lines than specified here
    757# it will be hidden. Use a value of 0 to hide initializers completely. The
    758# appearance of the value of individual variables and macros / defines can be
    759# controlled using \showinitializer or \hideinitializer command in the
    760# documentation regardless of this setting.
    761# Minimum value: 0, maximum value: 10000, default value: 30.
    762
    763MAX_INITIALIZER_LINES  = 30
    764
    765# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
    766# the bottom of the documentation of classes and structs. If set to YES, the
    767# list will mention the files that were used to generate the documentation.
    768# The default value is: YES.
    769
    770SHOW_USED_FILES        = YES
    771
    772# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
    773# will remove the Files entry from the Quick Index and from the Folder Tree View
    774# (if specified).
    775# The default value is: YES.
    776
    777SHOW_FILES             = YES
    778
    779# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
    780# page. This will remove the Namespaces entry from the Quick Index and from the
    781# Folder Tree View (if specified).
    782# The default value is: YES.
    783
    784SHOW_NAMESPACES        = YES
    785
    786# The FILE_VERSION_FILTER tag can be used to specify a program or script that
    787# doxygen should invoke to get the current version for each file (typically from
    788# the version control system). Doxygen will invoke the program by executing (via
    789# popen()) the command command input-file, where command is the value of the
    790# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
    791# by doxygen. Whatever the program writes to standard output is used as the file
    792# version. For an example see the documentation.
    793
    794FILE_VERSION_FILTER    =
    795
    796# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
    797# by doxygen. The layout file controls the global structure of the generated
    798# output files in an output format independent way. To create the layout file
    799# that represents doxygen's defaults, run doxygen with the -l option. You can
    800# optionally specify a file name after the option, if omitted DoxygenLayout.xml
    801# will be used as the name of the layout file. See also section "Changing the
    802# layout of pages" for information.
    803#
    804# Note that if you run doxygen from a directory containing a file called
    805# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
    806# tag is left empty.
    807
    808LAYOUT_FILE            =
    809
    810# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
    811# the reference definitions. This must be a list of .bib files. The .bib
    812# extension is automatically appended if omitted. This requires the bibtex tool
    813# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
    814# For LaTeX the style of the bibliography can be controlled using
    815# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
    816# search path. See also \cite for info how to create references.
    817
    818CITE_BIB_FILES         =
    819
    820#---------------------------------------------------------------------------
    821# Configuration options related to warning and progress messages
    822#---------------------------------------------------------------------------
    823
    824# The QUIET tag can be used to turn on/off the messages that are generated to
    825# standard output by doxygen. If QUIET is set to YES this implies that the
    826# messages are off.
    827# The default value is: NO.
    828
    829QUIET                  = YES
    830
    831# The WARNINGS tag can be used to turn on/off the warning messages that are
    832# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
    833# this implies that the warnings are on.
    834#
    835# Tip: Turn warnings on while writing the documentation.
    836# The default value is: YES.
    837
    838WARNINGS               = YES
    839
    840# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
    841# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
    842# will automatically be disabled.
    843# The default value is: YES.
    844
    845WARN_IF_UNDOCUMENTED   = YES
    846
    847# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
    848# potential errors in the documentation, such as documenting some parameters in
    849# a documented function twice, or documenting parameters that don't exist or
    850# using markup commands wrongly.
    851# The default value is: YES.
    852
    853WARN_IF_DOC_ERROR      = YES
    854
    855# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
    856# function parameter documentation. If set to NO, doxygen will accept that some
    857# parameters have no documentation without warning.
    858# The default value is: YES.
    859
    860WARN_IF_INCOMPLETE_DOC = YES
    861
    862# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
    863# are documented, but have no documentation for their parameters or return
    864# value. If set to NO, doxygen will only warn about wrong parameter
    865# documentation, but not about the absence of documentation. If EXTRACT_ALL is
    866# set to YES then this flag will automatically be disabled. See also
    867# WARN_IF_INCOMPLETE_DOC
    868# The default value is: NO.
    869
    870WARN_NO_PARAMDOC       = NO
    871
    872# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about
    873# undocumented enumeration values. If set to NO, doxygen will accept
    874# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag
    875# will automatically be disabled.
    876# The default value is: NO.
    877
    878WARN_IF_UNDOC_ENUM_VAL = NO
    879
    880# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
    881# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
    882# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
    883# at the end of the doxygen process doxygen will return with a non-zero status.
    884# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves
    885# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not
    886# write the warning messages in between other messages but write them at the end
    887# of a run, in case a WARN_LOGFILE is defined the warning messages will be
    888# besides being in the defined file also be shown at the end of a run, unless
    889# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case
    890# the behavior will remain as with the setting FAIL_ON_WARNINGS.
    891# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT.
    892# The default value is: NO.
    893
    894WARN_AS_ERROR          = NO
    895
    896# The WARN_FORMAT tag determines the format of the warning messages that doxygen
    897# can produce. The string should contain the $file, $line, and $text tags, which
    898# will be replaced by the file and line number from which the warning originated
    899# and the warning text. Optionally the format may contain $version, which will
    900# be replaced by the version of the file (if it could be obtained via
    901# FILE_VERSION_FILTER)
    902# See also: WARN_LINE_FORMAT
    903# The default value is: $file:$line: $text.
    904
    905WARN_FORMAT            = "$file:$line: $text"
    906
    907# In the $text part of the WARN_FORMAT command it is possible that a reference
    908# to a more specific place is given. To make it easier to jump to this place
    909# (outside of doxygen) the user can define a custom "cut" / "paste" string.
    910# Example:
    911# WARN_LINE_FORMAT = "'vi $file +$line'"
    912# See also: WARN_FORMAT
    913# The default value is: at line $line of file $file.
    914
    915WARN_LINE_FORMAT       = "at line $line of file $file"
    916
    917# The WARN_LOGFILE tag can be used to specify a file to which warning and error
    918# messages should be written. If left blank the output is written to standard
    919# error (stderr). In case the file specified cannot be opened for writing the
    920# warning and error messages are written to standard error. When as file - is
    921# specified the warning and error messages are written to standard output
    922# (stdout).
    923
    924WARN_LOGFILE           =
    925
    926#---------------------------------------------------------------------------
    927# Configuration options related to the input files
    928#---------------------------------------------------------------------------
    929
    930# The INPUT tag is used to specify the files and/or directories that contain
    931# documented source files. You may enter file names like myfile.cpp or
    932# directories like /usr/src/myproject. Separate the files or directories with
    933# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
    934# Note: If this tag is empty the current directory is searched.
    935
    936INPUT                  =
    937
    938# This tag can be used to specify the character encoding of the source files
    939# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
    940# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
    941# documentation (see:
    942# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
    943# See also: INPUT_FILE_ENCODING
    944# The default value is: UTF-8.
    945
    946INPUT_ENCODING         = UTF-8
    947
    948# This tag can be used to specify the character encoding of the source files
    949# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify
    950# character encoding on a per file pattern basis. Doxygen will compare the file
    951# name with each pattern and apply the encoding instead of the default
    952# INPUT_ENCODING) if there is a match. The character encodings are a list of the
    953# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding
    954# "INPUT_ENCODING" for further information on supported encodings.
    955
    956INPUT_FILE_ENCODING    =
    957
    958# If the value of the INPUT tag contains directories, you can use the
    959# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
    960# *.h) to filter out the source-files in the directories.
    961#
    962# Note that for custom extensions or not directly supported extensions you also
    963# need to set EXTENSION_MAPPING for the extension otherwise the files are not
    964# read by doxygen.
    965#
    966# Note the list of default checked file patterns might differ from the list of
    967# default file extension mappings.
    968#
    969# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm,
    970# *.cpp, *.cppm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl,
    971# *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, *.php,
    972# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be
    973# provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
    974# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
    975
    976FILE_PATTERNS          =
    977
    978# The RECURSIVE tag can be used to specify whether or not subdirectories should
    979# be searched for input files as well.
    980# The default value is: NO.
    981
    982RECURSIVE              = NO
    983
    984# The EXCLUDE tag can be used to specify files and/or directories that should be
    985# excluded from the INPUT source files. This way you can easily exclude a
    986# subdirectory from a directory tree whose root is specified with the INPUT tag.
    987#
    988# Note that relative paths are relative to the directory from which doxygen is
    989# run.
    990
    991EXCLUDE                = NEWS.md \
    992                         lump.md
    993
    994# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
    995# directories that are symbolic links (a Unix file system feature) are excluded
    996# from the input.
    997# The default value is: NO.
    998
    999EXCLUDE_SYMLINKS       = NO
   1000
   1001# If the value of the INPUT tag contains directories, you can use the
   1002# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
   1003# certain files from those directories.
   1004#
   1005# Note that the wildcards are matched against the file with absolute path, so to
   1006# exclude all test directories for example use the pattern */test/*
   1007
   1008EXCLUDE_PATTERNS       =
   1009
   1010# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
   1011# (namespaces, classes, functions, etc.) that should be excluded from the
   1012# output. The symbol name can be a fully qualified name, a word, or if the
   1013# wildcard * is used, a substring. Examples: ANamespace, AClass,
   1014# ANamespace::AClass, ANamespace::*Test
   1015
   1016EXCLUDE_SYMBOLS        = DLLEXPORT \
   1017                         SSIZE_MAX
   1018
   1019# The EXAMPLE_PATH tag can be used to specify one or more files or directories
   1020# that contain example code fragments that are included (see the \include
   1021# command).
   1022
   1023EXAMPLE_PATH           =
   1024
   1025# If the value of the EXAMPLE_PATH tag contains directories, you can use the
   1026# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
   1027# *.h) to filter out the source-files in the directories. If left blank all
   1028# files are included.
   1029
   1030EXAMPLE_PATTERNS       =
   1031
   1032# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
   1033# searched for input files to be used with the \include or \dontinclude commands
   1034# irrespective of the value of the RECURSIVE tag.
   1035# The default value is: NO.
   1036
   1037EXAMPLE_RECURSIVE      = NO
   1038
   1039# The IMAGE_PATH tag can be used to specify one or more files or directories
   1040# that contain images that are to be included in the documentation (see the
   1041# \image command).
   1042
   1043IMAGE_PATH             =
   1044
   1045# The INPUT_FILTER tag can be used to specify a program that doxygen should
   1046# invoke to filter for each input file. Doxygen will invoke the filter program
   1047# by executing (via popen()) the command:
   1048#
   1049# <filter> <input-file>
   1050#
   1051# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
   1052# name of an input file. Doxygen will then use the output that the filter
   1053# program writes to standard output. If FILTER_PATTERNS is specified, this tag
   1054# will be ignored.
   1055#
   1056# Note that the filter must not add or remove lines; it is applied before the
   1057# code is scanned, but not when the output code is generated. If lines are added
   1058# or removed, the anchors will not be placed correctly.
   1059#
   1060# Note that doxygen will use the data processed and written to standard output
   1061# for further processing, therefore nothing else, like debug statements or used
   1062# commands (so in case of a Windows batch file always use @echo OFF), should be
   1063# written to standard output.
   1064#
   1065# Note that for custom extensions or not directly supported extensions you also
   1066# need to set EXTENSION_MAPPING for the extension otherwise the files are not
   1067# properly processed by doxygen.
   1068
   1069INPUT_FILTER           =
   1070
   1071# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
   1072# basis. Doxygen will compare the file name with each pattern and apply the
   1073# filter if there is a match. The filters are a list of the form: pattern=filter
   1074# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
   1075# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
   1076# patterns match the file name, INPUT_FILTER is applied.
   1077#
   1078# Note that for custom extensions or not directly supported extensions you also
   1079# need to set EXTENSION_MAPPING for the extension otherwise the files are not
   1080# properly processed by doxygen.
   1081
   1082FILTER_PATTERNS        =
   1083
   1084# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
   1085# INPUT_FILTER) will also be used to filter the input files that are used for
   1086# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
   1087# The default value is: NO.
   1088
   1089FILTER_SOURCE_FILES    = NO
   1090
   1091# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
   1092# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
   1093# it is also possible to disable source filtering for a specific pattern using
   1094# *.ext= (so without naming a filter).
   1095# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
   1096
   1097FILTER_SOURCE_PATTERNS =
   1098
   1099# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
   1100# is part of the input, its contents will be placed on the main page
   1101# (index.html). This can be useful if you have a project on for instance GitHub
   1102# and want to reuse the introduction page also for the doxygen output.
   1103
   1104USE_MDFILE_AS_MAINPAGE =
   1105
   1106# The Fortran standard specifies that for fixed formatted Fortran code all
   1107# characters from position 72 are to be considered as comment. A common
   1108# extension is to allow longer lines before the automatic comment starts. The
   1109# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can
   1110# be processed before the automatic comment starts.
   1111# Minimum value: 7, maximum value: 10000, default value: 72.
   1112
   1113FORTRAN_COMMENT_AFTER  = 72
   1114
   1115#---------------------------------------------------------------------------
   1116# Configuration options related to source browsing
   1117#---------------------------------------------------------------------------
   1118
   1119# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
   1120# generated. Documented entities will be cross-referenced with these sources.
   1121#
   1122# Note: To get rid of all source code in the generated output, make sure that
   1123# also VERBATIM_HEADERS is set to NO.
   1124# The default value is: NO.
   1125
   1126SOURCE_BROWSER         = NO
   1127
   1128# Setting the INLINE_SOURCES tag to YES will include the body of functions,
   1129# classes and enums directly into the documentation.
   1130# The default value is: NO.
   1131
   1132INLINE_SOURCES         = NO
   1133
   1134# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
   1135# special comment blocks from generated source code fragments. Normal C, C++ and
   1136# Fortran comments will always remain visible.
   1137# The default value is: YES.
   1138
   1139STRIP_CODE_COMMENTS    = YES
   1140
   1141# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
   1142# entity all documented functions referencing it will be listed.
   1143# The default value is: NO.
   1144
   1145REFERENCED_BY_RELATION = NO
   1146
   1147# If the REFERENCES_RELATION tag is set to YES then for each documented function
   1148# all documented entities called/used by that function will be listed.
   1149# The default value is: NO.
   1150
   1151REFERENCES_RELATION    = NO
   1152
   1153# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
   1154# to YES then the hyperlinks from functions in REFERENCES_RELATION and
   1155# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
   1156# link to the documentation.
   1157# The default value is: YES.
   1158
   1159REFERENCES_LINK_SOURCE = YES
   1160
   1161# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
   1162# source code will show a tooltip with additional information such as prototype,
   1163# brief description and links to the definition and documentation. Since this
   1164# will make the HTML file larger and loading of large files a bit slower, you
   1165# can opt to disable this feature.
   1166# The default value is: YES.
   1167# This tag requires that the tag SOURCE_BROWSER is set to YES.
   1168
   1169SOURCE_TOOLTIPS        = YES
   1170
   1171# If the USE_HTAGS tag is set to YES then the references to source code will
   1172# point to the HTML generated by the htags(1) tool instead of doxygen built-in
   1173# source browser. The htags tool is part of GNU's global source tagging system
   1174# (see https://www.gnu.org/software/global/global.html). You will need version
   1175# 4.8.6 or higher.
   1176#
   1177# To use it do the following:
   1178# - Install the latest version of global
   1179# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
   1180# - Make sure the INPUT points to the root of the source tree
   1181# - Run doxygen as normal
   1182#
   1183# Doxygen will invoke htags (and that will in turn invoke gtags), so these
   1184# tools must be available from the command line (i.e. in the search path).
   1185#
   1186# The result: instead of the source browser generated by doxygen, the links to
   1187# source code will now point to the output of htags.
   1188# The default value is: NO.
   1189# This tag requires that the tag SOURCE_BROWSER is set to YES.
   1190
   1191USE_HTAGS              = NO
   1192
   1193# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
   1194# verbatim copy of the header file for each class for which an include is
   1195# specified. Set to NO to disable this.
   1196# See also: Section \class.
   1197# The default value is: YES.
   1198
   1199VERBATIM_HEADERS       = YES
   1200
   1201#---------------------------------------------------------------------------
   1202# Configuration options related to the alphabetical class index
   1203#---------------------------------------------------------------------------
   1204
   1205# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
   1206# compounds will be generated. Enable this if the project contains a lot of
   1207# classes, structs, unions or interfaces.
   1208# The default value is: YES.
   1209
   1210ALPHABETICAL_INDEX     = YES
   1211
   1212# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes)
   1213# that should be ignored while generating the index headers. The IGNORE_PREFIX
   1214# tag works for classes, function and member names. The entity will be placed in
   1215# the alphabetical list under the first letter of the entity name that remains
   1216# after removing the prefix.
   1217# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
   1218
   1219IGNORE_PREFIX          =
   1220
   1221#---------------------------------------------------------------------------
   1222# Configuration options related to the HTML output
   1223#---------------------------------------------------------------------------
   1224
   1225# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
   1226# The default value is: YES.
   1227
   1228GENERATE_HTML          = YES
   1229
   1230# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
   1231# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
   1232# it.
   1233# The default directory is: html.
   1234# This tag requires that the tag GENERATE_HTML is set to YES.
   1235
   1236HTML_OUTPUT            = html
   1237
   1238# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
   1239# generated HTML page (for example: .htm, .php, .asp).
   1240# The default value is: .html.
   1241# This tag requires that the tag GENERATE_HTML is set to YES.
   1242
   1243HTML_FILE_EXTENSION    = .html
   1244
   1245# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
   1246# each generated HTML page. If the tag is left blank doxygen will generate a
   1247# standard header.
   1248#
   1249# To get valid HTML the header file that includes any scripts and style sheets
   1250# that doxygen needs, which is dependent on the configuration options used (e.g.
   1251# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
   1252# default header using
   1253# doxygen -w html new_header.html new_footer.html new_stylesheet.css
   1254# YourConfigFile
   1255# and then modify the file new_header.html. See also section "Doxygen usage"
   1256# for information on how to generate the default header that doxygen normally
   1257# uses.
   1258# Note: The header is subject to change so you typically have to regenerate the
   1259# default header when upgrading to a newer version of doxygen. For a description
   1260# of the possible markers and block names see the documentation.
   1261# This tag requires that the tag GENERATE_HTML is set to YES.
   1262
   1263HTML_HEADER            =
   1264
   1265# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
   1266# generated HTML page. If the tag is left blank doxygen will generate a standard
   1267# footer. See HTML_HEADER for more information on how to generate a default
   1268# footer and what special commands can be used inside the footer. See also
   1269# section "Doxygen usage" for information on how to generate the default footer
   1270# that doxygen normally uses.
   1271# This tag requires that the tag GENERATE_HTML is set to YES.
   1272
   1273HTML_FOOTER            =
   1274
   1275# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
   1276# sheet that is used by each HTML page. It can be used to fine-tune the look of
   1277# the HTML output. If left blank doxygen will generate a default style sheet.
   1278# See also section "Doxygen usage" for information on how to generate the style
   1279# sheet that doxygen normally uses.
   1280# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
   1281# it is more robust and this tag (HTML_STYLESHEET) will in the future become
   1282# obsolete.
   1283# This tag requires that the tag GENERATE_HTML is set to YES.
   1284
   1285HTML_STYLESHEET        =
   1286
   1287# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
   1288# cascading style sheets that are included after the standard style sheets
   1289# created by doxygen. Using this option one can overrule certain style aspects.
   1290# This is preferred over using HTML_STYLESHEET since it does not replace the
   1291# standard style sheet and is therefore more robust against future updates.
   1292# Doxygen will copy the style sheet files to the output directory.
   1293# Note: The order of the extra style sheet files is of importance (e.g. the last
   1294# style sheet in the list overrules the setting of the previous ones in the
   1295# list).
   1296# Note: Since the styling of scrollbars can currently not be overruled in
   1297# Webkit/Chromium, the styling will be left out of the default doxygen.css if
   1298# one or more extra stylesheets have been specified. So if scrollbar
   1299# customization is desired it has to be added explicitly. For an example see the
   1300# documentation.
   1301# This tag requires that the tag GENERATE_HTML is set to YES.
   1302
   1303HTML_EXTRA_STYLESHEET  =
   1304
   1305# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
   1306# other source files which should be copied to the HTML output directory. Note
   1307# that these files will be copied to the base HTML output directory. Use the
   1308# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
   1309# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
   1310# files will be copied as-is; there are no commands or markers available.
   1311# This tag requires that the tag GENERATE_HTML is set to YES.
   1312
   1313HTML_EXTRA_FILES       =
   1314
   1315# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
   1316# should be rendered with a dark or light theme.
   1317# Possible values are: LIGHT always generate light mode output, DARK always
   1318# generate dark mode output, AUTO_LIGHT automatically set the mode according to
   1319# the user preference, use light mode if no preference is set (the default),
   1320# AUTO_DARK automatically set the mode according to the user preference, use
   1321# dark mode if no preference is set and TOGGLE allow to user to switch between
   1322# light and dark mode via a button.
   1323# The default value is: AUTO_LIGHT.
   1324# This tag requires that the tag GENERATE_HTML is set to YES.
   1325
   1326HTML_COLORSTYLE        = AUTO_LIGHT
   1327
   1328# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
   1329# will adjust the colors in the style sheet and background images according to
   1330# this color. Hue is specified as an angle on a color-wheel, see
   1331# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
   1332# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
   1333# purple, and 360 is red again.
   1334# Minimum value: 0, maximum value: 359, default value: 220.
   1335# This tag requires that the tag GENERATE_HTML is set to YES.
   1336
   1337HTML_COLORSTYLE_HUE    = 220
   1338
   1339# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
   1340# in the HTML output. For a value of 0 the output will use gray-scales only. A
   1341# value of 255 will produce the most vivid colors.
   1342# Minimum value: 0, maximum value: 255, default value: 100.
   1343# This tag requires that the tag GENERATE_HTML is set to YES.
   1344
   1345HTML_COLORSTYLE_SAT    = 100
   1346
   1347# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
   1348# luminance component of the colors in the HTML output. Values below 100
   1349# gradually make the output lighter, whereas values above 100 make the output
   1350# darker. The value divided by 100 is the actual gamma applied, so 80 represents
   1351# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
   1352# change the gamma.
   1353# Minimum value: 40, maximum value: 240, default value: 80.
   1354# This tag requires that the tag GENERATE_HTML is set to YES.
   1355
   1356HTML_COLORSTYLE_GAMMA  = 80
   1357
   1358# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
   1359# documentation will contain a main index with vertical navigation menus that
   1360# are dynamically created via JavaScript. If disabled, the navigation index will
   1361# consists of multiple levels of tabs that are statically embedded in every HTML
   1362# page. Disable this option to support browsers that do not have JavaScript,
   1363# like the Qt help browser.
   1364# The default value is: YES.
   1365# This tag requires that the tag GENERATE_HTML is set to YES.
   1366
   1367HTML_DYNAMIC_MENUS     = YES
   1368
   1369# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
   1370# documentation will contain sections that can be hidden and shown after the
   1371# page has loaded.
   1372# The default value is: NO.
   1373# This tag requires that the tag GENERATE_HTML is set to YES.
   1374
   1375HTML_DYNAMIC_SECTIONS  = NO
   1376
   1377# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be
   1378# dynamically folded and expanded in the generated HTML source code.
   1379# The default value is: YES.
   1380# This tag requires that the tag GENERATE_HTML is set to YES.
   1381
   1382HTML_CODE_FOLDING      = YES
   1383
   1384# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
   1385# shown in the various tree structured indices initially; the user can expand
   1386# and collapse entries dynamically later on. Doxygen will expand the tree to
   1387# such a level that at most the specified number of entries are visible (unless
   1388# a fully collapsed tree already exceeds this amount). So setting the number of
   1389# entries 1 will produce a full collapsed tree by default. 0 is a special value
   1390# representing an infinite number of entries and will result in a full expanded
   1391# tree by default.
   1392# Minimum value: 0, maximum value: 9999, default value: 100.
   1393# This tag requires that the tag GENERATE_HTML is set to YES.
   1394
   1395HTML_INDEX_NUM_ENTRIES = 100
   1396
   1397# If the GENERATE_DOCSET tag is set to YES, additional index files will be
   1398# generated that can be used as input for Apple's Xcode 3 integrated development
   1399# environment (see:
   1400# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To
   1401# create a documentation set, doxygen will generate a Makefile in the HTML
   1402# output directory. Running make will produce the docset in that directory and
   1403# running make install will install the docset in
   1404# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
   1405# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
   1406# genXcode/_index.html for more information.
   1407# The default value is: NO.
   1408# This tag requires that the tag GENERATE_HTML is set to YES.
   1409
   1410GENERATE_DOCSET        = NO
   1411
   1412# This tag determines the name of the docset feed. A documentation feed provides
   1413# an umbrella under which multiple documentation sets from a single provider
   1414# (such as a company or product suite) can be grouped.
   1415# The default value is: Doxygen generated docs.
   1416# This tag requires that the tag GENERATE_DOCSET is set to YES.
   1417
   1418DOCSET_FEEDNAME        = "Doxygen generated docs"
   1419
   1420# This tag determines the URL of the docset feed. A documentation feed provides
   1421# an umbrella under which multiple documentation sets from a single provider
   1422# (such as a company or product suite) can be grouped.
   1423# This tag requires that the tag GENERATE_DOCSET is set to YES.
   1424
   1425DOCSET_FEEDURL         =
   1426
   1427# This tag specifies a string that should uniquely identify the documentation
   1428# set bundle. This should be a reverse domain-name style string, e.g.
   1429# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
   1430# The default value is: org.doxygen.Project.
   1431# This tag requires that the tag GENERATE_DOCSET is set to YES.
   1432
   1433DOCSET_BUNDLE_ID       = org.doxygen.Project
   1434
   1435# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
   1436# the documentation publisher. This should be a reverse domain-name style
   1437# string, e.g. com.mycompany.MyDocSet.documentation.
   1438# The default value is: org.doxygen.Publisher.
   1439# This tag requires that the tag GENERATE_DOCSET is set to YES.
   1440
   1441DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
   1442
   1443# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
   1444# The default value is: Publisher.
   1445# This tag requires that the tag GENERATE_DOCSET is set to YES.
   1446
   1447DOCSET_PUBLISHER_NAME  = Publisher
   1448
   1449# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
   1450# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
   1451# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
   1452# on Windows. In the beginning of 2021 Microsoft took the original page, with
   1453# a.o. the download links, offline the HTML help workshop was already many years
   1454# in maintenance mode). You can download the HTML help workshop from the web
   1455# archives at Installation executable (see:
   1456# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
   1457# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
   1458#
   1459# The HTML Help Workshop contains a compiler that can convert all HTML output
   1460# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
   1461# files are now used as the Windows 98 help format, and will replace the old
   1462# Windows help format (.hlp) on all Windows platforms in the future. Compressed
   1463# HTML files also contain an index, a table of contents, and you can search for
   1464# words in the documentation. The HTML workshop also contains a viewer for
   1465# compressed HTML files.
   1466# The default value is: NO.
   1467# This tag requires that the tag GENERATE_HTML is set to YES.
   1468
   1469GENERATE_HTMLHELP      = NO
   1470
   1471# The CHM_FILE tag can be used to specify the file name of the resulting .chm
   1472# file. You can add a path in front of the file if the result should not be
   1473# written to the html output directory.
   1474# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1475
   1476CHM_FILE               =
   1477
   1478# The HHC_LOCATION tag can be used to specify the location (absolute path
   1479# including file name) of the HTML help compiler (hhc.exe). If non-empty,
   1480# doxygen will try to run the HTML help compiler on the generated index.hhp.
   1481# The file has to be specified with full path.
   1482# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1483
   1484HHC_LOCATION           =
   1485
   1486# The GENERATE_CHI flag controls if a separate .chi index file is generated
   1487# (YES) or that it should be included in the main .chm file (NO).
   1488# The default value is: NO.
   1489# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1490
   1491GENERATE_CHI           = NO
   1492
   1493# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
   1494# and project file content.
   1495# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1496
   1497CHM_INDEX_ENCODING     =
   1498
   1499# The BINARY_TOC flag controls whether a binary table of contents is generated
   1500# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
   1501# enables the Previous and Next buttons.
   1502# The default value is: NO.
   1503# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1504
   1505BINARY_TOC             = NO
   1506
   1507# The TOC_EXPAND flag can be set to YES to add extra items for group members to
   1508# the table of contents of the HTML help documentation and to the tree view.
   1509# The default value is: NO.
   1510# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
   1511
   1512TOC_EXPAND             = NO
   1513
   1514# The SITEMAP_URL tag is used to specify the full URL of the place where the
   1515# generated documentation will be placed on the server by the user during the
   1516# deployment of the documentation. The generated sitemap is called sitemap.xml
   1517# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL
   1518# is specified no sitemap is generated. For information about the sitemap
   1519# protocol see https://www.sitemaps.org
   1520# This tag requires that the tag GENERATE_HTML is set to YES.
   1521
   1522SITEMAP_URL            =
   1523
   1524# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
   1525# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
   1526# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
   1527# (.qch) of the generated HTML documentation.
   1528# The default value is: NO.
   1529# This tag requires that the tag GENERATE_HTML is set to YES.
   1530
   1531GENERATE_QHP           = NO
   1532
   1533# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
   1534# the file name of the resulting .qch file. The path specified is relative to
   1535# the HTML output folder.
   1536# This tag requires that the tag GENERATE_QHP is set to YES.
   1537
   1538QCH_FILE               =
   1539
   1540# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
   1541# Project output. For more information please see Qt Help Project / Namespace
   1542# (see:
   1543# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
   1544# The default value is: org.doxygen.Project.
   1545# This tag requires that the tag GENERATE_QHP is set to YES.
   1546
   1547QHP_NAMESPACE          = org.doxygen.Project
   1548
   1549# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
   1550# Help Project output. For more information please see Qt Help Project / Virtual
   1551# Folders (see:
   1552# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders).
   1553# The default value is: doc.
   1554# This tag requires that the tag GENERATE_QHP is set to YES.
   1555
   1556QHP_VIRTUAL_FOLDER     = doc
   1557
   1558# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
   1559# filter to add. For more information please see Qt Help Project / Custom
   1560# Filters (see:
   1561# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
   1562# This tag requires that the tag GENERATE_QHP is set to YES.
   1563
   1564QHP_CUST_FILTER_NAME   =
   1565
   1566# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
   1567# custom filter to add. For more information please see Qt Help Project / Custom
   1568# Filters (see:
   1569# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
   1570# This tag requires that the tag GENERATE_QHP is set to YES.
   1571
   1572QHP_CUST_FILTER_ATTRS  =
   1573
   1574# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
   1575# project's filter section matches. Qt Help Project / Filter Attributes (see:
   1576# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
   1577# This tag requires that the tag GENERATE_QHP is set to YES.
   1578
   1579QHP_SECT_FILTER_ATTRS  =
   1580
   1581# The QHG_LOCATION tag can be used to specify the location (absolute path
   1582# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to
   1583# run qhelpgenerator on the generated .qhp file.
   1584# This tag requires that the tag GENERATE_QHP is set to YES.
   1585
   1586QHG_LOCATION           =
   1587
   1588# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
   1589# generated, together with the HTML files, they form an Eclipse help plugin. To
   1590# install this plugin and make it available under the help contents menu in
   1591# Eclipse, the contents of the directory containing the HTML and XML files needs
   1592# to be copied into the plugins directory of eclipse. The name of the directory
   1593# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
   1594# After copying Eclipse needs to be restarted before the help appears.
   1595# The default value is: NO.
   1596# This tag requires that the tag GENERATE_HTML is set to YES.
   1597
   1598GENERATE_ECLIPSEHELP   = NO
   1599
   1600# A unique identifier for the Eclipse help plugin. When installing the plugin
   1601# the directory name containing the HTML and XML files should also have this
   1602# name. Each documentation set should have its own identifier.
   1603# The default value is: org.doxygen.Project.
   1604# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
   1605
   1606ECLIPSE_DOC_ID         = org.doxygen.Project
   1607
   1608# If you want full control over the layout of the generated HTML pages it might
   1609# be necessary to disable the index and replace it with your own. The
   1610# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
   1611# of each HTML page. A value of NO enables the index and the value YES disables
   1612# it. Since the tabs in the index contain the same information as the navigation
   1613# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
   1614# The default value is: NO.
   1615# This tag requires that the tag GENERATE_HTML is set to YES.
   1616
   1617DISABLE_INDEX          = NO
   1618
   1619# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
   1620# structure should be generated to display hierarchical information. If the tag
   1621# value is set to YES, a side panel will be generated containing a tree-like
   1622# index structure (just like the one that is generated for HTML Help). For this
   1623# to work a browser that supports JavaScript, DHTML, CSS and frames is required
   1624# (i.e. any modern browser). Windows users are probably better off using the
   1625# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
   1626# further fine tune the look of the index (see "Fine-tuning the output"). As an
   1627# example, the default style sheet generated by doxygen has an example that
   1628# shows how to put an image at the root of the tree instead of the PROJECT_NAME.
   1629# Since the tree basically has the same information as the tab index, you could
   1630# consider setting DISABLE_INDEX to YES when enabling this option.
   1631# The default value is: NO.
   1632# This tag requires that the tag GENERATE_HTML is set to YES.
   1633
   1634GENERATE_TREEVIEW      = NO
   1635
   1636# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the
   1637# FULL_SIDEBAR option determines if the side bar is limited to only the treeview
   1638# area (value NO) or if it should extend to the full height of the window (value
   1639# YES). Setting this to YES gives a layout similar to
   1640# https://docs.readthedocs.io with more room for contents, but less room for the
   1641# project logo, title, and description. If either GENERATE_TREEVIEW or
   1642# DISABLE_INDEX is set to NO, this option has no effect.
   1643# The default value is: NO.
   1644# This tag requires that the tag GENERATE_HTML is set to YES.
   1645
   1646FULL_SIDEBAR           = NO
   1647
   1648# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
   1649# doxygen will group on one line in the generated HTML documentation.
   1650#
   1651# Note that a value of 0 will completely suppress the enum values from appearing
   1652# in the overview section.
   1653# Minimum value: 0, maximum value: 20, default value: 4.
   1654# This tag requires that the tag GENERATE_HTML is set to YES.
   1655
   1656ENUM_VALUES_PER_LINE   = 1
   1657
   1658# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
   1659# to set the initial width (in pixels) of the frame in which the tree is shown.
   1660# Minimum value: 0, maximum value: 1500, default value: 250.
   1661# This tag requires that the tag GENERATE_HTML is set to YES.
   1662
   1663TREEVIEW_WIDTH         = 250
   1664
   1665# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
   1666# external symbols imported via tag files in a separate window.
   1667# The default value is: NO.
   1668# This tag requires that the tag GENERATE_HTML is set to YES.
   1669
   1670EXT_LINKS_IN_WINDOW    = NO
   1671
   1672# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email
   1673# addresses.
   1674# The default value is: YES.
   1675# This tag requires that the tag GENERATE_HTML is set to YES.
   1676
   1677OBFUSCATE_EMAILS       = YES
   1678
   1679# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
   1680# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
   1681# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
   1682# the HTML output. These images will generally look nicer at scaled resolutions.
   1683# Possible values are: png (the default) and svg (looks nicer but requires the
   1684# pdf2svg or inkscape tool).
   1685# The default value is: png.
   1686# This tag requires that the tag GENERATE_HTML is set to YES.
   1687
   1688HTML_FORMULA_FORMAT    = png
   1689
   1690# Use this tag to change the font size of LaTeX formulas included as images in
   1691# the HTML documentation. When you change the font size after a successful
   1692# doxygen run you need to manually remove any form_*.png images from the HTML
   1693# output directory to force them to be regenerated.
   1694# Minimum value: 8, maximum value: 50, default value: 10.
   1695# This tag requires that the tag GENERATE_HTML is set to YES.
   1696
   1697FORMULA_FONTSIZE       = 10
   1698
   1699# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
   1700# to create new LaTeX commands to be used in formulas as building blocks. See
   1701# the section "Including formulas" for details.
   1702
   1703FORMULA_MACROFILE      =
   1704
   1705# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
   1706# https://www.mathjax.org) which uses client side JavaScript for the rendering
   1707# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
   1708# installed or if you want to formulas look prettier in the HTML output. When
   1709# enabled you may also need to install MathJax separately and configure the path
   1710# to it using the MATHJAX_RELPATH option.
   1711# The default value is: NO.
   1712# This tag requires that the tag GENERATE_HTML is set to YES.
   1713
   1714USE_MATHJAX            = NO
   1715
   1716# With MATHJAX_VERSION it is possible to specify the MathJax version to be used.
   1717# Note that the different versions of MathJax have different requirements with
   1718# regards to the different settings, so it is possible that also other MathJax
   1719# settings have to be changed when switching between the different MathJax
   1720# versions.
   1721# Possible values are: MathJax_2 and MathJax_3.
   1722# The default value is: MathJax_2.
   1723# This tag requires that the tag USE_MATHJAX is set to YES.
   1724
   1725MATHJAX_VERSION        = MathJax_2
   1726
   1727# When MathJax is enabled you can set the default output format to be used for
   1728# the MathJax output. For more details about the output format see MathJax
   1729# version 2 (see:
   1730# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3
   1731# (see:
   1732# http://docs.mathjax.org/en/latest/web/components/output.html).
   1733# Possible values are: HTML-CSS (which is slower, but has the best
   1734# compatibility. This is the name for Mathjax version 2, for MathJax version 3
   1735# this will be translated into chtml), NativeMML (i.e. MathML. Only supported
   1736# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
   1737# is the name for Mathjax version 3, for MathJax version 2 this will be
   1738# translated into HTML-CSS) and SVG.
   1739# The default value is: HTML-CSS.
   1740# This tag requires that the tag USE_MATHJAX is set to YES.
   1741
   1742MATHJAX_FORMAT         = HTML-CSS
   1743
   1744# When MathJax is enabled you need to specify the location relative to the HTML
   1745# output directory using the MATHJAX_RELPATH option. The destination directory
   1746# should contain the MathJax.js script. For instance, if the mathjax directory
   1747# is located at the same level as the HTML output directory, then
   1748# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
   1749# Content Delivery Network so you can quickly see the result without installing
   1750# MathJax. However, it is strongly recommended to install a local copy of
   1751# MathJax from https://www.mathjax.org before deployment. The default value is:
   1752# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2
   1753# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3
   1754# This tag requires that the tag USE_MATHJAX is set to YES.
   1755
   1756MATHJAX_RELPATH        = https://cdn.jsdelivr.net/npm/mathjax@2
   1757
   1758# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
   1759# extension names that should be enabled during MathJax rendering. For example
   1760# for MathJax version 2 (see
   1761# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions):
   1762# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
   1763# For example for MathJax version 3 (see
   1764# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html):
   1765# MATHJAX_EXTENSIONS = ams
   1766# This tag requires that the tag USE_MATHJAX is set to YES.
   1767
   1768MATHJAX_EXTENSIONS     =
   1769
   1770# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
   1771# of code that will be used on startup of the MathJax code. See the MathJax site
   1772# (see:
   1773# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an
   1774# example see the documentation.
   1775# This tag requires that the tag USE_MATHJAX is set to YES.
   1776
   1777MATHJAX_CODEFILE       =
   1778
   1779# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
   1780# the HTML output. The underlying search engine uses javascript and DHTML and
   1781# should work on any modern browser. Note that when using HTML help
   1782# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
   1783# there is already a search function so this one should typically be disabled.
   1784# For large projects the javascript based search engine can be slow, then
   1785# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
   1786# search using the keyboard; to jump to the search box use <access key> + S
   1787# (what the <access key> is depends on the OS and browser, but it is typically
   1788# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
   1789# key> to jump into the search results window, the results can be navigated
   1790# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
   1791# the search. The filter options can be selected when the cursor is inside the
   1792# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
   1793# to select a filter and <Enter> or <escape> to activate or cancel the filter
   1794# option.
   1795# The default value is: YES.
   1796# This tag requires that the tag GENERATE_HTML is set to YES.
   1797
   1798SEARCHENGINE           = YES
   1799
   1800# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
   1801# implemented using a web server instead of a web client using JavaScript. There
   1802# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
   1803# setting. When disabled, doxygen will generate a PHP script for searching and
   1804# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
   1805# and searching needs to be provided by external tools. See the section
   1806# "External Indexing and Searching" for details.
   1807# The default value is: NO.
   1808# This tag requires that the tag SEARCHENGINE is set to YES.
   1809
   1810SERVER_BASED_SEARCH    = NO
   1811
   1812# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
   1813# script for searching. Instead the search results are written to an XML file
   1814# which needs to be processed by an external indexer. Doxygen will invoke an
   1815# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
   1816# search results.
   1817#
   1818# Doxygen ships with an example indexer (doxyindexer) and search engine
   1819# (doxysearch.cgi) which are based on the open source search engine library
   1820# Xapian (see:
   1821# https://xapian.org/).
   1822#
   1823# See the section "External Indexing and Searching" for details.
   1824# The default value is: NO.
   1825# This tag requires that the tag SEARCHENGINE is set to YES.
   1826
   1827EXTERNAL_SEARCH        = NO
   1828
   1829# The SEARCHENGINE_URL should point to a search engine hosted by a web server
   1830# which will return the search results when EXTERNAL_SEARCH is enabled.
   1831#
   1832# Doxygen ships with an example indexer (doxyindexer) and search engine
   1833# (doxysearch.cgi) which are based on the open source search engine library
   1834# Xapian (see:
   1835# https://xapian.org/). See the section "External Indexing and Searching" for
   1836# details.
   1837# This tag requires that the tag SEARCHENGINE is set to YES.
   1838
   1839SEARCHENGINE_URL       =
   1840
   1841# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
   1842# search data is written to a file for indexing by an external tool. With the
   1843# SEARCHDATA_FILE tag the name of this file can be specified.
   1844# The default file is: searchdata.xml.
   1845# This tag requires that the tag SEARCHENGINE is set to YES.
   1846
   1847SEARCHDATA_FILE        = searchdata.xml
   1848
   1849# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
   1850# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
   1851# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
   1852# projects and redirect the results back to the right project.
   1853# This tag requires that the tag SEARCHENGINE is set to YES.
   1854
   1855EXTERNAL_SEARCH_ID     =
   1856
   1857# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
   1858# projects other than the one defined by this configuration file, but that are
   1859# all added to the same external search index. Each project needs to have a
   1860# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
   1861# to a relative location where the documentation can be found. The format is:
   1862# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
   1863# This tag requires that the tag SEARCHENGINE is set to YES.
   1864
   1865EXTRA_SEARCH_MAPPINGS  =
   1866
   1867#---------------------------------------------------------------------------
   1868# Configuration options related to the LaTeX output
   1869#---------------------------------------------------------------------------
   1870
   1871# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
   1872# The default value is: YES.
   1873
   1874GENERATE_LATEX         = YES
   1875
   1876# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
   1877# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
   1878# it.
   1879# The default directory is: latex.
   1880# This tag requires that the tag GENERATE_LATEX is set to YES.
   1881
   1882LATEX_OUTPUT           = latex
   1883
   1884# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
   1885# invoked.
   1886#
   1887# Note that when not enabling USE_PDFLATEX the default is latex when enabling
   1888# USE_PDFLATEX the default is pdflatex and when in the later case latex is
   1889# chosen this is overwritten by pdflatex. For specific output languages the
   1890# default can have been set differently, this depends on the implementation of
   1891# the output language.
   1892# This tag requires that the tag GENERATE_LATEX is set to YES.
   1893
   1894LATEX_CMD_NAME         =
   1895
   1896# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
   1897# index for LaTeX.
   1898# Note: This tag is used in the Makefile / make.bat.
   1899# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
   1900# (.tex).
   1901# The default file is: makeindex.
   1902# This tag requires that the tag GENERATE_LATEX is set to YES.
   1903
   1904MAKEINDEX_CMD_NAME     = makeindex
   1905
   1906# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
   1907# generate index for LaTeX. In case there is no backslash (\) as first character
   1908# it will be automatically added in the LaTeX code.
   1909# Note: This tag is used in the generated output file (.tex).
   1910# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
   1911# The default value is: makeindex.
   1912# This tag requires that the tag GENERATE_LATEX is set to YES.
   1913
   1914LATEX_MAKEINDEX_CMD    = makeindex
   1915
   1916# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
   1917# documents. This may be useful for small projects and may help to save some
   1918# trees in general.
   1919# The default value is: NO.
   1920# This tag requires that the tag GENERATE_LATEX is set to YES.
   1921
   1922COMPACT_LATEX          = NO
   1923
   1924# The PAPER_TYPE tag can be used to set the paper type that is used by the
   1925# printer.
   1926# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
   1927# 14 inches) and executive (7.25 x 10.5 inches).
   1928# The default value is: a4.
   1929# This tag requires that the tag GENERATE_LATEX is set to YES.
   1930
   1931PAPER_TYPE             = a4
   1932
   1933# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
   1934# that should be included in the LaTeX output. The package can be specified just
   1935# by its name or with the correct syntax as to be used with the LaTeX
   1936# \usepackage command. To get the times font for instance you can specify :
   1937# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
   1938# To use the option intlimits with the amsmath package you can specify:
   1939# EXTRA_PACKAGES=[intlimits]{amsmath}
   1940# If left blank no extra packages will be included.
   1941# This tag requires that the tag GENERATE_LATEX is set to YES.
   1942
   1943EXTRA_PACKAGES         =
   1944
   1945# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for
   1946# the generated LaTeX document. The header should contain everything until the
   1947# first chapter. If it is left blank doxygen will generate a standard header. It
   1948# is highly recommended to start with a default header using
   1949# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty
   1950# and then modify the file new_header.tex. See also section "Doxygen usage" for
   1951# information on how to generate the default header that doxygen normally uses.
   1952#
   1953# Note: Only use a user-defined header if you know what you are doing!
   1954# Note: The header is subject to change so you typically have to regenerate the
   1955# default header when upgrading to a newer version of doxygen. The following
   1956# commands have a special meaning inside the header (and footer): For a
   1957# description of the possible markers and block names see the documentation.
   1958# This tag requires that the tag GENERATE_LATEX is set to YES.
   1959
   1960LATEX_HEADER           =
   1961
   1962# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for
   1963# the generated LaTeX document. The footer should contain everything after the
   1964# last chapter. If it is left blank doxygen will generate a standard footer. See
   1965# LATEX_HEADER for more information on how to generate a default footer and what
   1966# special commands can be used inside the footer. See also section "Doxygen
   1967# usage" for information on how to generate the default footer that doxygen
   1968# normally uses. Note: Only use a user-defined footer if you know what you are
   1969# doing!
   1970# This tag requires that the tag GENERATE_LATEX is set to YES.
   1971
   1972LATEX_FOOTER           =
   1973
   1974# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
   1975# LaTeX style sheets that are included after the standard style sheets created
   1976# by doxygen. Using this option one can overrule certain style aspects. Doxygen
   1977# will copy the style sheet files to the output directory.
   1978# Note: The order of the extra style sheet files is of importance (e.g. the last
   1979# style sheet in the list overrules the setting of the previous ones in the
   1980# list).
   1981# This tag requires that the tag GENERATE_LATEX is set to YES.
   1982
   1983LATEX_EXTRA_STYLESHEET =
   1984
   1985# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
   1986# other source files which should be copied to the LATEX_OUTPUT output
   1987# directory. Note that the files will be copied as-is; there are no commands or
   1988# markers available.
   1989# This tag requires that the tag GENERATE_LATEX is set to YES.
   1990
   1991LATEX_EXTRA_FILES      =
   1992
   1993# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
   1994# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
   1995# contain links (just like the HTML output) instead of page references. This
   1996# makes the output suitable for online browsing using a PDF viewer.
   1997# The default value is: YES.
   1998# This tag requires that the tag GENERATE_LATEX is set to YES.
   1999
   2000PDF_HYPERLINKS         = YES
   2001
   2002# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as
   2003# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX
   2004# files. Set this option to YES, to get a higher quality PDF documentation.
   2005#
   2006# See also section LATEX_CMD_NAME for selecting the engine.
   2007# The default value is: YES.
   2008# This tag requires that the tag GENERATE_LATEX is set to YES.
   2009
   2010USE_PDFLATEX           = YES
   2011
   2012# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error.
   2013# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch
   2014# mode nothing is printed on the terminal, errors are scrolled as if <return> is
   2015# hit at every error; missing files that TeX tries to input or request from
   2016# keyboard input (\read on a not open input stream) cause the job to abort,
   2017# NON_STOP In nonstop mode the diagnostic message will appear on the terminal,
   2018# but there is no possibility of user interaction just like in batch mode,
   2019# SCROLL In scroll mode, TeX will stop only for missing files to input or if
   2020# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at
   2021# each error, asking for user intervention.
   2022# The default value is: NO.
   2023# This tag requires that the tag GENERATE_LATEX is set to YES.
   2024
   2025LATEX_BATCHMODE        = NO
   2026
   2027# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
   2028# index chapters (such as File Index, Compound Index, etc.) in the output.
   2029# The default value is: NO.
   2030# This tag requires that the tag GENERATE_LATEX is set to YES.
   2031
   2032LATEX_HIDE_INDICES     = NO
   2033
   2034# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
   2035# bibliography, e.g. plainnat, or ieeetr. See
   2036# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
   2037# The default value is: plain.
   2038# This tag requires that the tag GENERATE_LATEX is set to YES.
   2039
   2040LATEX_BIB_STYLE        = plain
   2041
   2042# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
   2043# path from which the emoji images will be read. If a relative path is entered,
   2044# it will be relative to the LATEX_OUTPUT directory. If left blank the
   2045# LATEX_OUTPUT directory will be used.
   2046# This tag requires that the tag GENERATE_LATEX is set to YES.
   2047
   2048LATEX_EMOJI_DIRECTORY  =
   2049
   2050#---------------------------------------------------------------------------
   2051# Configuration options related to the RTF output
   2052#---------------------------------------------------------------------------
   2053
   2054# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
   2055# RTF output is optimized for Word 97 and may not look too pretty with other RTF
   2056# readers/editors.
   2057# The default value is: NO.
   2058
   2059GENERATE_RTF           = NO
   2060
   2061# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
   2062# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
   2063# it.
   2064# The default directory is: rtf.
   2065# This tag requires that the tag GENERATE_RTF is set to YES.
   2066
   2067RTF_OUTPUT             = rtf
   2068
   2069# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
   2070# documents. This may be useful for small projects and may help to save some
   2071# trees in general.
   2072# The default value is: NO.
   2073# This tag requires that the tag GENERATE_RTF is set to YES.
   2074
   2075COMPACT_RTF            = NO
   2076
   2077# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
   2078# contain hyperlink fields. The RTF file will contain links (just like the HTML
   2079# output) instead of page references. This makes the output suitable for online
   2080# browsing using Word or some other Word compatible readers that support those
   2081# fields.
   2082#
   2083# Note: WordPad (write) and others do not support links.
   2084# The default value is: NO.
   2085# This tag requires that the tag GENERATE_RTF is set to YES.
   2086
   2087RTF_HYPERLINKS         = NO
   2088
   2089# Load stylesheet definitions from file. Syntax is similar to doxygen's
   2090# configuration file, i.e. a series of assignments. You only have to provide
   2091# replacements, missing definitions are set to their default value.
   2092#
   2093# See also section "Doxygen usage" for information on how to generate the
   2094# default style sheet that doxygen normally uses.
   2095# This tag requires that the tag GENERATE_RTF is set to YES.
   2096
   2097RTF_STYLESHEET_FILE    =
   2098
   2099# Set optional variables used in the generation of an RTF document. Syntax is
   2100# similar to doxygen's configuration file. A template extensions file can be
   2101# generated using doxygen -e rtf extensionFile.
   2102# This tag requires that the tag GENERATE_RTF is set to YES.
   2103
   2104RTF_EXTENSIONS_FILE    =
   2105
   2106#---------------------------------------------------------------------------
   2107# Configuration options related to the man page output
   2108#---------------------------------------------------------------------------
   2109
   2110# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
   2111# classes and files.
   2112# The default value is: NO.
   2113
   2114GENERATE_MAN           = YES
   2115
   2116# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
   2117# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
   2118# it. A directory man3 will be created inside the directory specified by
   2119# MAN_OUTPUT.
   2120# The default directory is: man.
   2121# This tag requires that the tag GENERATE_MAN is set to YES.
   2122
   2123MAN_OUTPUT             = man
   2124
   2125# The MAN_EXTENSION tag determines the extension that is added to the generated
   2126# man pages. In case the manual section does not start with a number, the number
   2127# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
   2128# optional.
   2129# The default value is: .3.
   2130# This tag requires that the tag GENERATE_MAN is set to YES.
   2131
   2132MAN_EXTENSION          = .3
   2133
   2134# The MAN_SUBDIR tag determines the name of the directory created within
   2135# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
   2136# MAN_EXTENSION with the initial . removed.
   2137# This tag requires that the tag GENERATE_MAN is set to YES.
   2138
   2139MAN_SUBDIR             =
   2140
   2141# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
   2142# will generate one additional man file for each entity documented in the real
   2143# man page(s). These additional files only source the real man page, but without
   2144# them the man command would be unable to find the correct page.
   2145# The default value is: NO.
   2146# This tag requires that the tag GENERATE_MAN is set to YES.
   2147
   2148MAN_LINKS              = NO
   2149
   2150#---------------------------------------------------------------------------
   2151# Configuration options related to the XML output
   2152#---------------------------------------------------------------------------
   2153
   2154# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
   2155# captures the structure of the code including all documentation.
   2156# The default value is: NO.
   2157
   2158GENERATE_XML           = NO
   2159
   2160# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
   2161# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
   2162# it.
   2163# The default directory is: xml.
   2164# This tag requires that the tag GENERATE_XML is set to YES.
   2165
   2166XML_OUTPUT             = xml
   2167
   2168# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
   2169# listings (including syntax highlighting and cross-referencing information) to
   2170# the XML output. Note that enabling this will significantly increase the size
   2171# of the XML output.
   2172# The default value is: YES.
   2173# This tag requires that the tag GENERATE_XML is set to YES.
   2174
   2175XML_PROGRAMLISTING     = YES
   2176
   2177# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
   2178# namespace members in file scope as well, matching the HTML output.
   2179# The default value is: NO.
   2180# This tag requires that the tag GENERATE_XML is set to YES.
   2181
   2182XML_NS_MEMB_FILE_SCOPE = NO
   2183
   2184#---------------------------------------------------------------------------
   2185# Configuration options related to the DOCBOOK output
   2186#---------------------------------------------------------------------------
   2187
   2188# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
   2189# that can be used to generate PDF.
   2190# The default value is: NO.
   2191
   2192GENERATE_DOCBOOK       = NO
   2193
   2194# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
   2195# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
   2196# front of it.
   2197# The default directory is: docbook.
   2198# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
   2199
   2200DOCBOOK_OUTPUT         = docbook
   2201
   2202#---------------------------------------------------------------------------
   2203# Configuration options for the AutoGen Definitions output
   2204#---------------------------------------------------------------------------
   2205
   2206# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
   2207# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures
   2208# the structure of the code including all documentation. Note that this feature
   2209# is still experimental and incomplete at the moment.
   2210# The default value is: NO.
   2211
   2212GENERATE_AUTOGEN_DEF   = NO
   2213
   2214#---------------------------------------------------------------------------
   2215# Configuration options related to Sqlite3 output
   2216#---------------------------------------------------------------------------
   2217
   2218# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3
   2219# database with symbols found by doxygen stored in tables.
   2220# The default value is: NO.
   2221
   2222GENERATE_SQLITE3       = NO
   2223
   2224# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be
   2225# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put
   2226# in front of it.
   2227# The default directory is: sqlite3.
   2228# This tag requires that the tag GENERATE_SQLITE3 is set to YES.
   2229
   2230SQLITE3_OUTPUT         = sqlite3
   2231
   2232# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db
   2233# database file will be recreated with each doxygen run. If set to NO, doxygen
   2234# will warn if an a database file is already found and not modify it.
   2235# The default value is: YES.
   2236# This tag requires that the tag GENERATE_SQLITE3 is set to YES.
   2237
   2238SQLITE3_RECREATE_DB    = YES
   2239
   2240#---------------------------------------------------------------------------
   2241# Configuration options related to the Perl module output
   2242#---------------------------------------------------------------------------
   2243
   2244# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
   2245# file that captures the structure of the code including all documentation.
   2246#
   2247# Note that this feature is still experimental and incomplete at the moment.
   2248# The default value is: NO.
   2249
   2250GENERATE_PERLMOD       = NO
   2251
   2252# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
   2253# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
   2254# output from the Perl module output.
   2255# The default value is: NO.
   2256# This tag requires that the tag GENERATE_PERLMOD is set to YES.
   2257
   2258PERLMOD_LATEX          = NO
   2259
   2260# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
   2261# formatted so it can be parsed by a human reader. This is useful if you want to
   2262# understand what is going on. On the other hand, if this tag is set to NO, the
   2263# size of the Perl module output will be much smaller and Perl will parse it
   2264# just the same.
   2265# The default value is: YES.
   2266# This tag requires that the tag GENERATE_PERLMOD is set to YES.
   2267
   2268PERLMOD_PRETTY         = YES
   2269
   2270# The names of the make variables in the generated doxyrules.make file are
   2271# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
   2272# so different doxyrules.make files included by the same Makefile don't
   2273# overwrite each other's variables.
   2274# This tag requires that the tag GENERATE_PERLMOD is set to YES.
   2275
   2276PERLMOD_MAKEVAR_PREFIX =
   2277
   2278#---------------------------------------------------------------------------
   2279# Configuration options related to the preprocessor
   2280#---------------------------------------------------------------------------
   2281
   2282# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
   2283# C-preprocessor directives found in the sources and include files.
   2284# The default value is: YES.
   2285
   2286ENABLE_PREPROCESSING   = YES
   2287
   2288# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
   2289# in the source code. If set to NO, only conditional compilation will be
   2290# performed. Macro expansion can be done in a controlled way by setting
   2291# EXPAND_ONLY_PREDEF to YES.
   2292# The default value is: NO.
   2293# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2294
   2295MACRO_EXPANSION        = YES
   2296
   2297# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
   2298# the macro expansion is limited to the macros specified with the PREDEFINED and
   2299# EXPAND_AS_DEFINED tags.
   2300# The default value is: NO.
   2301# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2302
   2303EXPAND_ONLY_PREDEF     = NO
   2304
   2305# If the SEARCH_INCLUDES tag is set to YES, the include files in the
   2306# INCLUDE_PATH will be searched if a #include is found.
   2307# The default value is: YES.
   2308# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2309
   2310SEARCH_INCLUDES        = YES
   2311
   2312# The INCLUDE_PATH tag can be used to specify one or more directories that
   2313# contain include files that are not input files but should be processed by the
   2314# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of
   2315# RECURSIVE has no effect here.
   2316# This tag requires that the tag SEARCH_INCLUDES is set to YES.
   2317
   2318INCLUDE_PATH           =
   2319
   2320# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
   2321# patterns (like *.h and *.hpp) to filter out the header-files in the
   2322# directories. If left blank, the patterns specified with FILE_PATTERNS will be
   2323# used.
   2324# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2325
   2326INCLUDE_FILE_PATTERNS  =
   2327
   2328# The PREDEFINED tag can be used to specify one or more macro names that are
   2329# defined before the preprocessor is started (similar to the -D option of e.g.
   2330# gcc). The argument of the tag is a list of macros of the form: name or
   2331# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
   2332# is assumed. To prevent a macro definition from being undefined via #undef or
   2333# recursively expanded use the := operator instead of the = operator.
   2334# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2335
   2336PREDEFINED             =
   2337
   2338# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
   2339# tag can be used to specify a list of macro names that should be expanded. The
   2340# macro definition that is found in the sources will be used. Use the PREDEFINED
   2341# tag if you want to use a different macro definition that overrules the
   2342# definition found in the source code.
   2343# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2344
   2345EXPAND_AS_DEFINED      =
   2346
   2347# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
   2348# remove all references to function-like macros that are alone on a line, have
   2349# an all uppercase name, and do not end with a semicolon. Such function macros
   2350# are typically used for boiler-plate code, and will confuse the parser if not
   2351# removed.
   2352# The default value is: YES.
   2353# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
   2354
   2355SKIP_FUNCTION_MACROS   = YES
   2356
   2357#---------------------------------------------------------------------------
   2358# Configuration options related to external references
   2359#---------------------------------------------------------------------------
   2360
   2361# The TAGFILES tag can be used to specify one or more tag files. For each tag
   2362# file the location of the external documentation should be added. The format of
   2363# a tag file without this location is as follows:
   2364# TAGFILES = file1 file2 ...
   2365# Adding location for the tag files is done as follows:
   2366# TAGFILES = file1=loc1 "file2 = loc2" ...
   2367# where loc1 and loc2 can be relative or absolute paths or URLs. See the
   2368# section "Linking to external documentation" for more information about the use
   2369# of tag files.
   2370# Note: Each tag file must have a unique name (where the name does NOT include
   2371# the path). If a tag file is not located in the directory in which doxygen is
   2372# run, you must also specify the path to the tagfile here.
   2373
   2374TAGFILES               =
   2375
   2376# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
   2377# tag file that is based on the input files it reads. See section "Linking to
   2378# external documentation" for more information about the usage of tag files.
   2379
   2380GENERATE_TAGFILE       =
   2381
   2382# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces
   2383# will be listed in the class and namespace index. If set to NO, only the
   2384# inherited external classes will be listed.
   2385# The default value is: NO.
   2386
   2387ALLEXTERNALS           = NO
   2388
   2389# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
   2390# in the topic index. If set to NO, only the current project's groups will be
   2391# listed.
   2392# The default value is: YES.
   2393
   2394EXTERNAL_GROUPS        = YES
   2395
   2396# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
   2397# the related pages index. If set to NO, only the current project's pages will
   2398# be listed.
   2399# The default value is: YES.
   2400
   2401EXTERNAL_PAGES         = YES
   2402
   2403#---------------------------------------------------------------------------
   2404# Configuration options related to diagram generator tools
   2405#---------------------------------------------------------------------------
   2406
   2407# If set to YES the inheritance and collaboration graphs will hide inheritance
   2408# and usage relations if the target is undocumented or is not a class.
   2409# The default value is: YES.
   2410
   2411HIDE_UNDOC_RELATIONS   = YES
   2412
   2413# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
   2414# available from the path. This tool is part of Graphviz (see:
   2415# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
   2416# Bell Labs. The other options in this section have no effect if this option is
   2417# set to NO
   2418# The default value is: NO.
   2419
   2420HAVE_DOT               = NO
   2421
   2422# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
   2423# to run in parallel. When set to 0 doxygen will base this on the number of
   2424# processors available in the system. You can set it explicitly to a value
   2425# larger than 0 to get control over the balance between CPU load and processing
   2426# speed.
   2427# Minimum value: 0, maximum value: 32, default value: 0.
   2428# This tag requires that the tag HAVE_DOT is set to YES.
   2429
   2430DOT_NUM_THREADS        = 0
   2431
   2432# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of
   2433# subgraphs. When you want a differently looking font in the dot files that
   2434# doxygen generates you can specify fontname, fontcolor and fontsize attributes.
   2435# For details please see <a href=https://graphviz.org/doc/info/attrs.html>Node,
   2436# Edge and Graph Attributes specification</a> You need to make sure dot is able
   2437# to find the font, which can be done by putting it in a standard location or by
   2438# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
   2439# directory containing the font. Default graphviz fontsize is 14.
   2440# The default value is: fontname=Helvetica,fontsize=10.
   2441# This tag requires that the tag HAVE_DOT is set to YES.
   2442
   2443DOT_COMMON_ATTR        = "fontname=Helvetica,fontsize=10"
   2444
   2445# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can
   2446# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. <a
   2447# href=https://graphviz.org/doc/info/arrows.html>Complete documentation about
   2448# arrows shapes.</a>
   2449# The default value is: labelfontname=Helvetica,labelfontsize=10.
   2450# This tag requires that the tag HAVE_DOT is set to YES.
   2451
   2452DOT_EDGE_ATTR          = "labelfontname=Helvetica,labelfontsize=10"
   2453
   2454# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes
   2455# around nodes set 'shape=plain' or 'shape=plaintext' <a
   2456# href=https://www.graphviz.org/doc/info/shapes.html>Shapes specification</a>
   2457# The default value is: shape=box,height=0.2,width=0.4.
   2458# This tag requires that the tag HAVE_DOT is set to YES.
   2459
   2460DOT_NODE_ATTR          = "shape=box,height=0.2,width=0.4"
   2461
   2462# You can set the path where dot can find font specified with fontname in
   2463# DOT_COMMON_ATTR and others dot attributes.
   2464# This tag requires that the tag HAVE_DOT is set to YES.
   2465
   2466DOT_FONTPATH           =
   2467
   2468# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will
   2469# generate a graph for each documented class showing the direct and indirect
   2470# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and
   2471# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case
   2472# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the
   2473# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used.
   2474# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance
   2475# relations will be shown as texts / links.
   2476# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN.
   2477# The default value is: YES.
   2478
   2479CLASS_GRAPH            = YES
   2480
   2481# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
   2482# graph for each documented class showing the direct and indirect implementation
   2483# dependencies (inheritance, containment, and class references variables) of the
   2484# class with other documented classes. Explicit enabling a collaboration graph,
   2485# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the
   2486# command \collaborationgraph. Disabling a collaboration graph can be
   2487# accomplished by means of the command \hidecollaborationgraph.
   2488# The default value is: YES.
   2489# This tag requires that the tag HAVE_DOT is set to YES.
   2490
   2491COLLABORATION_GRAPH    = YES
   2492
   2493# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
   2494# groups, showing the direct groups dependencies. Explicit enabling a group
   2495# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means
   2496# of the command \groupgraph. Disabling a directory graph can be accomplished by
   2497# means of the command \hidegroupgraph. See also the chapter Grouping in the
   2498# manual.
   2499# The default value is: YES.
   2500# This tag requires that the tag HAVE_DOT is set to YES.
   2501
   2502GROUP_GRAPHS           = YES
   2503
   2504# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
   2505# collaboration diagrams in a style similar to the OMG's Unified Modeling
   2506# Language.
   2507# The default value is: NO.
   2508# This tag requires that the tag HAVE_DOT is set to YES.
   2509
   2510UML_LOOK               = NO
   2511
   2512# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
   2513# class node. If there are many fields or methods and many nodes the graph may
   2514# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
   2515# number of items for each type to make the size more manageable. Set this to 0
   2516# for no limit. Note that the threshold may be exceeded by 50% before the limit
   2517# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
   2518# but if the number exceeds 15, the total amount of fields shown is limited to
   2519# 10.
   2520# Minimum value: 0, maximum value: 100, default value: 10.
   2521# This tag requires that the tag UML_LOOK is set to YES.
   2522
   2523UML_LIMIT_NUM_FIELDS   = 10
   2524
   2525# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and
   2526# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS
   2527# tag is set to YES, doxygen will add type and arguments for attributes and
   2528# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen
   2529# will not generate fields with class member information in the UML graphs. The
   2530# class diagrams will look similar to the default class diagrams but using UML
   2531# notation for the relationships.
   2532# Possible values are: NO, YES and NONE.
   2533# The default value is: NO.
   2534# This tag requires that the tag UML_LOOK is set to YES.
   2535
   2536DOT_UML_DETAILS        = NO
   2537
   2538# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters
   2539# to display on a single line. If the actual line length exceeds this threshold
   2540# significantly it will wrapped across multiple lines. Some heuristics are apply
   2541# to avoid ugly line breaks.
   2542# Minimum value: 0, maximum value: 1000, default value: 17.
   2543# This tag requires that the tag HAVE_DOT is set to YES.
   2544
   2545DOT_WRAP_THRESHOLD     = 17
   2546
   2547# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
   2548# collaboration graphs will show the relations between templates and their
   2549# instances.
   2550# The default value is: NO.
   2551# This tag requires that the tag HAVE_DOT is set to YES.
   2552
   2553TEMPLATE_RELATIONS     = NO
   2554
   2555# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
   2556# YES then doxygen will generate a graph for each documented file showing the
   2557# direct and indirect include dependencies of the file with other documented
   2558# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO,
   2559# can be accomplished by means of the command \includegraph. Disabling an
   2560# include graph can be accomplished by means of the command \hideincludegraph.
   2561# The default value is: YES.
   2562# This tag requires that the tag HAVE_DOT is set to YES.
   2563
   2564INCLUDE_GRAPH          = YES
   2565
   2566# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
   2567# set to YES then doxygen will generate a graph for each documented file showing
   2568# the direct and indirect include dependencies of the file with other documented
   2569# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set
   2570# to NO, can be accomplished by means of the command \includedbygraph. Disabling
   2571# an included by graph can be accomplished by means of the command
   2572# \hideincludedbygraph.
   2573# The default value is: YES.
   2574# This tag requires that the tag HAVE_DOT is set to YES.
   2575
   2576INCLUDED_BY_GRAPH      = YES
   2577
   2578# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
   2579# dependency graph for every global function or class method.
   2580#
   2581# Note that enabling this option will significantly increase the time of a run.
   2582# So in most cases it will be better to enable call graphs for selected
   2583# functions only using the \callgraph command. Disabling a call graph can be
   2584# accomplished by means of the command \hidecallgraph.
   2585# The default value is: NO.
   2586# This tag requires that the tag HAVE_DOT is set to YES.
   2587
   2588CALL_GRAPH             = NO
   2589
   2590# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
   2591# dependency graph for every global function or class method.
   2592#
   2593# Note that enabling this option will significantly increase the time of a run.
   2594# So in most cases it will be better to enable caller graphs for selected
   2595# functions only using the \callergraph command. Disabling a caller graph can be
   2596# accomplished by means of the command \hidecallergraph.
   2597# The default value is: NO.
   2598# This tag requires that the tag HAVE_DOT is set to YES.
   2599
   2600CALLER_GRAPH           = NO
   2601
   2602# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
   2603# hierarchy of all classes instead of a textual one.
   2604# The default value is: YES.
   2605# This tag requires that the tag HAVE_DOT is set to YES.
   2606
   2607GRAPHICAL_HIERARCHY    = YES
   2608
   2609# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
   2610# dependencies a directory has on other directories in a graphical way. The
   2611# dependency relations are determined by the #include relations between the
   2612# files in the directories. Explicit enabling a directory graph, when
   2613# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command
   2614# \directorygraph. Disabling a directory graph can be accomplished by means of
   2615# the command \hidedirectorygraph.
   2616# The default value is: YES.
   2617# This tag requires that the tag HAVE_DOT is set to YES.
   2618
   2619DIRECTORY_GRAPH        = YES
   2620
   2621# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels
   2622# of child directories generated in directory dependency graphs by dot.
   2623# Minimum value: 1, maximum value: 25, default value: 1.
   2624# This tag requires that the tag DIRECTORY_GRAPH is set to YES.
   2625
   2626DIR_GRAPH_MAX_DEPTH    = 1
   2627
   2628# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
   2629# generated by dot. For an explanation of the image formats see the section
   2630# output formats in the documentation of the dot tool (Graphviz (see:
   2631# https://www.graphviz.org/)).
   2632# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
   2633# to make the SVG files visible in IE 9+ (other browsers do not have this
   2634# requirement).
   2635# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
   2636# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
   2637# png:gdiplus:gdiplus.
   2638# The default value is: png.
   2639# This tag requires that the tag HAVE_DOT is set to YES.
   2640
   2641DOT_IMAGE_FORMAT       = png
   2642
   2643# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
   2644# enable generation of interactive SVG images that allow zooming and panning.
   2645#
   2646# Note that this requires a modern browser other than Internet Explorer. Tested
   2647# and working are Firefox, Chrome, Safari, and Opera.
   2648# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
   2649# the SVG files visible. Older versions of IE do not have SVG support.
   2650# The default value is: NO.
   2651# This tag requires that the tag HAVE_DOT is set to YES.
   2652
   2653INTERACTIVE_SVG        = NO
   2654
   2655# The DOT_PATH tag can be used to specify the path where the dot tool can be
   2656# found. If left blank, it is assumed the dot tool can be found in the path.
   2657# This tag requires that the tag HAVE_DOT is set to YES.
   2658
   2659DOT_PATH               =
   2660
   2661# The DOTFILE_DIRS tag can be used to specify one or more directories that
   2662# contain dot files that are included in the documentation (see the \dotfile
   2663# command).
   2664# This tag requires that the tag HAVE_DOT is set to YES.
   2665
   2666DOTFILE_DIRS           =
   2667
   2668# You can include diagrams made with dia in doxygen documentation. Doxygen will
   2669# then run dia to produce the diagram and insert it in the documentation. The
   2670# DIA_PATH tag allows you to specify the directory where the dia binary resides.
   2671# If left empty dia is assumed to be found in the default search path.
   2672
   2673DIA_PATH               =
   2674
   2675# The DIAFILE_DIRS tag can be used to specify one or more directories that
   2676# contain dia files that are included in the documentation (see the \diafile
   2677# command).
   2678
   2679DIAFILE_DIRS           =
   2680
   2681# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
   2682# path where java can find the plantuml.jar file or to the filename of jar file
   2683# to be used. If left blank, it is assumed PlantUML is not used or called during
   2684# a preprocessing step. Doxygen will generate a warning when it encounters a
   2685# \startuml command in this case and will not generate output for the diagram.
   2686
   2687PLANTUML_JAR_PATH      =
   2688
   2689# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
   2690# configuration file for plantuml.
   2691
   2692PLANTUML_CFG_FILE      =
   2693
   2694# When using plantuml, the specified paths are searched for files specified by
   2695# the !include statement in a plantuml block.
   2696
   2697PLANTUML_INCLUDE_PATH  =
   2698
   2699# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
   2700# that will be shown in the graph. If the number of nodes in a graph becomes
   2701# larger than this value, doxygen will truncate the graph, which is visualized
   2702# by representing a node as a red box. Note that doxygen if the number of direct
   2703# children of the root node in a graph is already larger than
   2704# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
   2705# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
   2706# Minimum value: 0, maximum value: 10000, default value: 50.
   2707# This tag requires that the tag HAVE_DOT is set to YES.
   2708
   2709DOT_GRAPH_MAX_NODES    = 50
   2710
   2711# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
   2712# generated by dot. A depth value of 3 means that only nodes reachable from the
   2713# root by following a path via at most 3 edges will be shown. Nodes that lay
   2714# further from the root node will be omitted. Note that setting this option to 1
   2715# or 2 may greatly reduce the computation time needed for large code bases. Also
   2716# note that the size of a graph can be further restricted by
   2717# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
   2718# Minimum value: 0, maximum value: 1000, default value: 0.
   2719# This tag requires that the tag HAVE_DOT is set to YES.
   2720
   2721MAX_DOT_GRAPH_DEPTH    = 0
   2722
   2723# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
   2724# files in one run (i.e. multiple -o and -T options on the command line). This
   2725# makes dot run faster, but since only newer versions of dot (>1.8.10) support
   2726# this, this feature is disabled by default.
   2727# The default value is: NO.
   2728# This tag requires that the tag HAVE_DOT is set to YES.
   2729
   2730DOT_MULTI_TARGETS      = NO
   2731
   2732# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
   2733# explaining the meaning of the various boxes and arrows in the dot generated
   2734# graphs.
   2735# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal
   2736# graphical representation for inheritance and collaboration diagrams is used.
   2737# The default value is: YES.
   2738# This tag requires that the tag HAVE_DOT is set to YES.
   2739
   2740GENERATE_LEGEND        = YES
   2741
   2742# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
   2743# files that are used to generate the various graphs.
   2744#
   2745# Note: This setting is not only used for dot files but also for msc temporary
   2746# files.
   2747# The default value is: YES.
   2748
   2749DOT_CLEANUP            = YES
   2750
   2751# You can define message sequence charts within doxygen comments using the \msc
   2752# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will
   2753# use a built-in version of mscgen tool to produce the charts. Alternatively,
   2754# the MSCGEN_TOOL tag can also specify the name an external tool. For instance,
   2755# specifying prog as the value, doxygen will call the tool as prog -T
   2756# <outfile_format> -o <outputfile> <inputfile>. The external tool should support
   2757# output file formats "png", "eps", "svg", and "ismap".
   2758
   2759MSCGEN_TOOL            =
   2760
   2761# The MSCFILE_DIRS tag can be used to specify one or more directories that
   2762# contain msc files that are included in the documentation (see the \mscfile
   2763# command).
   2764
   2765MSCFILE_DIRS           =