--- /dev/null
+volk (3.1.0-3) unstable; urgency=medium
+
+ * add powerpc to cpu-features dependency
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 16 Dec 2023 09:31:28 -0500
+
+volk (3.1.0-2) unstable; urgency=medium
+
+ * Avoid ORC on x32, led to test failures
+ * include argilo-volk/all-i386-patches
+ * update available cpu-features architecture list
+ * Express version information in decimal
+ * add debian/upstream/metadata
+ * clean __pycahe__ (Closes: #1048046)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 15 Dec 2023 17:57:14 -0500
+
+volk (3.1.0-1) experimental; urgency=medium
+
+ * New upstream release
+ Improved CMake build
+ Better tests
+ New kernel API (old API still available)
+ New and Updated kernels
+ * Upload to experimental for soversion bump
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 05 Dec 2023 18:12:20 -0500
+
+volk (3.0.0-2) unstable; urgency=medium
+
+ * upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 15 Jul 2023 21:58:53 -0400
+
+volk (3.0.0-1) experimental; urgency=medium
+
+ * New upstream release
+ - License switch to LGPLv3+
+ - Fix build for 32 bit arm with neon
+ - Add experimental support for MIPS and RISC-V
+ * Upload to experimental for package renames and soversion bump
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 14 Jan 2023 14:01:06 -0500
+
+volk (2.5.2-3) unstable; urgency=medium
+
+ * orc 1:0.4.33-1 dropped building static library,
+ so now volk will drop building its static library too. (Closes: #1026593)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 20 Dec 2022 20:03:23 -0500
+
+volk (2.5.2-2) unstable; urgency=medium
+
+ * revert changes to kernels/volk/volk_8u_x2_encodeframepolar_8u.h
+ made by make-acc-happy patch since version 1.3-1 (Closes: #1021856)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 15 Oct 2022 23:41:48 -0400
+
+volk (2.5.2-1) unstable; urgency=medium
+
+ * New upstream release.
+ * volk_8u_x4_conv_k7_r2_8u
+ - Add NEON implementation `neonspiral` via `sse2neon.h`
+ * Fixes
+ - Fix out-of-bounds reads
+ - Fix broken neon kernels
+ - Fix float to int conversion
+ * CMake
+ - Suppress superfluous warning
+ - Fix Python install path calculation and documentation
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 04 Sep 2022 12:00:56 -0400
+
+volk (2.5.1-2) unstable; urgency=medium
+
+ * VolkPython use posix prefix scheme (Closes: #1009394)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 12 Apr 2022 18:39:33 -0400
+
+volk (2.5.1-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 13 Feb 2022 00:18:58 -0500
+
+volk (2.5.0-2) unstable; urgency=medium
+
+ * upload to unstable
+ * with some upstream bugfixes
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 21 Oct 2021 23:30:05 -0400
+
+volk (2.5.0-1) experimental; urgency=medium
+
+ * New upstream release
+ * Use libcpu-features-dev on powerpc and x32 (Closes: #978602)
+ * Mention volk-config-info and volk_modtool in description (Closes: #989263)
+ * Upload to experimental for soversion bump
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 10 Jun 2021 18:29:47 -0400
+
+volk (2.4.1-2) unstable; urgency=medium
+
+ [ Shengjing Zhu ]
+ * Use system cpu_features package
+
+ [ A. Maitland Bottoms ]
+ * Adopt Use system cpu_features package patch (Closes: #978096)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 27 Dec 2020 15:16:07 -0500
+
+volk (2.4.1-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 17 Dec 2020 23:53:21 -0500
+
+volk (2.4.0-4) unstable; urgency=medium
+
+ * skip cpu_features on "Unsupported OS" kFreeBSD
+ * bump Standards-Version - no other changes.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 15 Dec 2020 19:53:16 -0500
+
+volk (2.4.0-3) unstable; urgency=medium
+
+ * Fix binary-indep build (Closes: #976300)
+ * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 03 Dec 2020 20:43:29 -0500
+
+volk (2.4.0-2) experimental; urgency=medium
+
+ * Make use of cpu_features a CMake option with sensible defaults per arch
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 30 Nov 2020 16:19:19 -0500
+
+volk (2.4.0-1) experimental; urgency=medium
+
+ * New upstream release
+ * cpu_features git submodule packaged as cpu-features source component.
+ * Upload to experimental for soversion bump
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 22 Nov 2020 12:35:43 -0500
+
+volk (2.3.0-3) unstable; urgency=medium
+
+ * update to v2.3.0-14-g91e5d07
+ emit an emms instruction after using the mmx extension
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 30 Jun 2020 19:48:20 -0400
+
+volk (2.3.0-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 11 May 2020 07:26:03 -0400
+
+volk (2.3.0-1) experimental; urgency=medium
+
+ * New upstream release, to experimental for soversion bump
+ * Kernels
+ - volk: accurate exp kernel
+ - exp: Rename SSE4.1 to SSE2 kernel
+ - Add 32f_s32f_add_32f kernel
+ - This kernel adds in vector + scalar functionality
+ - Fix the broken index max kernels
+ - Treat the mod_range puppet as such
+ - Add puppet for power spectral density kernel
+ - Updated log10 calcs to use faster log2 approach
+ - fix: Use unaligned load
+ - divide: Optimize complexmultiplyconjugate
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 09 May 2020 15:42:23 -0400
+
+volk (2.2.1-3) unstable; urgency=medium
+
+ * update to v2.2.1-34-gd4756c5
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 05 Apr 2020 10:37:46 -0400
+
+volk (2.2.1-2) unstable; urgency=medium
+
+ * update to v2.2.1-11-gfaf230e
+ * cmake: Remove the ORC from the VOLK public link interface
+ * Fix the broken index max kernels
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 27 Mar 2020 21:48:10 -0400
+
+volk (2.2.1-1) unstable; urgency=high
+
+ * New upstream bugfix release
+ reason for high urgency:
+ - Fix loop bound in AVX rotator (only one fixed in 2.2.0-3)
+ - Fix out-of-bounds read in AVX2 square dist kernel
+ - Fix length checks in AVX2 index max kernels
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 24 Feb 2020 18:08:05 -0500
+
+volk (2.2.0-3) unstable; urgency=high
+
+ * Update to v2.2.0-6-g5701f8f
+ reason for high urgency:
+ - Fix loop bound in AVX rotator
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 23 Feb 2020 23:49:18 -0500
+
+volk (2.2.0-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 18 Feb 2020 17:56:58 -0500
+
+volk (2.2.0-1) experimental; urgency=medium
+
+ * New upstream release
+ - Remove build dependency on python six
+ - Fixup VolkConfigVersion
+ - add volk_version.h
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 16 Feb 2020 18:25:20 -0500
+
+volk (2.1.0-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 05 Jan 2020 23:17:57 -0500
+
+volk (2.1.0-1) experimental; urgency=medium
+
+ * New upstream release
+ - The AVX FMA rotator bug is fixed
+ - VOLK offers `volk::vector<>` for C++ to follow RAII
+ - Use C++17 `std::filesystem`
+ - This enables VOLK to be built without Boost if available!
+ - lots of bugfixes
+ - more optimized kernels, especially more NEON versions
+ * Upload to experimental for new ABI library package libvolk2.1
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 22 Dec 2019 10:27:36 -0500
+
+volk (2.0.0-3) unstable; urgency=medium
+
+ * update to v2.0.0-4-gf04a46f
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 14 Nov 2019 22:47:23 -0500
+
+volk (2.0.0-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 12 Aug 2019 22:49:11 -0400
+
+volk (2.0.0-1) experimental; urgency=medium
+
+ * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 07 Aug 2019 23:31:20 -0400
+
+volk (1.4-4) unstable; urgency=medium
+
+ * working volk_modtool with Python 3
+ * build and install libvolk.a
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 29 Oct 2018 01:32:05 -0400
+
+volk (1.4-3) unstable; urgency=medium
+
+ * update to v1.4-9-g297fefd
+ Added an AVX protokernel for volk_32fc_x2_32f_square_dist_scalar_mult_32f
+ fixed a buffer over-read and over-write in
+ volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx
+ Fix 32u_reverse_32u for ARM
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 12 May 2018 15:25:04 -0400
+
+volk (1.4-2) unstable; urgency=medium
+
+ * Upload to unstable, needed by gnuradio (>= 3.7.12.0)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 03 Apr 2018 01:03:19 -0400
+
+volk (1.4-1) experimental; urgency=medium
+
+ * New upstream release
+ upstream changelog http://libvolk.org/release-v14.html
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 27 Mar 2018 22:57:42 -0400
+
+volk (1.3.1-1) unstable; urgency=medium
+
+ * New upstream bugfix release
+ * Refresh all debian patches for use with git am
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 27 Mar 2018 21:54:29 -0400
+
+volk (1.3-3) unstable; urgency=medium
+
+ * update to v1.3-23-g0109b2e
+ * update debian/libvolk1-dev.abi.tar.gz.amd64
+ * Add breaks/replaces gnuradio (<=3.7.2.1) (LP: #1614235)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 04 Feb 2018 13:12:21 -0500
+
+volk (1.3-2) unstable; urgency=medium
+
+ * update to v1.3-16-g28b03a9
+ apps: fix profile update reading end of lines
+ qa: lower tolerance for 32fc_mag to fix issue #96
+ * include upstream master patch to sort input files
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 27 Aug 2017 13:44:55 -0400
+
+volk (1.3-1) unstable; urgency=medium
+
+ * New upstream release
+ * The index_max kernels were named with the wrong output datatype. To
+ fix this there are new kernels that return a 32u (int32_t) and the
+ existing kernels had their signatures changed to return 16u (int16_t).
+ * The output to stdout and stderr has been shuffled around. There is no
+ longer a message that prints what VOLK machine is being used and the
+ warning messages go to stderr rather than stdout.
+ * The 32fc_index_max kernels previously were only accurate to the SSE
+ register width (4 points). This was a pretty serious and long-lived
+ bug that's been fixed and the QA updated appropriately.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 02 Jul 2016 16:30:47 -0400
+
+volk (1.2.2-2) unstable; urgency=medium
+
+ * update to v1.2.2-11-g78c8bc4 (to follow gnuradio maint branch)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 19 Jun 2016 14:44:15 -0400
+
+volk (1.2.2-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 08 Apr 2016 00:12:10 -0400
+
+volk (1.2.1-2) unstable; urgency=medium
+
+ * Upstream patches:
+ Fix some CMake complaints
+ The fix for compilation with cmake 3.5
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 23 Mar 2016 17:47:54 -0400
+
+volk (1.2.1-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 07 Feb 2016 19:38:32 -0500
+
+volk (1.2-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 24 Dec 2015 20:28:13 -0500
+
+volk (1.1.1-5) experimental; urgency=medium
+
+ * update to v1.1.1-22-gef53547 to support gnuradio 3.7.9
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 11 Dec 2015 13:12:55 -0500
+
+volk (1.1.1-4) unstable; urgency=medium
+
+ * more lintian fixes
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 25 Nov 2015 21:49:58 -0500
+
+volk (1.1.1-3) unstable; urgency=medium
+
+ * Lintian fixes Pre-Depends
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 19 Nov 2015 21:24:27 -0500
+
+volk (1.1.1-2) unstable; urgency=medium
+
+ * Note that libvolk1-dev replaces files in gnuradio-dev versions <<3.7.8
+ (Closes: #802646) again. Thanks Andreas Beckmann.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 13 Nov 2015 18:45:49 -0500
+
+volk (1.1.1-1) unstable; urgency=medium
+
+ * New upstream release
+ * New architectures exist for the AVX2 and FMA ISAs.
+ * The profiler now generates buffers that are vlen + a tiny amount and
+ generates random data to fill buffers. This is intended to catch bugs
+ in protokernels that write beyond num_points.
+ * Note that libvolk1-dev replaces files in earlier gnuradio-dev versions
+ (Closes: #802646)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 01 Nov 2015 18:45:43 -0500
+
+volk (1.1-4) unstable; urgency=medium
+
+ * update to v1.1-12-g264addc
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Tue, 29 Sep 2015 23:41:50 -0400
+
+volk (1.1-3) unstable; urgency=low
+
+ * drop dh_acc to get reproducible builds
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 11 Sep 2015 22:57:06 -0400
+
+volk (1.1-2) unstable; urgency=low
+
+ * use dh-acc
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Mon, 07 Sep 2015 15:45:20 -0400
+
+volk (1.1-1) unstable; urgency=medium
+
+ * re-organize package naming convention
+ * New upstream release tag v1.1
+ New architectures exist for the AVX2 and FMA ISAs. Along
+ with the build-system support the following kernels have
+ no proto-kernels taking advantage of these architectures:
+
+ * 32f_x2_dot_prod_32f
+ * 32fc_x2_multiply_32fc
+ * 64_byteswap
+ * 32f_binary_slicer_8i
+ * 16u_byteswap
+ * 32u_byteswap
+
+ QA/profiler
+ -----------
+
+ The profiler now generates buffers that are vlen + a tiny
+ amount and generates random data to fill buffers. This is
+ intended to catch bugs in protokernels that write beyond
+ num_points.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 26 Aug 2015 09:22:48 -0400
+
+volk (1.0.2-2) unstable; urgency=low
+
+ * Use SOURCE_DATE_EPOCH from the environment, if defined,
+ rather than current date and time to implement volk_build_date()
+ (embedding build date in a library does not help reproducible builds)
+ * add watch file
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 15 Aug 2015 17:43:15 -0400
+
+volk (1.0.2-1) unstable; urgency=medium
+
+ * Maintenance release 24 Jul 2015 by Nathan West
+ * The major change is the CMake logic to add ASM protokernels. Rather
+ than depending on CFLAGS and ASMFLAGS we use the results of VOLK's
+ built in has_ARCH tests. All configurations should work the same as
+ before, but manually specifying CFLAGS and ASMFLAGS on the cmake call
+ for ARM native builds should no longer be necessary.
+ * The 32fc_s32fc_x2_rotator_32fc generic protokernel now includes a
+ previously implied header.
+ * Finally, there is a fix to return the "best" protokernel to the
+ dispatcher when no volk_config exists. Thanks to Alexandre Raymond for
+ pointing this out.
+ * with maint branch patch:
+ kernels-add-missing-include-arm_neon.h
+ * removed unused build-dependency on liboil0.3-dev (closes: #793626)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 05 Aug 2015 00:43:40 -0400
+
+volk (1.0.1-1) unstable; urgency=low
+
+ * Maintenance Release v1.0.1 08 Jul 2015 by Nathan West
+ This is a maintenance release with bug fixes since the initial release of
+ v1.0 in April.
+
+ * Contributors
+
+ The following authors have contributed code to this release:
+
+ Doug Geiger doug.geiger@bioradiation.net
+ Elliot Briggs elliot.briggs@gmail.com
+ Marcus Mueller marcus@hostalia.de
+ Nathan West nathan.west@okstate.edu
+ Tom Rondeau tom@trondeau.com
+
+ * Kernels
+
+ Several bug fixes in different kernels. The NEON implementations of the
+ following kernels have been fixed:
+
+ 32f_x2_add_32f
+ 32f_x2_dot_prod_32f
+ 32fc_s32fc_multiply_32fc
+ 32fc_x2_multiply_32fc
+
+ Additionally the NEON asm based 32f_x2_add_32f protokernels were not being
+ used and are now included and available for use via the dispatcher.
+
+ The 32f_s32f_x2_fm_detect_32f kernel now has a puppet. This solves QA seg
+ faults on 32-bit machines and provide a better test for this kernel.
+
+ The 32fc_s32fc_x2_rotator_32fc generic protokernel replaced cabsf with
+ hypotf for better Android support.
+
+ * Building
+
+ Static builds now trigger the applications (volk_profile and
+ volk-config-info) to be statically linked.
+
+ The file gcc_x86_cpuid.h has been removed since it was no longer being
+ used. Previously it provided cpuid functionality for ancient compilers
+ that we do not support.
+
+ All build types now use -Wall.
+
+ * QA and Testing
+
+ The documentation around the --update option to volk_profile now makes it
+ clear that the option will only profile kernels without entries in
+ volk_profile. The signature of run_volk_tests with expanded args changed
+ signed types to unsigned types to reflect the actual input.
+
+ The remaining changes are all non-functional changes to address issues
+ from Coverity.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Fri, 10 Jul 2015 17:57:42 -0400
+
+volk (1.0-5) unstable; urgency=medium
+
+ * native-armv7-build-support skips neon on Debian armel (Closes: #789972)
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sat, 04 Jul 2015 12:36:36 -0400
+
+volk (1.0-4) unstable; urgency=low
+
+ * update native-armv7-build-support patch from gnuradio volk package
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 25 Jun 2015 16:38:49 -0400
+
+volk (1.0-3) unstable; urgency=medium
+
+ * Add Breaks/Replaces (Closes: #789893, #789894)
+ * Allow failing tests
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Thu, 25 Jun 2015 12:46:06 -0400
+
+volk (1.0-2) unstable; urgency=medium
+
+ * kernels-add-missing-math.h-include-to-rotator
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Wed, 24 Jun 2015 21:09:32 -0400
+
+volk (1.0-1) unstable; urgency=low
+
+ * Initial package (Closes: #782417)
+ Initial Release 11 Apr 2015 by Nathan West
+
+ VOLK 1.0 is available. This is the first release of VOLK as an independently
+ tracked sub-project of GNU Radio.
+
+ * Contributors
+
+ VOLK has been tracked separately from GNU Radio since 2014 Dec 23.
+ Contributors between the split and the initial release are
+
+ Albert Holguin aholguin_77@yahoo.com
+ Doug Geiger doug.geiger@bioradiation.net
+ Elliot Briggs elliot.briggs@gmail.com
+ Julien Olivain julien.olivain@lsv.ens-cachan.fr
+ Michael Dickens michael.dickens@ettus.com
+ Nathan West nathan.west@okstate.edu
+ Tom Rondeau tom@trondeau.com
+
+ * QA
+
+ The test and profiler have significantly changed. The profiler supports
+ run-time changes to vlen and iters to help kernel development and provide
+ more flexibility on embedded systems. Additionally there is a new option
+ to update an existing volk_profile results file with only new kernels which
+ will save time when updating to newer versions of VOLK
+
+ The QA system creates a static list of kernels and test cases. The QA
+ testing and profiler iterate over this static list rather than each source
+ file keeping its own list. The QA also emits XML results to
+ lib/.unittest/kernels.xml which is formatted similarly to JUnit results.
+
+ * Modtool
+
+ Modtool was updated to support the QA and profiler changes.
+
+ * Kernels
+
+ New proto-kernels:
+
+ 16ic_deinterleave_real_8i_neon
+ 16ic_s32f_deinterleave_32f_neon
+ fix preprocessor errors for some compilers on byteswap and popcount puppets
+
+ ORC was moved to the asm kernels directory.
+ volk_malloc
+
+ The posix_memalign implementation of Volk_malloc now falls back to a standard
+ malloc if alignment is 1.
+
+ * Miscellaneous
+
+ Several build system and cmake changes have made it possible to build VOLK
+ both independently with proper soname versions and in-tree for projects
+ such as GNU Radio.
+
+ The static builds take advantage of cmake object libraries to speed up builds.
+
+ Finally, there are a number of changes to satisfy compiler warnings and make
+ QA work on multiple machines.
+
+ -- A. Maitland Bottoms <bottoms@debian.org> Sun, 12 Apr 2015 23:20:41 -0400
--- /dev/null
+Author: A. Maitland Bottoms <bottoms@debian.org>
+Forwarded: not-needed
+Description: update doxygen
+ For Debian version of Doxygen.
+
+--- a/docs/Doxyfile.in
++++ b/docs/Doxyfile.in
+@@ -1,4 +1,4 @@
+-# Doxyfile 1.8.6
++# Doxyfile 1.9.4
+
+ # This file describes the settings to be used by the documentation system
+ # doxygen (www.doxygen.org) for a project.
+@@ -12,16 +12,25 @@
+ # For lists, items can also be appended using:
+ # TAG += value [value, ...]
+ # Values that contain spaces should be placed between quotes (\" \").
++#
++# Note:
++#
++# Use doxygen to compare the used configuration file with the template
++# configuration file:
++# doxygen -x [configFile]
++# Use doxygen to compare the used configuration file with the template
++# configuration file without replacing the environment variables:
++# doxygen -x_noenv [configFile]
+
+ #---------------------------------------------------------------------------
+ # Project related configuration options
+ #---------------------------------------------------------------------------
+
+-# This tag specifies the encoding used for all characters in the config file
+-# that follow. The default is UTF-8 which is also the encoding used for all text
+-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+-# for the list of possible encodings.
++# This tag specifies the encoding used for all characters in the configuration
++# file that follow. The default is UTF-8 which is also the encoding used for all
++# text before the first occurrence of this tag. Doxygen uses libiconv (or the
++# iconv built into libc) for the transcoding. See
++# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
+ # The default value is: UTF-8.
+
+ DOXYFILE_ENCODING = UTF-8
+@@ -46,10 +55,10 @@
+
+ PROJECT_BRIEF = "Architecture-tuned implementations of math kernels"
+
+-# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
+-# the documentation. The maximum height of the logo should not exceed 55 pixels
+-# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
+-# to the output directory.
++# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
++# in the documentation. The maximum height of the logo should not exceed 55
++# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
++# the logo to the output directory.
+
+ PROJECT_LOGO = @CMAKE_SOURCE_DIR@/docs/volk_logo_small.png
+
+@@ -58,44 +67,61 @@
+ # entered, it will be relative to the location where doxygen was started. If
+ # left blank the current directory will be used.
+
+-# TODO: configure this to be a special docs directory. nw tried, but running
+-# make doc won' create the directory, but with doxygen it will. why?
+-
+ OUTPUT_DIRECTORY =
+
+-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
+-# directories (in 2 levels) under the output directory of each output format and
+-# will distribute the generated files over these directories. Enabling this
++# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
++# sub-directories (in 2 levels) under the output directory of each output format
++# and will distribute the generated files over these directories. Enabling this
+ # option can be useful when feeding doxygen a huge amount of source files, where
+ # putting all generated files in the same directory would otherwise causes
+-# performance problems for the file system.
++# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to
++# control the number of sub-directories.
+ # The default value is: NO.
+
+ CREATE_SUBDIRS = NO
+
++# Controls the number of sub-directories that will be created when
++# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every
++# level increment doubles the number of directories, resulting in 4096
++# directories at level 8 which is the default and also the maximum value. The
++# sub-directories are organized in 2 levels, the first level always has a fixed
++# numer of 16 directories.
++# Minimum value: 0, maximum value: 8, default value: 8.
++# This tag requires that the tag CREATE_SUBDIRS is set to YES.
++
++CREATE_SUBDIRS_LEVEL = 8
++
++# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
++# characters to appear in the names of generated files. If set to NO, non-ASCII
++# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
++# U+3044.
++# The default value is: NO.
++
++ALLOW_UNICODE_NAMES = NO
++
+ # The OUTPUT_LANGUAGE tag is used to specify the language in which all
+ # documentation generated by doxygen is written. Doxygen will use this
+ # information to generate all constant output in the proper language.
+-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+-# Ukrainian and Vietnamese.
++# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian,
++# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English
++# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek,
++# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with
++# English messages), Korean, Korean-en (Korean with English messages), Latvian,
++# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese,
++# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish,
++# Swedish, Turkish, Ukrainian and Vietnamese.
+ # The default value is: English.
+
+ OUTPUT_LANGUAGE = English
+
+-# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
++# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+ # descriptions after the members that are listed in the file and class
+ # documentation (similar to Javadoc). Set to NO to disable this.
+ # The default value is: YES.
+
+ BRIEF_MEMBER_DESC = YES
+
+-# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
++# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+ # description of a member or function before the detailed description
+ #
+ # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+@@ -140,7 +166,7 @@
+
+ INLINE_INHERITED_MEMB = NO
+
+-# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
++# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+ # before files name in the file list and in the header files. If set to NO the
+ # shortest path that makes the file name unique will be used
+ # The default value is: YES.
+@@ -157,7 +183,8 @@
+ # will be relative from the directory where doxygen is started.
+ # This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+-STRIP_FROM_PATH = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@
++STRIP_FROM_PATH = @CMAKE_BINARY_DIR@ \
++ @CMAKE_SOURCE_DIR@
+
+ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+ # path mentioned in the documentation of a class, which tells the reader which
+@@ -166,7 +193,8 @@
+ # specify the list of include paths that are normally passed to the compiler
+ # using the -I flag.
+
+-STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@
++STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@ \
++ @CMAKE_BINARY_DIR@
+
+ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+ # less readable) file names. This can be useful is your file systems doesn't
+@@ -184,6 +212,16 @@
+
+ JAVADOC_AUTOBRIEF = NO
+
++# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
++# such as
++# /***************
++# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
++# Javadoc-style will behave just like regular comments and it will not be
++# interpreted by doxygen.
++# The default value is: NO.
++
++JAVADOC_BANNER = NO
++
+ # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+ # line (until the first dot) of a Qt-style comment as the brief description. If
+ # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+@@ -204,15 +242,23 @@
+
+ MULTILINE_CPP_IS_BRIEF = NO
+
++# By default Python docstrings are displayed as preformatted text and doxygen's
++# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the
++# doxygen's special commands can be used and the contents of the docstring
++# documentation blocks is shown as doxygen documentation.
++# The default value is: YES.
++
++PYTHON_DOCSTRING = YES
++
+ # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+ # documentation from any documented member that it re-implements.
+ # The default value is: YES.
+
+ INHERIT_DOCS = YES
+
+-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
+-# new page for each member. If set to NO, the documentation of a member will be
+-# part of the file/class/namespace that contains it.
++# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
++# page for each member. If set to NO, the documentation of a member will be part
++# of the file/class/namespace that contains it.
+ # The default value is: NO.
+
+ SEPARATE_MEMBER_PAGES = NO
+@@ -227,20 +273,19 @@
+ # the documentation. An alias has the form:
+ # name=value
+ # For example adding
+-# "sideeffect=@par Side Effects:\n"
++# "sideeffect=@par Side Effects:^^"
+ # will allow you to put the command \sideeffect (or @sideeffect) in the
+ # documentation, which will result in a user-defined paragraph with heading
+-# "Side Effects:". You can put \n's in the value part of an alias to insert
+-# newlines.
++# "Side Effects:". Note that you cannot put \n's in the value part of an alias
++# to insert newlines (in the resulting output). You can put ^^ in the value part
++# of an alias to insert a newline as if a physical newline was in the original
++# file. When you need a literal { or } or , in the value part of an alias you
++# have to escape them by means of a backslash (\), this can lead to conflicts
++# with the commands \{ and \} for these it is advised to use the version @{ and
++# @} or use a double escape (\\{ and \\})
+
+ ALIASES =
+
+-# This tag can be used to specify a number of word-keyword mappings (TCL only).
+-# A mapping has the form "name=value". For example adding "class=itcl::class"
+-# will allow you to use the command class in the itcl::class meaning.
+-
+-TCL_SUBST =
+-
+ # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+ # only. Doxygen will then generate output that is more tailored for C. For
+ # instance, some of the names that are used will be different. The list of all
+@@ -269,25 +314,40 @@
+
+ OPTIMIZE_OUTPUT_VHDL = NO
+
++# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
++# sources only. Doxygen will then generate output that is more tailored for that
++# language. For instance, namespaces will be presented as modules, types will be
++# separated into more groups, etc.
++# The default value is: NO.
++
++OPTIMIZE_OUTPUT_SLICE = NO
++
+ # Doxygen selects the parser to use depending on the extension of the files it
+ # parses. With this tag you can assign which parser to use for a given
+ # extension. Doxygen has a built-in mapping, but you can override or extend it
+ # using this tag. The format is ext=language, where ext is a file extension, and
+-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
+-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+-# (default is Fortran), use: inc=Fortran f=C.
++# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
++# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice,
++# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
++# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
++# tries to guess whether the code is fixed or free formatted code, this is the
++# default for Fortran type files). For instance to make doxygen treat .inc files
++# as Fortran files (default is PHP), and .f files as C (default is Fortran),
++# use: inc=Fortran f=C.
+ #
+-# Note For files without extension you can use no_extension as a placeholder.
++# Note: For files without extension you can use no_extension as a placeholder.
+ #
+ # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+-# the files are not read by doxygen.
++# the files are not read by doxygen. When specifying no_extension you should add
++# * to the FILE_PATTERNS.
++#
++# Note see also the list of default file extension mappings.
+
+ EXTENSION_MAPPING =
+
+ # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+ # according to the Markdown format, which allows for more readable
+-# documentation. See http://daringfireball.net/projects/markdown/ for details.
++# documentation. See https://daringfireball.net/projects/markdown/ for details.
+ # The output of markdown processing is further processed by doxygen, so you can
+ # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+ # case of backward compatibilities issues.
+@@ -295,10 +355,19 @@
+
+ MARKDOWN_SUPPORT = YES
+
++# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
++# to that level are automatically included in the table of contents, even if
++# they do not have an id attribute.
++# Note: This feature currently applies only to Markdown headings.
++# Minimum value: 0, maximum value: 99, default value: 5.
++# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
++
++TOC_INCLUDE_HEADINGS = 5
++
+ # When enabled doxygen tries to link words that correspond to documented
+ # classes, or namespaces to their corresponding documentation. Such a link can
+-# be prevented in individual cases by by putting a % sign in front of the word
+-# or globally by setting AUTOLINK_SUPPORT to NO.
++# be prevented in individual cases by putting a % sign in front of the word or
++# globally by setting AUTOLINK_SUPPORT to NO.
+ # The default value is: YES.
+
+ AUTOLINK_SUPPORT = YES
+@@ -320,7 +389,7 @@
+ CPP_CLI_SUPPORT = NO
+
+ # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
++# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
+ # will parse them like normal C++ but will assume all classes use public instead
+ # of private inheritance when no explicit protection keyword is present.
+ # The default value is: NO.
+@@ -338,13 +407,20 @@
+ IDL_PROPERTY_SUPPORT = YES
+
+ # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+-# tag is set to YES, then doxygen will reuse the documentation of the first
++# tag is set to YES then doxygen will reuse the documentation of the first
+ # member in the group (if any) for the other members of the group. By default
+ # all members of a group must be documented explicitly.
+ # The default value is: NO.
+
+ DISTRIBUTE_GROUP_DOC = NO
+
++# If one adds a struct or class to a group and this option is enabled, then also
++# any nested class or struct is added to the same group. By default this option
++# is disabled and one has to add nested compounds explicitly via \ingroup.
++# The default value is: NO.
++
++GROUP_NESTED_COMPOUNDS = NO
++
+ # Set the SUBGROUPING tag to YES to allow class member groups of the same type
+ # (for instance a group of public functions) to be put as a subgroup of that
+ # type (e.g. under the Public Functions section). Set it to NO to prevent
+@@ -399,11 +475,24 @@
+
+ LOOKUP_CACHE_SIZE = 0
+
++# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use
++# during processing. When set to 0 doxygen will based this on the number of
++# cores available in the system. You can set it explicitly to a value larger
++# than 0 to get more control over the balance between CPU load and processing
++# speed. At this moment only the input processing can be done using multiple
++# threads. Since this is still an experimental feature the default is set to 1,
++# which effectively disables parallel processing. Please report any issues you
++# encounter. Generating dot graphs in parallel is controlled by the
++# DOT_NUM_THREADS setting.
++# Minimum value: 0, maximum value: 32, default value: 1.
++
++NUM_PROC_THREADS = 1
++
+ #---------------------------------------------------------------------------
+ # Build related configuration options
+ #---------------------------------------------------------------------------
+
+-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
++# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+ # documentation are documented, even if no documentation was available. Private
+ # class members and static file members will be hidden unless the
+ # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+@@ -413,35 +502,41 @@
+
+ EXTRACT_ALL = YES
+
+-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
++# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+ # be included in the documentation.
+ # The default value is: NO.
+
+ EXTRACT_PRIVATE = NO
+
+-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
++# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
++# methods of a class will be included in the documentation.
++# The default value is: NO.
++
++EXTRACT_PRIV_VIRTUAL = NO
++
++# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+ # scope will be included in the documentation.
+ # The default value is: NO.
+
+ EXTRACT_PACKAGE = NO
+
+-# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
++# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+ # included in the documentation.
+ # The default value is: NO.
+
+ EXTRACT_STATIC = YES
+
+-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
+-# locally in source files will be included in the documentation. If set to NO
++# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
++# locally in source files will be included in the documentation. If set to NO,
+ # only classes defined in header files are included. Does not have any effect
+ # for Java sources.
+ # The default value is: YES.
+
+ EXTRACT_LOCAL_CLASSES = YES
+
+-# This flag is only useful for Objective-C code. When set to YES local methods,
++# This flag is only useful for Objective-C code. If set to YES, local methods,
+ # which are defined in the implementation section but not in the interface are
+-# included in the documentation. If set to NO only methods in the interface are
++# included in the documentation. If set to NO, only methods in the interface are
+ # included.
+ # The default value is: NO.
+
+@@ -456,6 +551,13 @@
+
+ EXTRACT_ANON_NSPACES = NO
+
++# If this flag is set to YES, the name of an unnamed parameter in a declaration
++# will be determined by the corresponding definition. By default unnamed
++# parameters remain unnamed in the output.
++# The default value is: YES.
++
++RESOLVE_UNNAMED_PARAMS = YES
++
+ # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+ # undocumented members inside documented classes or files. If set to NO these
+ # members will be included in the various overviews, but no documentation
+@@ -466,21 +568,21 @@
+
+ # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+ # undocumented classes that are normally visible in the class hierarchy. If set
+-# to NO these classes will be included in the various overviews. This option has
+-# no effect if EXTRACT_ALL is enabled.
++# to NO, these classes will be included in the various overviews. This option
++# has no effect if EXTRACT_ALL is enabled.
+ # The default value is: NO.
+
+ HIDE_UNDOC_CLASSES = YES
+
+ # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+-# (class|struct|union) declarations. If set to NO these declarations will be
+-# included in the documentation.
++# declarations. If set to NO, these declarations will be included in the
++# documentation.
+ # The default value is: NO.
+
+ HIDE_FRIEND_COMPOUNDS = NO
+
+ # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+-# documentation blocks found inside the body of a function. If set to NO these
++# documentation blocks found inside the body of a function. If set to NO, these
+ # blocks will be appended to the function's detailed documentation block.
+ # The default value is: NO.
+
+@@ -493,22 +595,42 @@
+
+ INTERNAL_DOCS = NO
+
+-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+-# names in lower-case letters. If set to YES upper-case letters are also
+-# allowed. This is useful if you have classes or files whose names only differ
+-# in case and if your file system supports case sensitive file names. Windows
+-# and Mac users are advised to set this option to NO.
++# With the correct setting of option CASE_SENSE_NAMES doxygen will better be
++# able to match the capabilities of the underlying filesystem. In case the
++# filesystem is case sensitive (i.e. it supports files in the same directory
++# whose names only differ in casing), the option must be set to YES to properly
++# deal with such files in case they appear in the input. For filesystems that
++# are not case sensitive the option should be set to NO to properly deal with
++# output files written for symbols that only differ in casing, such as for two
++# classes, one named CLASS and the other named Class, and to also support
++# references to files without having to specify the exact matching casing. On
++# Windows (including Cygwin) and MacOS, users should typically set this option
++# to NO, whereas on Linux or other Unix flavors it should typically be set to
++# YES.
+ # The default value is: system dependent.
+
+ CASE_SENSE_NAMES = NO
+
+ # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+-# their full class and namespace scopes in the documentation. If set to YES the
++# their full class and namespace scopes in the documentation. If set to YES, the
+ # scope will be hidden.
+ # The default value is: NO.
+
+ HIDE_SCOPE_NAMES = NO
+
++# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
++# append additional text to a page's title, such as Class Reference. If set to
++# YES the compound reference will be hidden.
++# The default value is: NO.
++
++HIDE_COMPOUND_REFERENCE= NO
++
++# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class
++# will show which file needs to be included to use the class.
++# The default value is: YES.
++
++SHOW_HEADERFILE = YES
++
+ # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+ # the files that are included by a file in the documentation of that file.
+ # The default value is: YES.
+@@ -536,14 +658,14 @@
+
+ # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+ # (detailed) documentation of file and class members alphabetically by member
+-# name. If set to NO the members will appear in declaration order.
++# name. If set to NO, the members will appear in declaration order.
+ # The default value is: YES.
+
+ SORT_MEMBER_DOCS = YES
+
+ # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+ # descriptions of file, namespace and class members alphabetically by member
+-# name. If set to NO the members will appear in declaration order. Note that
++# name. If set to NO, the members will appear in declaration order. Note that
+ # this will also influence the order of the classes in the class list.
+ # The default value is: NO.
+
+@@ -588,27 +710,25 @@
+
+ STRICT_PROTO_MATCHING = NO
+
+-# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
+-# todo list. This list is created by putting \todo commands in the
+-# documentation.
++# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
++# list. This list is created by putting \todo commands in the documentation.
+ # The default value is: YES.
+
+ GENERATE_TODOLIST = YES
+
+-# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
+-# test list. This list is created by putting \test commands in the
+-# documentation.
++# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
++# list. This list is created by putting \test commands in the documentation.
+ # The default value is: YES.
+
+ GENERATE_TESTLIST = YES
+
+-# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
++# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+ # list. This list is created by putting \bug commands in the documentation.
+ # The default value is: YES.
+
+ GENERATE_BUGLIST = YES
+
+-# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
++# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+ # the deprecated list. This list is created by putting \deprecated commands in
+ # the documentation.
+ # The default value is: YES.
+@@ -633,8 +753,8 @@
+ MAX_INITIALIZER_LINES = 30
+
+ # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+-# the bottom of the documentation of classes and structs. If set to YES the list
+-# will mention the files that were used to generate the documentation.
++# the bottom of the documentation of classes and structs. If set to YES, the
++# list will mention the files that were used to generate the documentation.
+ # The default value is: YES.
+
+ SHOW_USED_FILES = NO
+@@ -668,7 +788,8 @@
+ # output files in an output format independent way. To create the layout file
+ # that represents doxygen's defaults, run doxygen with the -l option. You can
+ # optionally specify a file name after the option, if omitted DoxygenLayout.xml
+-# will be used as the name of the layout file.
++# will be used as the name of the layout file. See also section "Changing the
++# layout of pages" for information.
+ #
+ # Note that if you run doxygen from a directory containing a file called
+ # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+@@ -679,11 +800,10 @@
+ # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+ # the reference definitions. This must be a list of .bib files. The .bib
+ # extension is automatically appended if omitted. This requires the bibtex tool
+-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
++# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
+ # For LaTeX the style of the bibliography can be controlled using
+ # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+-# search path. Do not use file names with spaces, bibtex cannot handle them. See
+-# also \cite for info how to create references.
++# search path. See also \cite for info how to create references.
+
+ CITE_BIB_FILES =
+
+@@ -699,7 +819,7 @@
+ QUIET = NO
+
+ # The WARNINGS tag can be used to turn on/off the warning messages that are
+-# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
++# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+ # this implies that the warnings are on.
+ #
+ # Tip: Turn warnings on while writing the documentation.
+@@ -707,7 +827,7 @@
+
+ WARNINGS = YES
+
+-# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
++# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+ # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+ # will automatically be disabled.
+ # The default value is: YES.
+@@ -715,34 +835,66 @@
+ WARN_IF_UNDOCUMENTED = YES
+
+ # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+-# potential errors in the documentation, such as not documenting some parameters
+-# in a documented function, or documenting parameters that don't exist or using
+-# markup commands wrongly.
++# potential errors in the documentation, such as documenting some parameters in
++# a documented function twice, or documenting parameters that don't exist or
++# using markup commands wrongly.
+ # The default value is: YES.
+
+ WARN_IF_DOC_ERROR = YES
+
++# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete
++# function parameter documentation. If set to NO, doxygen will accept that some
++# parameters have no documentation without warning.
++# The default value is: YES.
++
++WARN_IF_INCOMPLETE_DOC = YES
++
+ # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+ # are documented, but have no documentation for their parameters or return
+-# value. If set to NO doxygen will only warn about wrong or incomplete parameter
+-# documentation, but not about the absence of documentation.
++# value. If set to NO, doxygen will only warn about wrong parameter
++# documentation, but not about the absence of documentation. If EXTRACT_ALL is
++# set to YES then this flag will automatically be disabled. See also
++# WARN_IF_INCOMPLETE_DOC
+ # The default value is: NO.
+
+ WARN_NO_PARAMDOC = NO
+
++# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
++# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
++# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
++# at the end of the doxygen process doxygen will return with a non-zero status.
++# Possible values are: NO, YES and FAIL_ON_WARNINGS.
++# The default value is: NO.
++
++WARN_AS_ERROR = NO
++
+ # The WARN_FORMAT tag determines the format of the warning messages that doxygen
+ # can produce. The string should contain the $file, $line, and $text tags, which
+ # will be replaced by the file and line number from which the warning originated
+ # and the warning text. Optionally the format may contain $version, which will
+ # be replaced by the version of the file (if it could be obtained via
+ # FILE_VERSION_FILTER)
++# See also: WARN_LINE_FORMAT
+ # The default value is: $file:$line: $text.
+
+ WARN_FORMAT = "$file:$line: $text"
+
++# In the $text part of the WARN_FORMAT command it is possible that a reference
++# to a more specific place is given. To make it easier to jump to this place
++# (outside of doxygen) the user can define a custom "cut" / "paste" string.
++# Example:
++# WARN_LINE_FORMAT = "'vi $file +$line'"
++# See also: WARN_FORMAT
++# The default value is: at line $line of file $file.
++
++WARN_LINE_FORMAT = "at line $line of file $file"
++
+ # The WARN_LOGFILE tag can be used to specify a file to which warning and error
+ # messages should be written. If left blank the output is written to standard
+-# error (stderr).
++# error (stderr). In case the file specified cannot be opened for writing the
++# warning and error messages are written to standard error. When as file - is
++# specified the warning and error messages are written to standard output
++# (stdout).
+
+ WARN_LOGFILE =
+
+@@ -753,7 +905,7 @@
+ # The INPUT tag is used to specify the files and/or directories that contain
+ # documented source files. You may enter file names like myfile.cpp or
+ # directories like /usr/src/myproject. Separate the files or directories with
+-# spaces.
++# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+ # Note: If this tag is empty the current directory is searched.
+
+ INPUT = @CMAKE_SOURCE_DIR@
+@@ -761,20 +913,29 @@
+ # This tag can be used to specify the character encoding of the source files
+ # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+ # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+-# possible encodings.
++# documentation (see:
++# https://www.gnu.org/software/libiconv/) for the list of possible encodings.
+ # The default value is: UTF-8.
+
+ INPUT_ENCODING = UTF-8
+
+ # If the value of the INPUT tag contains directories, you can use the
+ # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+-# *.h) to filter out the source-files in the directories. If left blank the
+-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
+-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
+-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
+-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
+-# *.qsf, *.as and *.js.
++# *.h) to filter out the source-files in the directories.
++#
++# Note that for custom extensions or not directly supported extensions you also
++# need to set EXTENSION_MAPPING for the extension otherwise the files are not
++# read by doxygen.
++#
++# Note the list of default checked file patterns might differ from the list of
++# default file extension mappings.
++#
++# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
++# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
++# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml,
++# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C
++# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
++# *.vhdl, *.ucf, *.qsf and *.ice.
+
+ FILE_PATTERNS = *.c \
+ *.cc \
+@@ -832,7 +993,14 @@
+ # Note that relative paths are relative to the directory from which doxygen is
+ # run.
+
+-EXCLUDE = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@/cpu_features @CMAKE_SOURCE_DIR@/README.md @CMAKE_SOURCE_DIR@/cmake @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md @CMAKE_SOURCE_DIR@/apps @CMAKE_SOURCE_DIR@/lib/*qa* @CMAKE_SOURCE_DIR@/tmpl
++EXCLUDE = @CMAKE_BINARY_DIR@ \
++ @CMAKE_SOURCE_DIR@/cpu_features \
++ @CMAKE_SOURCE_DIR@/README.md \
++ @CMAKE_SOURCE_DIR@/cmake \
++ @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md \
++ @CMAKE_SOURCE_DIR@/apps \
++ @CMAKE_SOURCE_DIR@/lib/*qa* \
++ @CMAKE_SOURCE_DIR@/tmpl
+
+ # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+ # directories that are symbolic links (a Unix file system feature) are excluded
+@@ -854,7 +1022,7 @@
+ # (namespaces, classes, functions, etc.) that should be excluded from the
+ # output. The symbol name can be a fully qualified name, a word, or if the
+ # wildcard * is used, a substring. Examples: ANamespace, AClass,
+-# AClass::ANamespace, ANamespace::*Test
++# ANamespace::AClass, ANamespace::*Test
+ #
+ # Note that the wildcards are matched against the file with absolute path, so to
+ # exclude all test directories use the pattern */test/*
+@@ -901,6 +1069,10 @@
+ # Note that the filter must not add or remove lines; it is applied before the
+ # code is scanned, but not when the output code is generated. If lines are added
+ # or removed, the anchors will not be placed correctly.
++#
++# Note that for custom extensions or not directly supported extensions you also
++# need to set EXTENSION_MAPPING for the extension otherwise the files are not
++# properly processed by doxygen.
+
+ INPUT_FILTER =
+
+@@ -910,11 +1082,15 @@
+ # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+ # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+ # patterns match the file name, INPUT_FILTER is applied.
++#
++# Note that for custom extensions or not directly supported extensions you also
++# need to set EXTENSION_MAPPING for the extension otherwise the files are not
++# properly processed by doxygen.
+
+ FILTER_PATTERNS =
+
+ # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+-# INPUT_FILTER ) will also be used to filter the input files that are used for
++# INPUT_FILTER) will also be used to filter the input files that are used for
+ # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+ # The default value is: NO.
+
+@@ -962,7 +1138,7 @@
+ STRIP_CODE_COMMENTS = YES
+
+ # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+-# function all documented functions referencing it will be listed.
++# entity all documented functions referencing it will be listed.
+ # The default value is: NO.
+
+ REFERENCED_BY_RELATION = NO
+@@ -974,7 +1150,7 @@
+ REFERENCES_RELATION = NO
+
+ # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+-# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
++# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+ # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+ # link to the documentation.
+ # The default value is: YES.
+@@ -994,12 +1170,12 @@
+ # If the USE_HTAGS tag is set to YES then the references to source code will
+ # point to the HTML generated by the htags(1) tool instead of doxygen built-in
+ # source browser. The htags tool is part of GNU's global source tagging system
+-# (see http://www.gnu.org/software/global/global.html). You will need version
++# (see https://www.gnu.org/software/global/global.html). You will need version
+ # 4.8.6 or higher.
+ #
+ # To use it do the following:
+ # - Install the latest version of global
+-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
++# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
+ # - Make sure the INPUT points to the root of the source tree
+ # - Run doxygen as normal
+ #
+@@ -1021,6 +1197,46 @@
+
+ VERBATIM_HEADERS = YES
+
++# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
++# clang parser (see:
++# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
++# performance. This can be particularly helpful with template rich C++ code for
++# which doxygen's built-in parser lacks the necessary type information.
++# Note: The availability of this option depends on whether or not doxygen was
++# generated with the -Duse_libclang=ON option for CMake.
++# The default value is: NO.
++
++CLANG_ASSISTED_PARSING = NO
++
++# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
++# tag is set to YES then doxygen will add the directory of each input to the
++# include path.
++# The default value is: YES.
++# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
++
++CLANG_ADD_INC_PATHS = YES
++
++# If clang assisted parsing is enabled you can provide the compiler with command
++# line options that you would normally use when invoking the compiler. Note that
++# the include paths will already be set by doxygen for the files and directories
++# specified with INPUT and INCLUDE_PATH.
++# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
++
++CLANG_OPTIONS =
++
++# If clang assisted parsing is enabled you can provide the clang parser with the
++# path to the directory containing a file called compile_commands.json. This
++# file is the compilation database (see:
++# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the
++# options used when the source files were built. This is equivalent to
++# specifying the -p option to a clang tool, such as clang-check. These options
++# will then be passed to the parser. Any options specified with CLANG_OPTIONS
++# will be added as well.
++# Note: The availability of this option depends on whether or not doxygen was
++# generated with the -Duse_libclang=ON option for CMake.
++
++CLANG_DATABASE_PATH =
++
+ #---------------------------------------------------------------------------
+ # Configuration options related to the alphabetical class index
+ #---------------------------------------------------------------------------
+@@ -1032,13 +1248,6 @@
+
+ ALPHABETICAL_INDEX = YES
+
+-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+-# which the alphabetical index list will be split.
+-# Minimum value: 1, maximum value: 20, default value: 5.
+-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+-
+-COLS_IN_ALPHA_INDEX = 5
+-
+ # In case all classes in a project start with a common prefix, all classes will
+ # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+ # can be used to specify a prefix (or a list of prefixes) that should be ignored
+@@ -1051,7 +1260,7 @@
+ # Configuration options related to the HTML output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
++# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+ # The default value is: YES.
+
+ GENERATE_HTML = YES
+@@ -1099,7 +1308,7 @@
+ # that doxygen normally uses.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+-HTML_FOOTER = ""
++HTML_FOOTER =
+
+ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+ # sheet that is used by each HTML page. It can be used to fine-tune the look of
+@@ -1113,13 +1322,15 @@
+
+ HTML_STYLESHEET =
+
+-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
+-# defined cascading style sheet that is included after the standard style sheets
++# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
++# cascading style sheets that are included after the standard style sheets
+ # created by doxygen. Using this option one can overrule certain style aspects.
+ # This is preferred over using HTML_STYLESHEET since it does not replace the
+ # standard style sheet and is therefore more robust against future updates.
+-# Doxygen will copy the style sheet file to the output directory. For an example
+-# see the documentation.
++# Doxygen will copy the style sheet files to the output directory.
++# Note: The order of the extra style sheet files is of importance (e.g. the last
++# style sheet in the list overrules the setting of the previous ones in the
++# list). For an example see the documentation.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+ HTML_EXTRA_STYLESHEET =
+@@ -1135,9 +1346,9 @@
+ HTML_EXTRA_FILES =
+
+ # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+-# will adjust the colors in the stylesheet and background images according to
+-# this color. Hue is specified as an angle on a colorwheel, see
+-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
++# will adjust the colors in the style sheet and background images according to
++# this color. Hue is specified as an angle on a color-wheel, see
++# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
+ # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+ # purple, and 360 is red again.
+ # Minimum value: 0, maximum value: 359, default value: 220.
+@@ -1146,7 +1357,7 @@
+ HTML_COLORSTYLE_HUE = 220
+
+ # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+-# in the HTML output. For a value of 0 the output will use grayscales only. A
++# in the HTML output. For a value of 0 the output will use gray-scales only. A
+ # value of 255 will produce the most vivid colors.
+ # Minimum value: 0, maximum value: 255, default value: 100.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+@@ -1166,12 +1377,24 @@
+
+ # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+ # page will contain the date and time when the page was generated. Setting this
+-# to NO can help when comparing the output of multiple runs.
+-# The default value is: YES.
++# to YES can help to show when doxygen was last run and thus if the
++# documentation is up to date.
++# The default value is: NO.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+ HTML_TIMESTAMP = NO
+
++# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
++# documentation will contain a main index with vertical navigation menus that
++# are dynamically created via JavaScript. If disabled, the navigation index will
++# consists of multiple levels of tabs that are statically embedded in every HTML
++# page. Disable this option to support browsers that do not have JavaScript,
++# like the Qt help browser.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_DYNAMIC_MENUS = YES
++
+ # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+ # documentation will contain sections that can be hidden and shown after the
+ # page has loaded.
+@@ -1195,13 +1418,14 @@
+
+ # If the GENERATE_DOCSET tag is set to YES, additional index files will be
+ # generated that can be used as input for Apple's Xcode 3 integrated development
+-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+-# Makefile in the HTML output directory. Running make will produce the docset in
+-# that directory and running make install will install the docset in
++# environment (see:
++# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To
++# create a documentation set, doxygen will generate a Makefile in the HTML
++# output directory. Running make will produce the docset in that directory and
++# running make install will install the docset in
+ # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+-# for more information.
++# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
++# genXcode/_index.html for more information.
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+@@ -1215,6 +1439,13 @@
+
+ DOCSET_FEEDNAME = "Doxygen generated docs"
+
++# This tag determines the URL of the docset feed. A documentation feed provides
++# an umbrella under which multiple documentation sets from a single provider
++# (such as a company or product suite) can be grouped.
++# This tag requires that the tag GENERATE_DOCSET is set to YES.
++
++DOCSET_FEEDURL =
++
+ # This tag specifies a string that should uniquely identify the documentation
+ # set bundle. This should be a reverse domain-name style string, e.g.
+ # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+@@ -1240,8 +1471,12 @@
+ # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+ # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+ # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+-# Windows.
++# on Windows. In the beginning of 2021 Microsoft took the original page, with
++# a.o. the download links, offline the HTML help workshop was already many years
++# in maintenance mode). You can download the HTML help workshop from the web
++# archives at Installation executable (see:
++# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo
++# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe).
+ #
+ # The HTML Help Workshop contains a compiler that can convert all HTML output
+ # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+@@ -1263,28 +1498,29 @@
+ CHM_FILE =
+
+ # The HHC_LOCATION tag can be used to specify the location (absolute path
+-# including file name) of the HTML help compiler ( hhc.exe). If non-empty
++# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+ # doxygen will try to run the HTML help compiler on the generated index.hhp.
+ # The file has to be specified with full path.
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+ HHC_LOCATION =
+
+-# The GENERATE_CHI flag controls if a separate .chi index file is generated (
+-# YES) or that it should be included in the master .chm file ( NO).
++# The GENERATE_CHI flag controls if a separate .chi index file is generated
++# (YES) or that it should be included in the main .chm file (NO).
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+ GENERATE_CHI = NO
+
+-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
++# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+ # and project file content.
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+ CHM_INDEX_ENCODING =
+
+-# The BINARY_TOC flag controls whether a binary table of contents is generated (
+-# YES) or a normal table of contents ( NO) in the .chm file.
++# The BINARY_TOC flag controls whether a binary table of contents is generated
++# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
++# enables the Previous and Next buttons.
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+@@ -1315,7 +1551,8 @@
+
+ # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+ # Project output. For more information please see Qt Help Project / Namespace
+-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
++# (see:
++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
+ # The default value is: org.doxygen.Project.
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+@@ -1323,8 +1560,8 @@
+
+ # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+ # Help Project output. For more information please see Qt Help Project / Virtual
+-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+-# folders).
++# Folders (see:
++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders).
+ # The default value is: doc.
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+@@ -1332,30 +1569,30 @@
+
+ # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+ # filter to add. For more information please see Qt Help Project / Custom
+-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+-# filters).
++# Filters (see:
++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+ QHP_CUST_FILTER_NAME =
+
+ # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+ # custom filter to add. For more information please see Qt Help Project / Custom
+-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+-# filters).
++# Filters (see:
++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters).
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+ QHP_CUST_FILTER_ATTRS =
+
+ # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+ # project's filter section matches. Qt Help Project / Filter Attributes (see:
+-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+ QHP_SECT_FILTER_ATTRS =
+
+-# The QHG_LOCATION tag can be used to specify the location of Qt's
+-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+-# generated .qhp file.
++# The QHG_LOCATION tag can be used to specify the location (absolute path
++# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to
++# run qhelpgenerator on the generated .qhp file.
+ # This tag requires that the tag GENERATE_QHP is set to YES.
+
+ QHG_LOCATION =
+@@ -1397,17 +1634,29 @@
+ # index structure (just like the one that is generated for HTML Help). For this
+ # to work a browser that supports JavaScript, DHTML, CSS and frames is required
+ # (i.e. any modern browser). Windows users are probably better off using the
+-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
+-# further fine-tune the look of the index. As an example, the default style
+-# sheet generated by doxygen has an example that shows how to put an image at
+-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+-# the same information as the tab index, you could consider setting
+-# DISABLE_INDEX to YES when enabling this option.
++# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
++# further fine tune the look of the index (see "Fine-tuning the output"). As an
++# example, the default style sheet generated by doxygen has an example that
++# shows how to put an image at the root of the tree instead of the PROJECT_NAME.
++# Since the tree basically has the same information as the tab index, you could
++# consider setting DISABLE_INDEX to YES when enabling this option.
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+ GENERATE_TREEVIEW = YES
+
++# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the
++# FULL_SIDEBAR option determines if the side bar is limited to only the treeview
++# area (value NO) or if it should extend to the full height of the window (value
++# YES). Setting this to YES gives a layout similar to
++# https://docs.readthedocs.io with more room for contents, but less room for the
++# project logo, title, and description. If either GENERATE_TREEVIEW or
++# DISABLE_INDEX is set to NO, this option has no effect.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++FULL_SIDEBAR = NO
++
+ # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+ # doxygen will group on one line in the generated HTML documentation.
+ #
+@@ -1425,13 +1674,31 @@
+
+ TREEVIEW_WIDTH = 250
+
+-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
++# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+ # external symbols imported via tag files in a separate window.
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_HTML is set to YES.
+
+ EXT_LINKS_IN_WINDOW = NO
+
++# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email
++# addresses.
++# The default value is: YES.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++OBFUSCATE_EMAILS = YES
++
++# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
++# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
++# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
++# the HTML output. These images will generally look nicer at scaled resolutions.
++# Possible values are: png (the default) and svg (looks nicer but requires the
++# pdf2svg or inkscape tool).
++# The default value is: png.
++# This tag requires that the tag GENERATE_HTML is set to YES.
++
++HTML_FORMULA_FORMAT = png
++
+ # Use this tag to change the font size of LaTeX formulas included as images in
+ # the HTML documentation. When you change the font size after a successful
+ # doxygen run you need to manually remove any form_*.png images from the HTML
+@@ -1441,7 +1708,7 @@
+
+ FORMULA_FONTSIZE = 10
+
+-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
++# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
+ # generated for formulas are transparent PNGs. Transparent PNGs are not
+ # supported properly for IE 6.0, but are supported on all modern browsers.
+ #
+@@ -1452,9 +1719,15 @@
+
+ FORMULA_TRANSPARENT = YES
+
++# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
++# to create new LaTeX commands to be used in formulas as building blocks. See
++# the section "Including formulas" for details.
++
++FORMULA_MACROFILE =
++
+ # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+-# http://www.mathjax.org) which uses client side Javascript for the rendering
+-# instead of using prerendered bitmaps. Use this if you do not have LaTeX
++# https://www.mathjax.org) which uses client side JavaScript for the rendering
++# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+ # installed or if you want to formulas look prettier in the HTML output. When
+ # enabled you may also need to install MathJax separately and configure the path
+ # to it using the MATHJAX_RELPATH option.
+@@ -1463,11 +1736,29 @@
+
+ USE_MATHJAX = NO
+
++# With MATHJAX_VERSION it is possible to specify the MathJax version to be used.
++# Note that the different versions of MathJax have different requirements with
++# regards to the different settings, so it is possible that also other MathJax
++# settings have to be changed when switching between the different MathJax
++# versions.
++# Possible values are: MathJax_2 and MathJax_3.
++# The default value is: MathJax_2.
++# This tag requires that the tag USE_MATHJAX is set to YES.
++
++MATHJAX_VERSION = MathJax_2
++
+ # When MathJax is enabled you can set the default output format to be used for
+-# the MathJax output. See the MathJax site (see:
+-# http://docs.mathjax.org/en/latest/output.html) for more details.
++# the MathJax output. For more details about the output format see MathJax
++# version 2 (see:
++# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3
++# (see:
++# http://docs.mathjax.org/en/latest/web/components/output.html).
+ # Possible values are: HTML-CSS (which is slower, but has the best
+-# compatibility), NativeMML (i.e. MathML) and SVG.
++# compatibility. This is the name for Mathjax version 2, for MathJax version 3
++# this will be translated into chtml), NativeMML (i.e. MathML. Only supported
++# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This
++# is the name for Mathjax version 3, for MathJax version 2 this will be
++# translated into HTML-CSS) and SVG.
+ # The default value is: HTML-CSS.
+ # This tag requires that the tag USE_MATHJAX is set to YES.
+
+@@ -1480,22 +1771,29 @@
+ # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+ # Content Delivery Network so you can quickly see the result without installing
+ # MathJax. However, it is strongly recommended to install a local copy of
+-# MathJax from http://www.mathjax.org before deployment.
+-# The default value is: http://cdn.mathjax.org/mathjax/latest.
++# MathJax from https://www.mathjax.org before deployment. The default value is:
++# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2
++# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3
+ # This tag requires that the tag USE_MATHJAX is set to YES.
+
+ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+
+ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+ # extension names that should be enabled during MathJax rendering. For example
++# for MathJax version 2 (see
++# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions):
+ # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
++# For example for MathJax version 3 (see
++# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html):
++# MATHJAX_EXTENSIONS = ams
+ # This tag requires that the tag USE_MATHJAX is set to YES.
+
+ MATHJAX_EXTENSIONS =
+
+ # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+ # of code that will be used on startup of the MathJax code. See the MathJax site
+-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
++# (see:
++# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an
+ # example see the documentation.
+ # This tag requires that the tag USE_MATHJAX is set to YES.
+
+@@ -1523,12 +1821,12 @@
+ SEARCHENGINE = YES
+
+ # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+-# implemented using a web server instead of a web client using Javascript. There
+-# are two flavours of web server based searching depending on the
+-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
+-# searching and an index file used by the script. When EXTERNAL_SEARCH is
+-# enabled the indexing and searching needs to be provided by external tools. See
+-# the section "External Indexing and Searching" for details.
++# implemented using a web server instead of a web client using JavaScript. There
++# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
++# setting. When disabled, doxygen will generate a PHP script for searching and
++# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
++# and searching needs to be provided by external tools. See the section
++# "External Indexing and Searching" for details.
+ # The default value is: NO.
+ # This tag requires that the tag SEARCHENGINE is set to YES.
+
+@@ -1540,9 +1838,10 @@
+ # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+ # search results.
+ #
+-# Doxygen ships with an example indexer ( doxyindexer) and search engine
++# Doxygen ships with an example indexer (doxyindexer) and search engine
+ # (doxysearch.cgi) which are based on the open source search engine library
+-# Xapian (see: http://xapian.org/).
++# Xapian (see:
++# https://xapian.org/).
+ #
+ # See the section "External Indexing and Searching" for details.
+ # The default value is: NO.
+@@ -1553,10 +1852,11 @@
+ # The SEARCHENGINE_URL should point to a search engine hosted by a web server
+ # which will return the search results when EXTERNAL_SEARCH is enabled.
+ #
+-# Doxygen ships with an example indexer ( doxyindexer) and search engine
++# Doxygen ships with an example indexer (doxyindexer) and search engine
+ # (doxysearch.cgi) which are based on the open source search engine library
+-# Xapian (see: http://xapian.org/). See the section "External Indexing and
+-# Searching" for details.
++# Xapian (see:
++# https://xapian.org/). See the section "External Indexing and Searching" for
++# details.
+ # This tag requires that the tag SEARCHENGINE is set to YES.
+
+ SEARCHENGINE_URL =
+@@ -1591,7 +1891,7 @@
+ # Configuration options related to the LaTeX output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
++# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+ # The default value is: YES.
+
+ GENERATE_LATEX = NO
+@@ -1607,22 +1907,36 @@
+ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+ # invoked.
+ #
+-# Note that when enabling USE_PDFLATEX this option is only used for generating
+-# bitmaps for formulas in the HTML output, but not in the Makefile that is
+-# written to the output directory.
+-# The default file is: latex.
++# Note that when not enabling USE_PDFLATEX the default is latex when enabling
++# USE_PDFLATEX the default is pdflatex and when in the later case latex is
++# chosen this is overwritten by pdflatex. For specific output languages the
++# default can have been set differently, this depends on the implementation of
++# the output language.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ LATEX_CMD_NAME = latex
+
+ # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+ # index for LaTeX.
++# Note: This tag is used in the Makefile / make.bat.
++# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
++# (.tex).
+ # The default file is: makeindex.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ MAKEINDEX_CMD_NAME = makeindex
+
+-# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
++# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
++# generate index for LaTeX. In case there is no backslash (\) as first character
++# it will be automatically added in the LaTeX code.
++# Note: This tag is used in the generated output file (.tex).
++# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
++# The default value is: makeindex.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_MAKEINDEX_CMD = makeindex
++
++# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+ # documents. This may be useful for small projects and may help to save some
+ # trees in general.
+ # The default value is: NO.
+@@ -1640,39 +1954,57 @@
+ PAPER_TYPE = a4
+
+ # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+-# that should be included in the LaTeX output. To get the times font for
+-# instance you can specify
+-# EXTRA_PACKAGES=times
++# that should be included in the LaTeX output. The package can be specified just
++# by its name or with the correct syntax as to be used with the LaTeX
++# \usepackage command. To get the times font for instance you can specify :
++# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
++# To use the option intlimits with the amsmath package you can specify:
++# EXTRA_PACKAGES=[intlimits]{amsmath}
+ # If left blank no extra packages will be included.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ EXTRA_PACKAGES =
+
+-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+-# generated LaTeX document. The header should contain everything until the first
+-# chapter. If it is left blank doxygen will generate a standard header. See
+-# section "Doxygen usage" for information on how to let doxygen write the
+-# default header to a separate file.
+-#
+-# Note: Only use a user-defined header if you know what you are doing! The
+-# following commands have a special meaning inside the header: $title,
+-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
+-# replace them by respectively the title of the page, the current date and time,
+-# only the current date, the version number of doxygen, the project name (see
+-# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
++# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for
++# the generated LaTeX document. The header should contain everything until the
++# first chapter. If it is left blank doxygen will generate a standard header. It
++# is highly recommended to start with a default header using
++# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty
++# and then modify the file new_header.tex. See also section "Doxygen usage" for
++# information on how to generate the default header that doxygen normally uses.
++#
++# Note: Only use a user-defined header if you know what you are doing!
++# Note: The header is subject to change so you typically have to regenerate the
++# default header when upgrading to a newer version of doxygen. The following
++# commands have a special meaning inside the header (and footer): For a
++# description of the possible markers and block names see the documentation.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ LATEX_HEADER =
+
+-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+-# generated LaTeX document. The footer should contain everything after the last
+-# chapter. If it is left blank doxygen will generate a standard footer.
+-#
+-# Note: Only use a user-defined footer if you know what you are doing!
++# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for
++# the generated LaTeX document. The footer should contain everything after the
++# last chapter. If it is left blank doxygen will generate a standard footer. See
++# LATEX_HEADER for more information on how to generate a default footer and what
++# special commands can be used inside the footer. See also section "Doxygen
++# usage" for information on how to generate the default footer that doxygen
++# normally uses. Note: Only use a user-defined footer if you know what you are
++# doing!
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ LATEX_FOOTER =
+
++# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
++# LaTeX style sheets that are included after the standard style sheets created
++# by doxygen. Using this option one can overrule certain style aspects. Doxygen
++# will copy the style sheet files to the output directory.
++# Note: The order of the extra style sheet files is of importance (e.g. the last
++# style sheet in the list overrules the setting of the previous ones in the
++# list).
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_EXTRA_STYLESHEET =
++
+ # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+ # other source files which should be copied to the LATEX_OUTPUT output
+ # directory. Note that the files will be copied as-is; there are no commands or
+@@ -1690,9 +2022,11 @@
+
+ PDF_HYPERLINKS = YES
+
+-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+-# the PDF file directly from the LaTeX files. Set this option to YES to get a
+-# higher quality PDF documentation.
++# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as
++# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX
++# files. Set this option to YES, to get a higher quality PDF documentation.
++#
++# See also section LATEX_CMD_NAME for selecting the engine.
+ # The default value is: YES.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+@@ -1700,8 +2034,7 @@
+
+ # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+ # command to the generated LaTeX files. This will instruct LaTeX to keep running
+-# if errors occur, instead of asking the user for help. This option is also used
+-# when generating formulas in HTML.
++# if errors occur, instead of asking the user for help.
+ # The default value is: NO.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+@@ -1714,29 +2047,35 @@
+
+ LATEX_HIDE_INDICES = NO
+
+-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+-# code with syntax highlighting in the LaTeX output.
+-#
+-# Note that which sources are shown also depends on other settings such as
+-# SOURCE_BROWSER.
+-# The default value is: NO.
+-# This tag requires that the tag GENERATE_LATEX is set to YES.
+-
+-LATEX_SOURCE_CODE = NO
+-
+ # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+ # bibliography, e.g. plainnat, or ieeetr. See
+-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
++# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+ # The default value is: plain.
+ # This tag requires that the tag GENERATE_LATEX is set to YES.
+
+ LATEX_BIB_STYLE = plain
+
++# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
++# page will contain the date and time when the page was generated. Setting this
++# to NO can help when comparing the output of multiple runs.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_TIMESTAMP = NO
++
++# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
++# path from which the emoji images will be read. If a relative path is entered,
++# it will be relative to the LATEX_OUTPUT directory. If left blank the
++# LATEX_OUTPUT directory will be used.
++# This tag requires that the tag GENERATE_LATEX is set to YES.
++
++LATEX_EMOJI_DIRECTORY =
++
+ #---------------------------------------------------------------------------
+ # Configuration options related to the RTF output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
++# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+ # RTF output is optimized for Word 97 and may not look too pretty with other RTF
+ # readers/editors.
+ # The default value is: NO.
+@@ -1751,7 +2090,7 @@
+
+ RTF_OUTPUT = rtf
+
+-# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
++# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+ # documents. This may be useful for small projects and may help to save some
+ # trees in general.
+ # The default value is: NO.
+@@ -1771,9 +2110,9 @@
+
+ RTF_HYPERLINKS = NO
+
+-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+-# file, i.e. a series of assignments. You only have to provide replacements,
+-# missing definitions are set to their default value.
++# Load stylesheet definitions from file. Syntax is similar to doxygen's
++# configuration file, i.e. a series of assignments. You only have to provide
++# replacements, missing definitions are set to their default value.
+ #
+ # See also section "Doxygen usage" for information on how to generate the
+ # default style sheet that doxygen normally uses.
+@@ -1782,8 +2121,8 @@
+ RTF_STYLESHEET_FILE =
+
+ # Set optional variables used in the generation of an RTF document. Syntax is
+-# similar to doxygen's config file. A template extensions file can be generated
+-# using doxygen -e rtf extensionFile.
++# similar to doxygen's configuration file. A template extensions file can be
++# generated using doxygen -e rtf extensionFile.
+ # This tag requires that the tag GENERATE_RTF is set to YES.
+
+ RTF_EXTENSIONS_FILE =
+@@ -1792,7 +2131,7 @@
+ # Configuration options related to the man page output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
++# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+ # classes and files.
+ # The default value is: NO.
+
+@@ -1816,6 +2155,13 @@
+
+ MAN_EXTENSION = .3
+
++# The MAN_SUBDIR tag determines the name of the directory created within
++# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
++# MAN_EXTENSION with the initial . removed.
++# This tag requires that the tag GENERATE_MAN is set to YES.
++
++MAN_SUBDIR =
++
+ # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+ # will generate one additional man file for each entity documented in the real
+ # man page(s). These additional files only source the real man page, but without
+@@ -1829,7 +2175,7 @@
+ # Configuration options related to the XML output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
++# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+ # captures the structure of the code including all documentation.
+ # The default value is: NO.
+
+@@ -1843,19 +2189,7 @@
+
+ XML_OUTPUT = xml
+
+-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
+-# validating XML parser to check the syntax of the XML files.
+-# This tag requires that the tag GENERATE_XML is set to YES.
+-
+-XML_SCHEMA =
+-
+-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
+-# validating XML parser to check the syntax of the XML files.
+-# This tag requires that the tag GENERATE_XML is set to YES.
+-
+-XML_DTD =
+-
+-# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
++# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+ # listings (including syntax highlighting and cross-referencing information) to
+ # the XML output. Note that enabling this will significantly increase the size
+ # of the XML output.
+@@ -1864,11 +2198,18 @@
+
+ XML_PROGRAMLISTING = YES
+
++# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
++# namespace members in file scope as well, matching the HTML output.
++# The default value is: NO.
++# This tag requires that the tag GENERATE_XML is set to YES.
++
++XML_NS_MEMB_FILE_SCOPE = NO
++
+ #---------------------------------------------------------------------------
+ # Configuration options related to the DOCBOOK output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
++# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+ # that can be used to generate PDF.
+ # The default value is: NO.
+
+@@ -1886,10 +2227,10 @@
+ # Configuration options for the AutoGen Definitions output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
+-# Definitions (see http://autogen.sf.net) file that captures the structure of
+-# the code including all documentation. Note that this feature is still
+-# experimental and incomplete at the moment.
++# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
++# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
++# the structure of the code including all documentation. Note that this feature
++# is still experimental and incomplete at the moment.
+ # The default value is: NO.
+
+ GENERATE_AUTOGEN_DEF = NO
+@@ -1898,7 +2239,7 @@
+ # Configuration options related to the Perl module output
+ #---------------------------------------------------------------------------
+
+-# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
++# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+ # file that captures the structure of the code including all documentation.
+ #
+ # Note that this feature is still experimental and incomplete at the moment.
+@@ -1906,7 +2247,7 @@
+
+ GENERATE_PERLMOD = NO
+
+-# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
++# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+ # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+ # output from the Perl module output.
+ # The default value is: NO.
+@@ -1914,9 +2255,9 @@
+
+ PERLMOD_LATEX = NO
+
+-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
++# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+ # formatted so it can be parsed by a human reader. This is useful if you want to
+-# understand what is going on. On the other hand, if this tag is set to NO the
++# understand what is going on. On the other hand, if this tag is set to NO, the
+ # size of the Perl module output will be much smaller and Perl will parse it
+ # just the same.
+ # The default value is: YES.
+@@ -1936,14 +2277,14 @@
+ # Configuration options related to the preprocessor
+ #---------------------------------------------------------------------------
+
+-# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
++# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+ # C-preprocessor directives found in the sources and include files.
+ # The default value is: YES.
+
+ ENABLE_PREPROCESSING = YES
+
+-# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
+-# in the source code. If set to NO only conditional compilation will be
++# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
++# in the source code. If set to NO, only conditional compilation will be
+ # performed. Macro expansion can be done in a controlled way by setting
+ # EXPAND_ONLY_PREDEF to YES.
+ # The default value is: NO.
+@@ -1959,7 +2300,7 @@
+
+ EXPAND_ONLY_PREDEF = NO
+
+-# If the SEARCH_INCLUDES tag is set to YES the includes files in the
++# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+ # INCLUDE_PATH will be searched if a #include is found.
+ # The default value is: YES.
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+@@ -1968,7 +2309,8 @@
+
+ # The INCLUDE_PATH tag can be used to specify one or more directories that
+ # contain include files that are not input files but should be processed by the
+-# preprocessor.
++# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of
++# RECURSIVE has no effect here.
+ # This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+ INCLUDE_PATH =
+@@ -2008,9 +2350,9 @@
+ EXPAND_AS_DEFINED =
+
+ # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+-# remove all references to function-like macros that are alone on a line, have an
+-# all uppercase name, and do not end with a semicolon. Such function macros are
+-# typically used for boiler-plate code, and will confuse the parser if not
++# remove all references to function-like macros that are alone on a line, have
++# an all uppercase name, and do not end with a semicolon. Such function macros
++# are typically used for boiler-plate code, and will confuse the parser if not
+ # removed.
+ # The default value is: YES.
+ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+@@ -2030,7 +2372,7 @@
+ # where loc1 and loc2 can be relative or absolute paths or URLs. See the
+ # section "Linking to external documentation" for more information about the use
+ # of tag files.
+-# Note: Each tag file must have an unique name (where the name does NOT include
++# Note: Each tag file must have a unique name (where the name does NOT include
+ # the path). If a tag file is not located in the directory in which doxygen is
+ # run, you must also specify the path to the tagfile here.
+
+@@ -2042,54 +2384,31 @@
+
+ GENERATE_TAGFILE =
+
+-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
+-# class index. If set to NO only the inherited external classes will be listed.
++# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
++# the class index. If set to NO, only the inherited external classes will be
++# listed.
+ # The default value is: NO.
+
+ ALLEXTERNALS = NO
+
+-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
+-# the modules index. If set to NO, only the current project's groups will be
++# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
++# in the modules index. If set to NO, only the current project's groups will be
+ # listed.
+ # The default value is: YES.
+
+ EXTERNAL_GROUPS = YES
+
+-# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
++# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+ # the related pages index. If set to NO, only the current project's pages will
+ # be listed.
+ # The default value is: YES.
+
+ EXTERNAL_PAGES = YES
+
+-# The PERL_PATH should be the absolute path and name of the perl script
+-# interpreter (i.e. the result of 'which perl').
+-# The default file (with absolute path) is: /usr/bin/perl.
+-
+-PERL_PATH = /usr/bin/perl
+-
+ #---------------------------------------------------------------------------
+ # Configuration options related to the dot tool
+ #---------------------------------------------------------------------------
+
+-# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
+-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+-# disabled, but it is recommended to install and use dot, since it yields more
+-# powerful graphs.
+-# The default value is: YES.
+-
+-CLASS_DIAGRAMS = NO
+-
+-# You can define message sequence charts within doxygen comments using the \msc
+-# command. Doxygen will then run the mscgen tool (see:
+-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+-# the mscgen tool resides. If left empty the tool is assumed to be found in the
+-# default search path.
+-
+-MSCGEN_PATH =
+-
+ # You can include diagrams made with dia in doxygen documentation. Doxygen will
+ # then run dia to produce the diagram and insert it in the documentation. The
+ # DIA_PATH tag allows you to specify the directory where the dia binary resides.
+@@ -2097,7 +2416,7 @@
+
+ DIA_PATH =
+
+-# If set to YES, the inheritance and collaboration graphs will hide inheritance
++# If set to YES the inheritance and collaboration graphs will hide inheritance
+ # and usage relations if the target is undocumented or is not a class.
+ # The default value is: YES.
+
+@@ -2108,7 +2427,7 @@
+ # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+ # Bell Labs. The other options in this section have no effect if this option is
+ # set to NO
+-# The default value is: NO.
++# The default value is: YES.
+
+ HAVE_DOT = NO
+
+@@ -2122,7 +2441,7 @@
+
+ DOT_NUM_THREADS = 0
+
+-# When you want a differently looking font n the dot files that doxygen
++# When you want a differently looking font in the dot files that doxygen
+ # generates you can specify the font name using DOT_FONTNAME. You need to make
+ # sure dot is able to find the font, which can be done by putting it in a
+ # standard location or by setting the DOTFONTPATH environment variable or by
+@@ -2146,13 +2465,16 @@
+
+ DOT_FONTPATH =
+
+-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+-# each documented class showing the direct and indirect inheritance relations.
+-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
++# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a
++# graph for each documented class showing the direct and indirect inheritance
++# relations. In case HAVE_DOT is set as well dot will be used to draw the graph,
++# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set
++# to TEXT the direct and indirect inheritance relations will be shown as texts /
++# links.
++# Possible values are: NO, YES, TEXT and GRAPH.
+ # The default value is: YES.
+-# This tag requires that the tag HAVE_DOT is set to YES.
+
+-CLASS_GRAPH = YES
++CLASS_GRAPH = TEXT
+
+ # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+ # graph for each documented class showing the direct and indirect implementation
+@@ -2164,13 +2486,14 @@
+ COLLABORATION_GRAPH = YES
+
+ # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+-# groups, showing the direct groups dependencies.
++# groups, showing the direct groups dependencies. See also the chapter Grouping
++# in the manual.
+ # The default value is: YES.
+ # This tag requires that the tag HAVE_DOT is set to YES.
+
+ GROUP_GRAPHS = YES
+
+-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
++# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+ # collaboration diagrams in a style similar to the OMG's Unified Modeling
+ # Language.
+ # The default value is: NO.
+@@ -2187,10 +2510,32 @@
+ # but if the number exceeds 15, the total amount of fields shown is limited to
+ # 10.
+ # Minimum value: 0, maximum value: 100, default value: 10.
+-# This tag requires that the tag HAVE_DOT is set to YES.
++# This tag requires that the tag UML_LOOK is set to YES.
+
+ UML_LIMIT_NUM_FIELDS = 10
+
++# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and
++# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS
++# tag is set to YES, doxygen will add type and arguments for attributes and
++# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen
++# will not generate fields with class member information in the UML graphs. The
++# class diagrams will look similar to the default class diagrams but using UML
++# notation for the relationships.
++# Possible values are: NO, YES and NONE.
++# The default value is: NO.
++# This tag requires that the tag UML_LOOK is set to YES.
++
++DOT_UML_DETAILS = NO
++
++# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters
++# to display on a single line. If the actual line length exceeds this threshold
++# significantly it will wrapped across multiple lines. Some heuristics are apply
++# to avoid ugly line breaks.
++# Minimum value: 0, maximum value: 1000, default value: 17.
++# This tag requires that the tag HAVE_DOT is set to YES.
++
++DOT_WRAP_THRESHOLD = 17
++
+ # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+ # collaboration graphs will show the relations between templates and their
+ # instances.
+@@ -2222,7 +2567,8 @@
+ #
+ # Note that enabling this option will significantly increase the time of a run.
+ # So in most cases it will be better to enable call graphs for selected
+-# functions only using the \callgraph command.
++# functions only using the \callgraph command. Disabling a call graph can be
++# accomplished by means of the command \hidecallgraph.
+ # The default value is: NO.
+ # This tag requires that the tag HAVE_DOT is set to YES.
+
+@@ -2233,7 +2579,8 @@
+ #
+ # Note that enabling this option will significantly increase the time of a run.
+ # So in most cases it will be better to enable caller graphs for selected
+-# functions only using the \callergraph command.
++# functions only using the \callergraph command. Disabling a caller graph can be
++# accomplished by means of the command \hidecallergraph.
+ # The default value is: NO.
+ # This tag requires that the tag HAVE_DOT is set to YES.
+
+@@ -2255,12 +2602,24 @@
+
+ DIRECTORY_GRAPH = YES
+
++# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels
++# of child directories generated in directory dependency graphs by dot.
++# Minimum value: 1, maximum value: 25, default value: 1.
++# This tag requires that the tag DIRECTORY_GRAPH is set to YES.
++
++DIR_GRAPH_MAX_DEPTH = 1
++
+ # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+-# generated by dot.
++# generated by dot. For an explanation of the image formats see the section
++# output formats in the documentation of the dot tool (Graphviz (see:
++# http://www.graphviz.org/)).
+ # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+ # to make the SVG files visible in IE 9+ (other browsers do not have this
+ # requirement).
+-# Possible values are: png, jpg, gif and svg.
++# Possible values are: png, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd,
++# gif, gif:cairo, gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd,
++# png:cairo, png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
++# png:gdiplus:gdiplus.
+ # The default value is: png.
+ # This tag requires that the tag HAVE_DOT is set to YES.
+
+@@ -2303,6 +2662,24 @@
+
+ DIAFILE_DIRS =
+
++# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
++# path where java can find the plantuml.jar file or to the filename of jar file
++# to be used. If left blank, it is assumed PlantUML is not used or called during
++# a preprocessing step. Doxygen will generate a warning when it encounters a
++# \startuml command in this case and will not generate output for the diagram.
++
++PLANTUML_JAR_PATH =
++
++# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
++# configuration file for plantuml.
++
++PLANTUML_CFG_FILE =
++
++# When using plantuml, the specified paths are searched for files specified by
++# the !include statement in a plantuml block.
++
++PLANTUML_INCLUDE_PATH =
++
+ # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+ # that will be shown in the graph. If the number of nodes in a graph becomes
+ # larger than this value, doxygen will truncate the graph, which is visualized
+@@ -2339,7 +2716,7 @@
+
+ DOT_TRANSPARENT = NO
+
+-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
++# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+ # files in one run (i.e. multiple -o and -T options on the command line). This
+ # makes dot run faster, but since only newer versions of dot (>1.8.10) support
+ # this, this feature is disabled by default.
+@@ -2351,14 +2728,18 @@
+ # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+ # explaining the meaning of the various boxes and arrows in the dot generated
+ # graphs.
++# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal
++# graphical representation for inheritance and collaboration diagrams is used.
+ # The default value is: YES.
+ # This tag requires that the tag HAVE_DOT is set to YES.
+
+ GENERATE_LEGEND = YES
+
+-# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
++# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate
+ # files that are used to generate the various graphs.
++#
++# Note: This setting is not only used for dot files but also for msc temporary
++# files.
+ # The default value is: YES.
+-# This tag requires that the tag HAVE_DOT is set to YES.
+
+ DOT_CLEANUP = YES
+--- a/docs/DoxygenLayout.xml
++++ b/docs/DoxygenLayout.xml
+@@ -1,22 +1,36 @@
+ <doxygenlayout version="1.0">
+- <!-- Generated by doxygen 1.8.6 -->
++ <!-- Generated by doxygen 1.9.4 -->
+ <!-- Navigation index tabs for HTML output -->
+ <navindex>
+ <tab type="mainpage" visible="yes" title=""/>
+ <tab type="pages" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="" intro=""/>
+- <!--
+ <tab type="namespaces" visible="yes" title="">
+ <tab type="namespacelist" visible="yes" title="" intro=""/>
+ <tab type="namespacemembers" visible="yes" title="" intro=""/>
+ </tab>
++ <tab type="concepts" visible="yes" title="">
++ </tab>
++ <tab type="interfaces" visible="yes" title="">
++ <tab type="interfacelist" visible="yes" title="" intro=""/>
++ <tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
++ <tab type="interfacehierarchy" visible="yes" title="" intro=""/>
++ </tab>
+ <tab type="classes" visible="yes" title="">
+ <tab type="classlist" visible="yes" title="" intro=""/>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
+ <tab type="hierarchy" visible="yes" title="" intro=""/>
+ <tab type="classmembers" visible="yes" title="" intro=""/>
+ </tab>
+- -->
++ <tab type="structs" visible="yes" title="">
++ <tab type="structlist" visible="yes" title="" intro=""/>
++ <tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
++ </tab>
++ <tab type="exceptions" visible="yes" title="">
++ <tab type="exceptionlist" visible="yes" title="" intro=""/>
++ <tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
++ <tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
++ </tab>
+ <tab type="files" visible="yes" title="">
+ <tab type="filelist" visible="yes" title="" intro=""/>
+ <tab type="globals" visible="yes" title="" intro=""/>
+@@ -27,7 +41,7 @@
+ <!-- Layout definition for a class page -->
+ <class>
+ <briefdescription visible="yes"/>
+- <includes visible="$SHOW_INCLUDE_FILES"/>
++ <includes visible="$SHOW_HEADERFILE"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+ <memberdecl>
+@@ -89,8 +103,14 @@
+ <memberdecl>
+ <nestednamespaces visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
++ <interfaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
++ <concepts visible="yes" title=""/>
++ <structs visible="yes" title=""/>
++ <exceptions visible="yes" title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+@@ -100,6 +120,8 @@
+ <memberdef>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+@@ -107,6 +129,15 @@
+ <authorsection visible="yes"/>
+ </namespace>
+
++ <!-- Layout definition for a concept page -->
++ <concept>
++ <briefdescription visible="yes"/>
++ <includes visible="$SHOW_HEADERFILE"/>
++ <definition visible="yes" title=""/>
++ <detaileddescription title=""/>
++ <authorsection visible="yes"/>
++ </concept>
++
+ <!-- Layout definition for a file page -->
+ <file>
+ <briefdescription visible="yes"/>
+@@ -115,11 +146,17 @@
+ <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
+ <sourcelink visible="yes"/>
+ <memberdecl>
++ <interfaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
++ <structs visible="yes" title=""/>
++ <exceptions visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
++ <concepts visible="yes" title=""/>
+ <constantgroups visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+@@ -130,6 +167,8 @@
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <functions title=""/>
+ <variables title=""/>
+@@ -146,9 +185,12 @@
+ <dirs visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
++ <concepts visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>
+@@ -168,6 +210,8 @@
+ <inlineclasses title=""/>
+ <defines title=""/>
+ <typedefs title=""/>
++ <sequences title=""/>
++ <dictionaries title=""/>
+ <enums title=""/>
+ <enumvalues title=""/>
+ <functions title=""/>