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