From 5a64894ffadb23e52902156ada6c87ce8f8a3755 Mon Sep 17 00:00:00 2001 From: epochryphon Date: Sun, 17 May 2026 02:43:07 -0500 Subject: [PATCH] updated .gitignore --- .gitignore | 3 - documentation/html/README_8md.html | 81 - documentation/html/annotated.html | 86 - documentation/html/bc_s.png | Bin 676 -> 0 bytes documentation/html/bc_sd.png | Bin 635 -> 0 bytes documentation/html/classes.html | 87 - documentation/html/closed.png | Bin 132 -> 0 bytes documentation/html/dir_000002_000001.html | 82 - .../dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.html | 102 - ...r_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.map | 4 - ...r_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 | 1 - ...r_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.png | Bin 4565 -> 0 bytes .../dir_90c81d02fc708513d653b7a692be146e.html | 102 - ...r_90c81d02fc708513d653b7a692be146e_dep.map | 4 - ...r_90c81d02fc708513d653b7a692be146e_dep.md5 | 1 - ...r_90c81d02fc708513d653b7a692be146e_dep.png | Bin 4302 -> 0 bytes .../dir_a37174a683638c83c8672ee30c9f26b4.html | 111 - ...r_a37174a683638c83c8672ee30c9f26b4_dep.map | 6 - ...r_a37174a683638c83c8672ee30c9f26b4_dep.md5 | 1 - ...r_a37174a683638c83c8672ee30c9f26b4_dep.png | Bin 7076 -> 0 bytes .../dir_fa8e847d942c8fabd99ac1c662089f31.html | 109 - ...r_fa8e847d942c8fabd99ac1c662089f31_dep.map | 6 - ...r_fa8e847d942c8fabd99ac1c662089f31_dep.md5 | 1 - ...r_fa8e847d942c8fabd99ac1c662089f31_dep.png | Bin 5639 -> 0 bytes documentation/html/doc.svg | 12 - documentation/html/docd.svg | 12 - documentation/html/doxygen.css | 2045 ------------- documentation/html/doxygen.svg | 28 - documentation/html/dynsections.js | 192 -- documentation/html/files.html | 97 - documentation/html/folderclosed.svg | 11 - documentation/html/folderclosedd.svg | 11 - documentation/html/folderopen.svg | 17 - documentation/html/folderopend.svg | 12 - documentation/html/functions.html | 88 - documentation/html/functions_vars.html | 88 - documentation/html/globals.html | 99 - documentation/html/globals_func.html | 98 - documentation/html/globals_type.html | 81 - documentation/html/graph_legend.html | 141 - documentation/html/graph_legend.md5 | 1 - documentation/html/graph_legend.png | Bin 23370 -> 0 bytes documentation/html/index.html | 81 - ...internal__marigold__dynamic__array_8c.html | 85 - ...internal__marigold__dynamic__array_8h.html | 124 - ...l__marigold__dynamic__array_8h_source.html | 94 - documentation/html/jquery.js | 34 - documentation/html/main_8c.html | 132 - documentation/html/main_8c__incl.map | 13 - documentation/html/main_8c__incl.md5 | 1 - documentation/html/main_8c__incl.png | Bin 15725 -> 0 bytes .../html/marigold__dynamic__array_8c.html | 85 - .../html/marigold__dynamic__array_8h.html | 723 ----- ...marigold__dynamic__array_8h__dep__incl.map | 5 - ...marigold__dynamic__array_8h__dep__incl.md5 | 1 - ...marigold__dynamic__array_8h__dep__incl.png | Bin 8180 -> 0 bytes .../marigold__dynamic__array_8h__incl.map | 9 - .../marigold__dynamic__array_8h__incl.md5 | 1 - .../marigold__dynamic__array_8h__incl.png | Bin 10223 -> 0 bytes .../marigold__dynamic__array_8h_source.html | 181 -- documentation/html/md_README.html | 83 - documentation/html/menu.js | 136 - documentation/html/menudata.js | 39 - documentation/html/minus.svg | 8 - documentation/html/minusd.svg | 8 - documentation/html/nav_f.png | Bin 153 -> 0 bytes documentation/html/nav_fd.png | Bin 169 -> 0 bytes documentation/html/nav_g.png | Bin 95 -> 0 bytes documentation/html/nav_h.png | Bin 98 -> 0 bytes documentation/html/nav_hd.png | Bin 114 -> 0 bytes documentation/html/open.png | Bin 123 -> 0 bytes documentation/html/pages.html | 86 - documentation/html/plus.svg | 9 - documentation/html/plusd.svg | 9 - documentation/html/search/all_0.js | 5 - documentation/html/search/all_1.js | 21 - documentation/html/search/all_2.js | 4 - documentation/html/search/all_3.js | 7 - documentation/html/search/all_4.js | 9 - documentation/html/search/all_5.js | 4 - documentation/html/search/all_6.js | 4 - documentation/html/search/all_7.js | 4 - documentation/html/search/all_8.js | 6 - documentation/html/search/classes_0.js | 4 - documentation/html/search/close.svg | 18 - documentation/html/search/files_0.js | 5 - documentation/html/search/files_1.js | 6 - documentation/html/search/files_2.js | 4 - documentation/html/search/files_3.js | 6 - documentation/html/search/functions_0.js | 20 - documentation/html/search/functions_1.js | 4 - documentation/html/search/mag.svg | 24 - documentation/html/search/mag_d.svg | 24 - documentation/html/search/mag_sel.svg | 31 - documentation/html/search/mag_seld.svg | 31 - documentation/html/search/pages_0.js | 4 - documentation/html/search/search.css | 291 -- documentation/html/search/search.js | 840 ------ documentation/html/search/searchdata.js | 33 - documentation/html/search/typedefs_0.js | 4 - documentation/html/search/variables_0.js | 5 - documentation/html/search/variables_1.js | 4 - documentation/html/search/variables_2.js | 5 - documentation/html/search/variables_3.js | 4 - documentation/html/search/variables_4.js | 4 - documentation/html/search/variables_5.js | 4 - documentation/html/splitbar.png | Bin 314 -> 0 bytes documentation/html/splitbard.png | Bin 282 -> 0 bytes .../html/structdynamic__array-members.html | 92 - documentation/html/structdynamic__array.html | 222 -- documentation/html/sync_off.png | Bin 853 -> 0 bytes documentation/html/sync_on.png | Bin 845 -> 0 bytes documentation/html/tab_a.png | Bin 142 -> 0 bytes documentation/html/tab_ad.png | Bin 135 -> 0 bytes documentation/html/tab_b.png | Bin 169 -> 0 bytes documentation/html/tab_bd.png | Bin 173 -> 0 bytes documentation/html/tab_h.png | Bin 177 -> 0 bytes documentation/html/tab_hd.png | Bin 180 -> 0 bytes documentation/html/tab_s.png | Bin 184 -> 0 bytes documentation/html/tab_sd.png | Bin 188 -> 0 bytes documentation/html/tabs.css | 1 - documentation/html/test__main_8c.html | 85 - .../test__marigold__dynamic__array_8c.html | 85 - .../test__marigold__dynamic__array_8h.html | 87 - ...t__marigold__dynamic__array_8h_source.html | 90 - documentation/latex/Makefile | 27 - documentation/latex/README_8md.tex | 2 - documentation/latex/annotated.tex | 4 - .../dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.tex | 17 - ...r_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 | 1 - ...r_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.pdf | Bin 7573 -> 0 bytes .../dir_90c81d02fc708513d653b7a692be146e.tex | 17 - ...r_90c81d02fc708513d653b7a692be146e_dep.md5 | 1 - ...r_90c81d02fc708513d653b7a692be146e_dep.pdf | Bin 7886 -> 0 bytes .../dir_a37174a683638c83c8672ee30c9f26b4.tex | 24 - ...r_a37174a683638c83c8672ee30c9f26b4_dep.md5 | 1 - ...r_a37174a683638c83c8672ee30c9f26b4_dep.pdf | Bin 8236 -> 0 bytes .../dir_fa8e847d942c8fabd99ac1c662089f31.tex | 22 - ...r_fa8e847d942c8fabd99ac1c662089f31_dep.md5 | 1 - ...r_fa8e847d942c8fabd99ac1c662089f31_dep.pdf | Bin 8178 -> 0 bytes documentation/latex/doxygen.sty | 694 ----- documentation/latex/etoc_doxygen.sty | 2178 -------------- documentation/latex/files.tex | 11 - .../internal__marigold__dynamic__array_8c.tex | 2 - .../internal__marigold__dynamic__array_8h.tex | 27 - ...al__marigold__dynamic__array_8h_source.tex | 8 - documentation/latex/longtable_doxygen.sty | 456 --- documentation/latex/main_8c.tex | 26 - documentation/latex/main_8c__incl.md5 | 1 - documentation/latex/main_8c__incl.pdf | Bin 8697 -> 0 bytes .../latex/marigold__dynamic__array_8c.tex | 2 - .../latex/marigold__dynamic__array_8h.tex | 391 --- ...marigold__dynamic__array_8h__dep__incl.md5 | 1 - ...marigold__dynamic__array_8h__dep__incl.pdf | Bin 8045 -> 0 bytes .../marigold__dynamic__array_8h__incl.md5 | 1 - .../marigold__dynamic__array_8h__incl.pdf | Bin 8262 -> 0 bytes .../marigold__dynamic__array_8h_source.tex | 70 - documentation/latex/md_README.tex | 5 - documentation/latex/refman.tex | 238 -- documentation/latex/structdynamic__array.tex | 81 - documentation/latex/tabu_doxygen.sty | 2557 ----------------- documentation/latex/test__main_8c.tex | 2 - .../test__marigold__dynamic__array_8c.tex | 2 - .../test__marigold__dynamic__array_8h.tex | 2 - ...st__marigold__dynamic__array_8h_source.tex | 6 - intermediate_code/main.o | Bin 1560 -> 0 bytes 166 files changed, 14746 deletions(-) delete mode 100644 .gitignore delete mode 100644 documentation/html/README_8md.html delete mode 100644 documentation/html/annotated.html delete mode 100644 documentation/html/bc_s.png delete mode 100644 documentation/html/bc_sd.png delete mode 100644 documentation/html/classes.html delete mode 100644 documentation/html/closed.png delete mode 100644 documentation/html/dir_000002_000001.html delete mode 100644 documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.html delete mode 100644 documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.map delete mode 100644 documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 delete mode 100644 documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.png delete mode 100644 documentation/html/dir_90c81d02fc708513d653b7a692be146e.html delete mode 100644 documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.map delete mode 100644 documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.md5 delete mode 100644 documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.png delete mode 100644 documentation/html/dir_a37174a683638c83c8672ee30c9f26b4.html delete mode 100644 documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.map delete mode 100644 documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.md5 delete mode 100644 documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.png delete mode 100644 documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31.html delete mode 100644 documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.map delete mode 100644 documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 delete mode 100644 documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.png delete mode 100644 documentation/html/doc.svg delete mode 100644 documentation/html/docd.svg delete mode 100644 documentation/html/doxygen.css delete mode 100644 documentation/html/doxygen.svg delete mode 100644 documentation/html/dynsections.js delete mode 100644 documentation/html/files.html delete mode 100644 documentation/html/folderclosed.svg delete mode 100644 documentation/html/folderclosedd.svg delete mode 100644 documentation/html/folderopen.svg delete mode 100644 documentation/html/folderopend.svg delete mode 100644 documentation/html/functions.html delete mode 100644 documentation/html/functions_vars.html delete mode 100644 documentation/html/globals.html delete mode 100644 documentation/html/globals_func.html delete mode 100644 documentation/html/globals_type.html delete mode 100644 documentation/html/graph_legend.html delete mode 100644 documentation/html/graph_legend.md5 delete mode 100644 documentation/html/graph_legend.png delete mode 100644 documentation/html/index.html delete mode 100644 documentation/html/internal__marigold__dynamic__array_8c.html delete mode 100644 documentation/html/internal__marigold__dynamic__array_8h.html delete mode 100644 documentation/html/internal__marigold__dynamic__array_8h_source.html delete mode 100644 documentation/html/jquery.js delete mode 100644 documentation/html/main_8c.html delete mode 100644 documentation/html/main_8c__incl.map delete mode 100644 documentation/html/main_8c__incl.md5 delete mode 100644 documentation/html/main_8c__incl.png delete mode 100644 documentation/html/marigold__dynamic__array_8c.html delete mode 100644 documentation/html/marigold__dynamic__array_8h.html delete mode 100644 documentation/html/marigold__dynamic__array_8h__dep__incl.map delete mode 100644 documentation/html/marigold__dynamic__array_8h__dep__incl.md5 delete mode 100644 documentation/html/marigold__dynamic__array_8h__dep__incl.png delete mode 100644 documentation/html/marigold__dynamic__array_8h__incl.map delete mode 100644 documentation/html/marigold__dynamic__array_8h__incl.md5 delete mode 100644 documentation/html/marigold__dynamic__array_8h__incl.png delete mode 100644 documentation/html/marigold__dynamic__array_8h_source.html delete mode 100644 documentation/html/md_README.html delete mode 100644 documentation/html/menu.js delete mode 100644 documentation/html/menudata.js delete mode 100644 documentation/html/minus.svg delete mode 100644 documentation/html/minusd.svg delete mode 100644 documentation/html/nav_f.png delete mode 100644 documentation/html/nav_fd.png delete mode 100644 documentation/html/nav_g.png delete mode 100644 documentation/html/nav_h.png delete mode 100644 documentation/html/nav_hd.png delete mode 100644 documentation/html/open.png delete mode 100644 documentation/html/pages.html delete mode 100644 documentation/html/plus.svg delete mode 100644 documentation/html/plusd.svg delete mode 100644 documentation/html/search/all_0.js delete mode 100644 documentation/html/search/all_1.js delete mode 100644 documentation/html/search/all_2.js delete mode 100644 documentation/html/search/all_3.js delete mode 100644 documentation/html/search/all_4.js delete mode 100644 documentation/html/search/all_5.js delete mode 100644 documentation/html/search/all_6.js delete mode 100644 documentation/html/search/all_7.js delete mode 100644 documentation/html/search/all_8.js delete mode 100644 documentation/html/search/classes_0.js delete mode 100644 documentation/html/search/close.svg delete mode 100644 documentation/html/search/files_0.js delete mode 100644 documentation/html/search/files_1.js delete mode 100644 documentation/html/search/files_2.js delete mode 100644 documentation/html/search/files_3.js delete mode 100644 documentation/html/search/functions_0.js delete mode 100644 documentation/html/search/functions_1.js delete mode 100644 documentation/html/search/mag.svg delete mode 100644 documentation/html/search/mag_d.svg delete mode 100644 documentation/html/search/mag_sel.svg delete mode 100644 documentation/html/search/mag_seld.svg delete mode 100644 documentation/html/search/pages_0.js delete mode 100644 documentation/html/search/search.css delete mode 100644 documentation/html/search/search.js delete mode 100644 documentation/html/search/searchdata.js delete mode 100644 documentation/html/search/typedefs_0.js delete mode 100644 documentation/html/search/variables_0.js delete mode 100644 documentation/html/search/variables_1.js delete mode 100644 documentation/html/search/variables_2.js delete mode 100644 documentation/html/search/variables_3.js delete mode 100644 documentation/html/search/variables_4.js delete mode 100644 documentation/html/search/variables_5.js delete mode 100644 documentation/html/splitbar.png delete mode 100644 documentation/html/splitbard.png delete mode 100644 documentation/html/structdynamic__array-members.html delete mode 100644 documentation/html/structdynamic__array.html delete mode 100644 documentation/html/sync_off.png delete mode 100644 documentation/html/sync_on.png delete mode 100644 documentation/html/tab_a.png delete mode 100644 documentation/html/tab_ad.png delete mode 100644 documentation/html/tab_b.png delete mode 100644 documentation/html/tab_bd.png delete mode 100644 documentation/html/tab_h.png delete mode 100644 documentation/html/tab_hd.png delete mode 100644 documentation/html/tab_s.png delete mode 100644 documentation/html/tab_sd.png delete mode 100644 documentation/html/tabs.css delete mode 100644 documentation/html/test__main_8c.html delete mode 100644 documentation/html/test__marigold__dynamic__array_8c.html delete mode 100644 documentation/html/test__marigold__dynamic__array_8h.html delete mode 100644 documentation/html/test__marigold__dynamic__array_8h_source.html delete mode 100644 documentation/latex/Makefile delete mode 100644 documentation/latex/README_8md.tex delete mode 100644 documentation/latex/annotated.tex delete mode 100644 documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.tex delete mode 100644 documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 delete mode 100644 documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.pdf delete mode 100644 documentation/latex/dir_90c81d02fc708513d653b7a692be146e.tex delete mode 100644 documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.md5 delete mode 100644 documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.pdf delete mode 100644 documentation/latex/dir_a37174a683638c83c8672ee30c9f26b4.tex delete mode 100644 documentation/latex/dir_a37174a683638c83c8672ee30c9f26b4_dep.md5 delete mode 100644 documentation/latex/dir_a37174a683638c83c8672ee30c9f26b4_dep.pdf delete mode 100644 documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31.tex delete mode 100644 documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 delete mode 100644 documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.pdf delete mode 100644 documentation/latex/doxygen.sty delete mode 100644 documentation/latex/etoc_doxygen.sty delete mode 100644 documentation/latex/files.tex delete mode 100644 documentation/latex/internal__marigold__dynamic__array_8c.tex delete mode 100644 documentation/latex/internal__marigold__dynamic__array_8h.tex delete mode 100644 documentation/latex/internal__marigold__dynamic__array_8h_source.tex delete mode 100644 documentation/latex/longtable_doxygen.sty delete mode 100644 documentation/latex/main_8c.tex delete mode 100644 documentation/latex/main_8c__incl.md5 delete mode 100644 documentation/latex/main_8c__incl.pdf delete mode 100644 documentation/latex/marigold__dynamic__array_8c.tex delete mode 100644 documentation/latex/marigold__dynamic__array_8h.tex delete mode 100644 documentation/latex/marigold__dynamic__array_8h__dep__incl.md5 delete mode 100644 documentation/latex/marigold__dynamic__array_8h__dep__incl.pdf delete mode 100644 documentation/latex/marigold__dynamic__array_8h__incl.md5 delete mode 100644 documentation/latex/marigold__dynamic__array_8h__incl.pdf delete mode 100644 documentation/latex/marigold__dynamic__array_8h_source.tex delete mode 100644 documentation/latex/md_README.tex delete mode 100644 documentation/latex/refman.tex delete mode 100644 documentation/latex/structdynamic__array.tex delete mode 100644 documentation/latex/tabu_doxygen.sty delete mode 100644 documentation/latex/test__main_8c.tex delete mode 100644 documentation/latex/test__marigold__dynamic__array_8c.tex delete mode 100644 documentation/latex/test__marigold__dynamic__array_8h.tex delete mode 100644 documentation/latex/test__marigold__dynamic__array_8h_source.tex delete mode 100644 intermediate_code/main.o diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4e270e1..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -documentation/ -intermediate_code/ -build_output/ diff --git a/documentation/html/README_8md.html b/documentation/html/README_8md.html deleted file mode 100644 index ca0b6ed..0000000 --- a/documentation/html/README_8md.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -My Project: README.md File Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
-
README.md File Reference
-
-
-
- - - - diff --git a/documentation/html/annotated.html b/documentation/html/annotated.html deleted file mode 100644 index 9236cde..0000000 --- a/documentation/html/annotated.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -My Project: Class List - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
- - -
 Cdynamic_array
-
-
- - - - diff --git a/documentation/html/bc_s.png b/documentation/html/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/documentation/html/bc_sd.png b/documentation/html/bc_sd.png deleted file mode 100644 index 31ca888dc71049713b35c351933a8d0f36180bf1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ diff --git a/documentation/html/classes.html b/documentation/html/classes.html deleted file mode 100644 index 5a2e01f..0000000 --- a/documentation/html/classes.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -My Project: Class Index - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Class Index
-
-
- - -
- - - - diff --git a/documentation/html/closed.png b/documentation/html/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/documentation/html/dir_000002_000001.html b/documentation/html/dir_000002_000001.html deleted file mode 100644 index 225ae71..0000000 --- a/documentation/html/dir_000002_000001.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - -My Project: source_code -> MODULE_marigold_dynamic_array Relation - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-

source_code → MODULE_marigold_dynamic_array Relation

File in source_codeIncludes file in source_code/MODULE_marigold_dynamic_array
main.cmarigold_dynamic_array.h
- - - - diff --git a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.html b/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.html deleted file mode 100644 index 58c905b..0000000 --- a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/internal Directory Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
internal Directory Reference
-
-
-
-Directory dependency graph for internal:
-
-
source_code/MODULE_marigold_dynamic_array/internal
- - - - -
- - - - - - -

-Files

 internal_marigold_dynamic_array.c
 
 internal_marigold_dynamic_array.h
 
-
- - - - diff --git a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.map b/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.map deleted file mode 100644 index 0c034a6..0000000 --- a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 b/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 deleted file mode 100644 index 35175c6..0000000 --- a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c99d92860567e7349896677f0c3dd526 \ No newline at end of file diff --git a/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.png b/documentation/html/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.png deleted file mode 100644 index bf0c1940069d0f7f751efe40254a2eb128927f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4565 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 diff --git a/documentation/html/dir_90c81d02fc708513d653b7a692be146e.html b/documentation/html/dir_90c81d02fc708513d653b7a692be146e.html deleted file mode 100644 index a507bf4..0000000 --- a/documentation/html/dir_90c81d02fc708513d653b7a692be146e.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/tests Directory Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
tests Directory Reference
-
-
-
-Directory dependency graph for tests:
-
-
source_code/MODULE_marigold_dynamic_array/tests
- - - - -
- - - - - - -

-Files

 test_marigold_dynamic_array.c
 
 test_marigold_dynamic_array.h
 
-
- - - - diff --git a/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.map b/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.map deleted file mode 100644 index f6db76c..0000000 --- a/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.md5 b/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.md5 deleted file mode 100644 index dfa2b3b..0000000 --- a/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -b0e3329e8b60d4db8493b8c679d91ffe \ No newline at end of file diff --git a/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.png b/documentation/html/dir_90c81d02fc708513d653b7a692be146e_dep.png deleted file mode 100644 index 99ce5fccf306708d932ef97ebcac16a8563b00c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4302 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 diff --git a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4.html b/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4.html deleted file mode 100644 index b43c520..0000000 --- a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array Directory Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
MODULE_marigold_dynamic_array Directory Reference
-
-
-
-Directory dependency graph for MODULE_marigold_dynamic_array:
-
-
source_code/MODULE_marigold_dynamic_array
- - - - - - -
- - - - - - -

-Directories

 internal
 
 tests
 
- - - - - -

-Files

 marigold_dynamic_array.c
 
 marigold_dynamic_array.h
 
-
- - - - diff --git a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.map b/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.map deleted file mode 100644 index b244512..0000000 --- a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.md5 b/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.md5 deleted file mode 100644 index b1259ae..0000000 --- a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -6460d2dfdd176f03d8b354d2e4656819 \ No newline at end of file diff --git a/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.png b/documentation/html/dir_a37174a683638c83c8672ee30c9f26b4_dep.png deleted file mode 100644 index cde1c7a5fa2d197e08ac0324888703aec84a5722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7076 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 diff --git a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31.html b/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31.html deleted file mode 100644 index 5f93504..0000000 --- a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -My Project: source_code Directory Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
source_code Directory Reference
-
-
-
-Directory dependency graph for source_code:
-
-
source_code
- - - - - - -
- - - - -

-Directories

 MODULE_marigold_dynamic_array
 
- - - - - -

-Files

 main.c
 
 test_main.c
 
-
- - - - diff --git a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.map b/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.map deleted file mode 100644 index 0ca68aa..0000000 --- a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 b/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 deleted file mode 100644 index 727b09f..0000000 --- a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -0382bc33a805a775168fb415895ea64c \ No newline at end of file diff --git a/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.png b/documentation/html/dir_fa8e847d942c8fabd99ac1c662089f31_dep.png deleted file mode 100644 index e72ee938c6254effc9ce8200b96f776d84c8d7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5639 zcmb7IcQjmWx1SV(C?R?<(Rn3AH)^zK!GydB1|f*vdznN_M2p_rt3~wQXQGbLyNn6K z=-ps+b0>d&-(Bn8Z{7Qxwaz)~tmoNhujl#g-*4|73D!}gAYߐyk>MD8wz%3%e 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 F{tE=*7@hzC diff --git a/documentation/html/doc.svg b/documentation/html/doc.svg deleted file mode 100644 index 0b928a5..0000000 --- a/documentation/html/doc.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/documentation/html/docd.svg b/documentation/html/docd.svg deleted file mode 100644 index ac18b27..0000000 --- a/documentation/html/docd.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/documentation/html/doxygen.css b/documentation/html/doxygen.css deleted file mode 100644 index 009a9b5..0000000 --- a/documentation/html/doxygen.css +++ /dev/null @@ -1,2045 +0,0 @@ -/* The standard CSS for doxygen 1.9.8*/ - -html { -/* page base colors */ ---page-background-color: white; ---page-foreground-color: black; ---page-link-color: #3D578C; ---page-visited-link-color: #4665A2; - -/* index */ ---index-odd-item-bg-color: #F8F9FC; ---index-even-item-bg-color: white; ---index-header-color: black; ---index-separator-color: #A0A0A0; - -/* header */ ---header-background-color: #F9FAFC; ---header-separator-color: #C4CFE5; ---header-gradient-image: url('nav_h.png'); ---group-header-separator-color: #879ECB; ---group-header-color: #354C7B; ---inherit-header-color: gray; - ---footer-foreground-color: #2A3D61; ---footer-logo-width: 104px; ---citation-label-color: #334975; ---glow-color: cyan; - ---title-background-color: white; ---title-separator-color: #5373B4; ---directory-separator-color: #9CAFD4; ---separator-color: #4A6AAA; - ---blockquote-background-color: #F7F8FB; ---blockquote-border-color: #9CAFD4; - ---scrollbar-thumb-color: #9CAFD4; ---scrollbar-background-color: #F9FAFC; - ---icon-background-color: #728DC1; ---icon-foreground-color: white; ---icon-doc-image: url('doc.svg'); ---icon-folder-open-image: url('folderopen.svg'); ---icon-folder-closed-image: url('folderclosed.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #F9FAFC; ---memdecl-separator-color: #DEE4F0; ---memdecl-foreground-color: #555; ---memdecl-template-color: #4665A2; - -/* detailed member list */ ---memdef-border-color: #A8B8D9; ---memdef-title-background-color: #E2E8F2; ---memdef-title-gradient-image: url('nav_f.png'); ---memdef-proto-background-color: #DFE5F1; ---memdef-proto-text-color: #253555; ---memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---memdef-doc-background-color: white; ---memdef-param-name-color: #602020; ---memdef-template-color: #4665A2; - -/* tables */ ---table-cell-border-color: #2D4068; ---table-header-background-color: #374F7F; ---table-header-foreground-color: #FFFFFF; - -/* labels */ ---label-background-color: #728DC1; ---label-left-top-border-color: #5373B4; ---label-right-bottom-border-color: #C4CFE5; ---label-foreground-color: white; - -/** navigation bar/tree/menu */ ---nav-background-color: #F9FAFC; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_b.png'); ---nav-gradient-hover-image: url('tab_h.png'); ---nav-gradient-active-image: url('tab_a.png'); ---nav-gradient-active-image-parent: url("../tab_a.png"); ---nav-separator-image: url('tab_s.png'); ---nav-breadcrumb-image: url('bc_s.png'); ---nav-breadcrumb-border-color: #C2CDE4; ---nav-splitbar-image: url('splitbar.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #283A5D; ---nav-text-hover-color: white; ---nav-text-active-color: white; ---nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #364D7C; ---nav-menu-background-color: white; ---nav-menu-foreground-color: #555555; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.5); ---nav-arrow-color: #9CAFD4; ---nav-arrow-selected-color: #9CAFD4; - -/* table of contents */ ---toc-background-color: #F4F6FA; ---toc-border-color: #D8DFEE; ---toc-header-color: #4665A2; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: white; ---search-foreground-color: #909090; ---search-magnification-image: url('mag.svg'); ---search-magnification-select-image: url('mag_sel.svg'); ---search-active-color: black; ---search-filter-background-color: #F9FAFC; ---search-filter-foreground-color: black; ---search-filter-border-color: #90A5CE; ---search-filter-highlight-text-color: white; ---search-filter-highlight-bg-color: #3D578C; ---search-results-foreground-color: #425E97; ---search-results-background-color: #EEF1F7; ---search-results-border-color: black; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #555; - -/** code fragments */ ---code-keyword-color: #008000; ---code-type-keyword-color: #604020; ---code-flow-keyword-color: #E08000; ---code-comment-color: #800000; ---code-preprocessor-color: #806020; ---code-string-literal-color: #002080; ---code-char-literal-color: #008080; ---code-xml-cdata-color: black; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #000000; ---code-vhdl-keyword-color: #700070; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #4665A2; ---code-external-link-color: #4665A2; ---fragment-foreground-color: black; ---fragment-background-color: #FBFCFD; ---fragment-border-color: #C4CFE5; ---fragment-lineno-border-color: #00FF00; ---fragment-lineno-background-color: #E8E8E8; ---fragment-lineno-foreground-color: black; ---fragment-lineno-link-fg-color: #4665A2; ---fragment-lineno-link-bg-color: #D8D8D8; ---fragment-lineno-link-hover-fg-color: #4665A2; ---fragment-lineno-link-hover-bg-color: #C8C8C8; ---tooltip-foreground-color: black; ---tooltip-background-color: white; ---tooltip-border-color: gray; ---tooltip-doc-color: grey; ---tooltip-declaration-color: #006318; ---tooltip-link-color: #4665A2; ---tooltip-shadow: 1px 1px 7px gray; ---fold-line-color: #808080; ---fold-minus-image: url('minus.svg'); ---fold-plus-image: url('plus.svg'); ---fold-minus-image-relpath: url('../../minus.svg'); ---fold-plus-image-relpath: url('../../plus.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -} - -@media (prefers-color-scheme: dark) { - html:not(.dark-mode) { - color-scheme: dark; - -/* page base colors */ ---page-background-color: black; ---page-foreground-color: #C9D1D9; ---page-link-color: #90A5CE; ---page-visited-link-color: #A3B4D7; - -/* index */ ---index-odd-item-bg-color: #0B101A; ---index-even-item-bg-color: black; ---index-header-color: #C4CFE5; ---index-separator-color: #334975; - -/* header */ ---header-background-color: #070B11; ---header-separator-color: #141C2E; ---header-gradient-image: url('nav_hd.png'); ---group-header-separator-color: #283A5D; ---group-header-color: #90A5CE; ---inherit-header-color: #A0A0A0; - ---footer-foreground-color: #5B7AB7; ---footer-logo-width: 60px; ---citation-label-color: #90A5CE; ---glow-color: cyan; - ---title-background-color: #090D16; ---title-separator-color: #354C79; ---directory-separator-color: #283A5D; ---separator-color: #283A5D; - ---blockquote-background-color: #101826; ---blockquote-border-color: #283A5D; - ---scrollbar-thumb-color: #283A5D; ---scrollbar-background-color: #070B11; - ---icon-background-color: #334975; ---icon-foreground-color: #C4CFE5; ---icon-doc-image: url('docd.svg'); ---icon-folder-open-image: url('folderopend.svg'); ---icon-folder-closed-image: url('folderclosedd.svg'); - -/* brief member declaration list */ ---memdecl-background-color: #0B101A; ---memdecl-separator-color: #2C3F65; ---memdecl-foreground-color: #BBB; ---memdecl-template-color: #7C95C6; - -/* detailed member list */ ---memdef-border-color: #233250; ---memdef-title-background-color: #1B2840; ---memdef-title-gradient-image: url('nav_fd.png'); ---memdef-proto-background-color: #19243A; ---memdef-proto-text-color: #9DB0D4; ---memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); ---memdef-doc-background-color: black; ---memdef-param-name-color: #D28757; ---memdef-template-color: #7C95C6; - -/* tables */ ---table-cell-border-color: #283A5D; ---table-header-background-color: #283A5D; ---table-header-foreground-color: #C4CFE5; - -/* labels */ ---label-background-color: #354C7B; ---label-left-top-border-color: #4665A2; ---label-right-bottom-border-color: #283A5D; ---label-foreground-color: #CCCCCC; - -/** navigation bar/tree/menu */ ---nav-background-color: #101826; ---nav-foreground-color: #364D7C; ---nav-gradient-image: url('tab_bd.png'); ---nav-gradient-hover-image: url('tab_hd.png'); ---nav-gradient-active-image: url('tab_ad.png'); ---nav-gradient-active-image-parent: url("../tab_ad.png"); ---nav-separator-image: url('tab_sd.png'); ---nav-breadcrumb-image: url('bc_sd.png'); ---nav-breadcrumb-border-color: #2A3D61; ---nav-splitbar-image: url('splitbard.png'); ---nav-font-size-level1: 13px; ---nav-font-size-level2: 10px; ---nav-font-size-level3: 9px; ---nav-text-normal-color: #B6C4DF; ---nav-text-hover-color: #DCE2EF; ---nav-text-active-color: #DCE2EF; ---nav-text-normal-shadow: 0px 1px 1px black; ---nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); ---nav-menu-button-color: #B6C4DF; ---nav-menu-background-color: #05070C; ---nav-menu-foreground-color: #BBBBBB; ---nav-menu-toggle-color: rgba(255, 255, 255, 0.2); ---nav-arrow-color: #334975; ---nav-arrow-selected-color: #90A5CE; - -/* table of contents */ ---toc-background-color: #151E30; ---toc-border-color: #202E4A; ---toc-header-color: #A3B4D7; ---toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); - -/** search field */ ---search-background-color: black; ---search-foreground-color: #C5C5C5; ---search-magnification-image: url('mag_d.svg'); ---search-magnification-select-image: url('mag_seld.svg'); ---search-active-color: #C5C5C5; ---search-filter-background-color: #101826; ---search-filter-foreground-color: #90A5CE; ---search-filter-border-color: #7C95C6; ---search-filter-highlight-text-color: #BCC9E2; ---search-filter-highlight-bg-color: #283A5D; ---search-results-background-color: #101826; ---search-results-foreground-color: #90A5CE; ---search-results-border-color: #7C95C6; ---search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; - -/** code fragments */ ---code-keyword-color: #CC99CD; ---code-type-keyword-color: #AB99CD; ---code-flow-keyword-color: #E08000; ---code-comment-color: #717790; ---code-preprocessor-color: #65CABE; ---code-string-literal-color: #7EC699; ---code-char-literal-color: #00E0F0; ---code-xml-cdata-color: #C9D1D9; ---code-vhdl-digit-color: #FF00FF; ---code-vhdl-char-color: #C0C0C0; ---code-vhdl-keyword-color: #CF53C9; ---code-vhdl-logic-color: #FF0000; ---code-link-color: #79C0FF; ---code-external-link-color: #79C0FF; ---fragment-foreground-color: #C9D1D9; ---fragment-background-color: black; ---fragment-border-color: #30363D; ---fragment-lineno-border-color: #30363D; ---fragment-lineno-background-color: black; ---fragment-lineno-foreground-color: #6E7681; ---fragment-lineno-link-fg-color: #6E7681; ---fragment-lineno-link-bg-color: #303030; ---fragment-lineno-link-hover-fg-color: #8E96A1; ---fragment-lineno-link-hover-bg-color: #505050; ---tooltip-foreground-color: #C9D1D9; ---tooltip-background-color: #202020; ---tooltip-border-color: #C9D1D9; ---tooltip-doc-color: #D9E1E9; ---tooltip-declaration-color: #20C348; ---tooltip-link-color: #79C0FF; ---tooltip-shadow: none; ---fold-line-color: #808080; ---fold-minus-image: url('minusd.svg'); ---fold-plus-image: url('plusd.svg'); ---fold-minus-image-relpath: url('../../minusd.svg'); ---fold-plus-image-relpath: url('../../plusd.svg'); - -/** font-family */ ---font-family-normal: Roboto,sans-serif; ---font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; ---font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; ---font-family-title: Tahoma,Arial,sans-serif; ---font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; ---font-family-search: Arial,Verdana,sans-serif; ---font-family-icon: Arial,Helvetica; ---font-family-tooltip: Roboto,sans-serif; - -}} -body { - background-color: var(--page-background-color); - color: var(--page-foreground-color); -} - -body, table, div, p, dl { - font-weight: 400; - font-size: 14px; - font-family: var(--font-family-normal); - line-height: 22px; -} - -/* @group Heading Levels */ - -.title { - font-weight: 400; - font-size: 14px; - font-family: var(--font-family-normal); - line-height: 28px; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h1.groupheader { - font-size: 150%; -} - -h2.groupheader { - border-bottom: 1px solid var(--group-header-separator-color); - color: var(--group-header-color); - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px var(--glow-color); -} - -dt { - font-weight: bold; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -th p.starttd, th p.intertd, th p.endtd { - font-size: 100%; - font-weight: 700; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -p.interli { -} - -p.interdd { -} - -p.intertd { -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.navtab { - padding-right: 15px; - text-align: right; - line-height: 110%; -} - -div.navtab table { - border-spacing: 0; -} - -td.navtab { - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL { - background-image: var(--nav-gradient-active-image); - background-repeat:repeat-x; - padding-right: 6px; - padding-left: 6px; -} - -td.navtabHL a, td.navtabHL a:visited { - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -a.navtab { - font-weight: bold; -} - -div.qindex{ - text-align: center; - width: 100%; - line-height: 140%; - font-size: 130%; - color: var(--index-separator-color); -} - -#main-menu a:focus { - outline: auto; - z-index: 10; - position: relative; -} - -dt.alphachar{ - font-size: 180%; - font-weight: bold; -} - -.alphachar a{ - color: var(--index-header-color); -} - -.alphachar a:hover, .alphachar a:visited{ - text-decoration: none; -} - -.classindex dl { - padding: 25px; - column-count:1 -} - -.classindex dd { - display:inline-block; - margin-left: 50px; - width: 90%; - line-height: 1.15em; -} - -.classindex dl.even { - background-color: var(--index-even-item-bg-color); -} - -.classindex dl.odd { - background-color: var(--index-odd-item-bg-color); -} - -@media(min-width: 1120px) { - .classindex dl { - column-count:2 - } -} - -@media(min-width: 1320px) { - .classindex dl { - column-count:3 - } -} - - -/* @group Link Styling */ - -a { - color: var(--page-link-color); - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: var(--page-visited-link-color); -} - -a:hover { - text-decoration: underline; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: var(--code-link-color); -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: var(--code-external-link-color); -} - -a.code.hl_class { /* style for links to class names in code snippets */ } -a.code.hl_struct { /* style for links to struct names in code snippets */ } -a.code.hl_union { /* style for links to union names in code snippets */ } -a.code.hl_interface { /* style for links to interface names in code snippets */ } -a.code.hl_protocol { /* style for links to protocol names in code snippets */ } -a.code.hl_category { /* style for links to category names in code snippets */ } -a.code.hl_exception { /* style for links to exception names in code snippets */ } -a.code.hl_service { /* style for links to service names in code snippets */ } -a.code.hl_singleton { /* style for links to singleton names in code snippets */ } -a.code.hl_concept { /* style for links to concept names in code snippets */ } -a.code.hl_namespace { /* style for links to namespace names in code snippets */ } -a.code.hl_package { /* style for links to package names in code snippets */ } -a.code.hl_define { /* style for links to macro names in code snippets */ } -a.code.hl_function { /* style for links to function names in code snippets */ } -a.code.hl_variable { /* style for links to variable names in code snippets */ } -a.code.hl_typedef { /* style for links to typedef names in code snippets */ } -a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } -a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } -a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } -a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } -a.code.hl_friend { /* style for links to friend names in code snippets */ } -a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } -a.code.hl_property { /* style for links to property names in code snippets */ } -a.code.hl_event { /* style for links to event names in code snippets */ } -a.code.hl_sequence { /* style for links to sequence names in code snippets */ } -a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -ul { - overflow: visible; -} - -ul.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; - column-count: 3; - list-style-type: none; -} - -#side-nav ul { - overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ -} - -#main-nav ul { - overflow: visible; /* reset ul rule for the navigation bar drop down lists */ -} - -.fragment { - text-align: left; - direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ - overflow-y: hidden; -} - -pre.fragment { - border: 1px solid var(--fragment-border-color); - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: var(--font-family-monospace); - font-size: 105%; -} - -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - color: var(--fragment-foreground-color); - background-color: var(--fragment-background-color); - border: 1px solid var(--fragment-border-color); -} - -div.line { - font-family: var(--font-family-monospace); - font-size: 13px; - min-height: 13px; - line-height: 1.2; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: var(--glow-color); - box-shadow: 0 0 10px var(--glow-color); -} - -span.fold { - margin-left: 5px; - margin-right: 1px; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; - display: inline-block; - width: 12px; - height: 12px; - background-repeat:no-repeat; - background-position:center; -} - -span.lineno { - padding-right: 4px; - margin-right: 9px; - text-align: right; - border-right: 2px solid var(--fragment-lineno-border-color); - color: var(--fragment-lineno-foreground-color); - background-color: var(--fragment-lineno-background-color); - white-space: pre; -} -span.lineno a, span.lineno a:visited { - color: var(--fragment-lineno-link-fg-color); - background-color: var(--fragment-lineno-link-bg-color); -} - -span.lineno a:hover { - color: var(--fragment-lineno-link-hover-fg-color); - background-color: var(--fragment-lineno-link-hover-bg-color); -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - color: var(--page-foreground-color); - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -p.formulaDsp { - text-align: center; -} - -img.dark-mode-visible { - display: none; -} -img.light-mode-visible { - display: none; -} - -img.formulaDsp { - -} - -img.formulaInl, img.inline { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; - width: var(--footer-logo-width); -} - -.compoundTemplParams { - color: var(--memdecl-template-color); - font-size: 80%; - line-height: 120%; -} - -/* @group Code Colorization */ - -span.keyword { - color: var(--code-keyword-color); -} - -span.keywordtype { - color: var(--code-type-keyword-color); -} - -span.keywordflow { - color: var(--code-flow-keyword-color); -} - -span.comment { - color: var(--code-comment-color); -} - -span.preprocessor { - color: var(--code-preprocessor-color); -} - -span.stringliteral { - color: var(--code-string-literal-color); -} - -span.charliteral { - color: var(--code-char-literal-color); -} - -span.xmlcdata { - color: var(--code-xml-cdata-color); -} - -span.vhdldigit { - color: var(--code-vhdl-digit-color); -} - -span.vhdlchar { - color: var(--code-vhdl-char-color); -} - -span.vhdlkeyword { - color: var(--code-vhdl-keyword-color); -} - -span.vhdllogic { - color: var(--code-vhdl-logic-color); -} - -blockquote { - background-color: var(--blockquote-background-color); - border-left: 2px solid var(--blockquote-border-color); - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid var(--table-cell-border-color); -} - -th.dirtab { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid var(--separator-color); -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: var(--glow-color); - box-shadow: 0 0 15px var(--glow-color); -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: var(--memdecl-background-color); - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: var(--memdecl-foreground-color); -} - -.memSeparator { - border-bottom: 1px solid var(--memdecl-separator-color); - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight, .memTemplItemRight { - width: 100%; -} - -.memTemplParams { - color: var(--memdecl-template-color); - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: var(--memdef-title-gradient-image); - background-repeat: repeat-x; - background-color: var(--memdef-title-background-color); - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: var(--memdef-template-color); - font-weight: normal; - margin-left: 9px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px var(--glow-color); -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 0px 6px 0px; - color: var(--memdef-proto-text-color); - font-weight: bold; - text-shadow: var(--memdef-proto-text-shadow); - background-color: var(--memdef-proto-background-color); - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; -} - -.overload { - font-family: var(--font-family-monospace); - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid var(--memdef-border-color); - border-left: 1px solid var(--memdef-border-color); - border-right: 1px solid var(--memdef-border-color); - padding: 6px 10px 2px 10px; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: var(--memdef-doc-background-color); - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: var(--memdef-param-name-color); - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype, .tparams .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir, .tparams .paramdir { - font-family: var(--font-family-monospace); - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: var(--label-background-color); - border-top:1px solid var(--label-left-top-border-color); - border-left:1px solid var(--label-left-top-border-color); - border-right:1px solid var(--label-right-bottom-border-color); - border-bottom:1px solid var(--label-right-bottom-border-color); - text-shadow: none; - color: var(--label-foreground-color); - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid var(--directory-separator-color); - border-bottom: 1px solid var(--directory-separator-color); - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.odd { - padding-left: 6px; - background-color: var(--index-odd-item-bg-color); -} - -.directory tr.even { - padding-left: 6px; - background-color: var(--index-even-item-bg-color); -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: var(--page-link-color); -} - -.arrow { - color: var(--nav-arrow-color); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: var(--font-family-icon); - line-height: normal; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: var(--icon-background-color); - color: var(--icon-foreground-color); - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-open-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-folder-closed-image); - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:var(--icon-doc-image); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: var(--footer-foreground-color); -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid var(--table-cell-border-color); - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - margin-bottom: 10px; - border: 1px solid var(--memdef-border-color); - border-spacing: 0px; - border-radius: 4px; - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid var(--memdef-border-color); - border-bottom: 1px solid var(--memdef-border-color); - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid var(--memdef-border-color); -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image: var(--memdef-title-gradient-image); - background-repeat:repeat-x; - background-color: var(--memdef-title-background-color); - font-size: 90%; - color: var(--memdef-proto-text-color); - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid var(--memdef-border-color); -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: var(--nav-gradient-image); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image: var(--nav-gradient-image); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:var(--nav-text-normal-color); - border:solid 1px var(--nav-breadcrumb-border-color); - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:var(--nav-breadcrumb-image); - background-repeat:no-repeat; - background-position:right; - color: var(--nav-foreground-color); -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: var(--nav-text-normal-color); - font-family: var(--font-family-nav); - text-shadow: var(--nav-text-normal-shadow); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color: var(--nav-text-hover-color); - text-shadow: var(--nav-text-hover-shadow); -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color: var(--footer-foreground-color); - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image: var(--header-gradient-image); - background-repeat:repeat-x; - background-color: var(--header-background-color); - margin: 0px; - border-bottom: 1px solid var(--header-separator-color); -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -.PageDocRTL-title div.headertitle { - text-align: right; - direction: rtl; -} - -dl { - padding: 0 0 0 0; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ -dl.section { - margin-left: 0px; - padding-left: 0px; -} - -dl.note { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00D000; -} - -dl.deprecated { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #505050; -} - -dl.todo { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #00C0E0; -} - -dl.test { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #3030E0; -} - -dl.bug { - margin-left: -7px; - padding-left: 3px; - border-left: 4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectrow -{ - height: 56px; -} - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; - padding-left: 0.5em; -} - -#projectname -{ - font-size: 200%; - font-family: var(--font-family-title); - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font-size: 90%; - font-family: var(--font-family-title); - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font-size: 50%; - font-family: 50% var(--font-family-title); - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid var(--title-separator-color); - background-color: var(--title-background-color); -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:var(--citation-label-color); - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; - text-align:right; - width:52px; -} - -dl.citelist dd { - margin:2px 0 2px 72px; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: var(--toc-background-color); - border: 1px solid var(--toc-border-color); - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -div.toc li { - background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; - font: 10px/1.2 var(--font-family-toc); - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 var(--font-family-toc); - color: var(--toc-header-color); - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 15px; -} - -div.toc li.level4 { - margin-left: 15px; -} - -span.emoji { - /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html - * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; - */ -} - -span.obfuscator { - display: none; -} - -.inherit_header { - font-weight: bold; - color: var(--inherit-header-color); - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - /*white-space: nowrap;*/ - color: var(--tooltip-foreground-color); - background-color: var(--tooltip-background-color); - border: 1px solid var(--tooltip-border-color); - border-radius: 4px 4px 4px 4px; - box-shadow: var(--tooltip-shadow); - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: var(--tooltip-doc-color); - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip a { - color: var(--tooltip-link-color); -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: var(--tooltip-declaration-color); -} - -#powerTip div { - margin: 0px; - padding: 0px; - font-size: 12px; - font-family: var(--font-family-tooltip); - line-height: 16px; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: var(--tooltip-background-color); - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { - border-top-color: var(--tooltip-border-color); - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: var(--tooltip-background-color); - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: var(--tooltip-border-color); - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: var(--tooltip-border-color); - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: var(--tooltip-border-color); - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: var(--tooltip-border-color); - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: var(--tooltip-border-color); - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid var(--table-cell-border-color); - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: var(--table-header-background-color); - color: var(--table-header-foreground-color); - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - -tt, code, kbd, samp -{ - display: inline-block; -} -/* @end */ - -u { - text-decoration: underline; -} - -details>summary { - list-style-type: none; -} - -details > summary::-webkit-details-marker { - display: none; -} - -details>summary::before { - content: "\25ba"; - padding-right:4px; - font-size: 80%; -} - -details[open]>summary::before { - content: "\25bc"; - padding-right:4px; - font-size: 80%; -} - -body { - scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); -} - -::-webkit-scrollbar { - background-color: var(--scrollbar-background-color); - height: 12px; - width: 12px; -} -::-webkit-scrollbar-thumb { - border-radius: 6px; - box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); - border: solid 2px transparent; -} -::-webkit-scrollbar-corner { - background-color: var(--scrollbar-background-color); -} - diff --git a/documentation/html/doxygen.svg b/documentation/html/doxygen.svg deleted file mode 100644 index 79a7635..0000000 --- a/documentation/html/doxygen.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/documentation/html/dynsections.js b/documentation/html/dynsections.js deleted file mode 100644 index b73c828..0000000 --- a/documentation/html/dynsections.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); - $('table.directory tr'). - removeClass('odd').filter(':visible:odd').addClass('odd'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l'); - // add vertical lines to other rows - $('span[class=lineno]').not(':eq(0)').append(''); - // add toggle controls to lines with fold divs - $('div[class=foldopen]').each(function() { - // extract specific id to use - var id = $(this).attr('id').replace('foldopen',''); - // extract start and end foldable fragment attributes - var start = $(this).attr('data-start'); - var end = $(this).attr('data-end'); - // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); - // append div for folded (closed) representation - $(this).after(''); - // extract the first line from the "open" section to represent closed content - var line = $(this).children().first().clone(); - // remove any glow that might still be active on the original line - $(line).removeClass('glow'); - if (start) { - // if line already ends with a start marker (e.g. trailing {), remove it - $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); - } - // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); - // append ellipsis - $(line).append(' '+start+''+end); - // insert constructed line into closed div - $('#foldclosed'+id).html(line); - }); -} - -/* @license-end */ diff --git a/documentation/html/files.html b/documentation/html/files.html deleted file mode 100644 index 6fed059..0000000 --- a/documentation/html/files.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -My Project: File List - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
File List
-
- - - - - diff --git a/documentation/html/folderclosed.svg b/documentation/html/folderclosed.svg deleted file mode 100644 index b04bed2..0000000 --- a/documentation/html/folderclosed.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/documentation/html/folderclosedd.svg b/documentation/html/folderclosedd.svg deleted file mode 100644 index 52f0166..0000000 --- a/documentation/html/folderclosedd.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - diff --git a/documentation/html/folderopen.svg b/documentation/html/folderopen.svg deleted file mode 100644 index f6896dd..0000000 --- a/documentation/html/folderopen.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/documentation/html/folderopend.svg b/documentation/html/folderopend.svg deleted file mode 100644 index 2d1f06e..0000000 --- a/documentation/html/folderopend.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - diff --git a/documentation/html/functions.html b/documentation/html/functions.html deleted file mode 100644 index a220a44..0000000 --- a/documentation/html/functions.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -My Project: Class Members - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Here is a list of all class members with links to the classes they belong to:
-
- - - - diff --git a/documentation/html/functions_vars.html b/documentation/html/functions_vars.html deleted file mode 100644 index 0e049b6..0000000 --- a/documentation/html/functions_vars.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -My Project: Class Members - Variables - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Here is a list of all variables with links to the classes they belong to:
-
- - - - diff --git a/documentation/html/globals.html b/documentation/html/globals.html deleted file mode 100644 index 5727cb9..0000000 --- a/documentation/html/globals.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -My Project: File Members - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Here is a list of all file members with links to the files they belong to:
-
- - - - diff --git a/documentation/html/globals_func.html b/documentation/html/globals_func.html deleted file mode 100644 index 3fb37ad..0000000 --- a/documentation/html/globals_func.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -My Project: File Members - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Here is a list of all functions with links to the files they belong to:
-
- - - - diff --git a/documentation/html/globals_type.html b/documentation/html/globals_type.html deleted file mode 100644 index 5298d63..0000000 --- a/documentation/html/globals_type.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -My Project: File Members - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Here is a list of all typedefs with links to the files they belong to:
-
- - - - diff --git a/documentation/html/graph_legend.html b/documentation/html/graph_legend.html deleted file mode 100644 index ecc9d7b..0000000 --- a/documentation/html/graph_legend.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -My Project: Graph Legend - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
Graph Legend
-
-
-

This page explains how to interpret the graphs that are generated by doxygen.

-

Consider the following example:

/*! Invisible class because of truncation */
-
class Invisible { };
-
-
/*! Truncated class, inheritance relation is hidden */
-
class Truncated : public Invisible { };
-
-
/* Class not documented with doxygen comments */
-
class Undocumented { };
-
-
/*! Class that is inherited using public inheritance */
-
class PublicBase : public Truncated { };
-
-
/*! A template class */
-
template<class T> class Templ { };
-
-
/*! Class that is inherited using protected inheritance */
-
class ProtectedBase { };
-
-
/*! Class that is inherited using private inheritance */
-
class PrivateBase { };
-
-
/*! Class that is used by the Inherited class */
-
class Used { };
-
-
/*! Super class that inherits a number of other classes */
-
class Inherited : public PublicBase,
-
protected ProtectedBase,
-
private PrivateBase,
-
public Undocumented,
-
public Templ<int>
-
{
-
private:
-
Used *m_usedClass;
-
};
-

This will result in the following graph:

-

The boxes in the above graph have the following meaning:

-
    -
  • -A filled gray box represents the struct or class for which the graph is generated.
  • -
  • -A box with a black border denotes a documented struct or class.
  • -
  • -A box with a gray border denotes an undocumented struct or class.
  • -
  • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • -
-

The arrows have the following meaning:

-
    -
  • -A blue arrow is used to visualize a public inheritance relation between two classes.
  • -
  • -A dark green arrow is used for protected inheritance.
  • -
  • -A dark red arrow is used for private inheritance.
  • -
  • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • -
  • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • -
-
- - - - diff --git a/documentation/html/graph_legend.md5 b/documentation/html/graph_legend.md5 deleted file mode 100644 index da515da..0000000 --- a/documentation/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/documentation/html/graph_legend.png b/documentation/html/graph_legend.png deleted file mode 100644 index 15bf62a2f49d3dcd38283293de89b3390e2981b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23370 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 diff --git a/documentation/html/index.html b/documentation/html/index.html deleted file mode 100644 index a6ec34d..0000000 --- a/documentation/html/index.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -My Project: Main Page - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - -
- -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
My Project Documentation
-
-
-
- - - - diff --git a/documentation/html/internal__marigold__dynamic__array_8c.html b/documentation/html/internal__marigold__dynamic__array_8c.html deleted file mode 100644 index 8cd45c9..0000000 --- a/documentation/html/internal__marigold__dynamic__array_8c.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/internal/internal_marigold_dynamic_array.c File Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
internal_marigold_dynamic_array.c File Reference
-
-
-
- - - - diff --git a/documentation/html/internal__marigold__dynamic__array_8h.html b/documentation/html/internal__marigold__dynamic__array_8h.html deleted file mode 100644 index 652bb56..0000000 --- a/documentation/html/internal__marigold__dynamic__array_8h.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/internal/internal_marigold_dynamic_array.h File Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
- -
internal_marigold_dynamic_array.h File Reference
-
-
- -

Go to the source code of this file.

- - - - - -

-Functions

void dynamic_array_destroy (dynamic_array *array)
 Destroy a dynamic array and free its memory.
 
-

Function Documentation

- -

◆ dynamic_array_destroy()

- -
-
- - - - - - - - -
void dynamic_array_destroy (dynamic_arrayarray)
-
- -

Destroy a dynamic array and free its memory.

-

Frees the memory block and the array structure itself. Sets owner_count to 0 before freeing.

-
Parameters
- - -
arrayPointer to the dynamic_array to destroy.
-
-
- -
-
-
- - - - diff --git a/documentation/html/internal__marigold__dynamic__array_8h_source.html b/documentation/html/internal__marigold__dynamic__array_8h_source.html deleted file mode 100644 index e98f5bd..0000000 --- a/documentation/html/internal__marigold__dynamic__array_8h_source.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/internal/internal_marigold_dynamic_array.h Source File - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
internal_marigold_dynamic_array.h
-
-
-Go to the documentation of this file.
1
- -
void dynamic_array_destroy(dynamic_array *array)
Destroy a dynamic array and free its memory.
-
Definition marigold_dynamic_array.h:9
-
- - - - diff --git a/documentation/html/jquery.js b/documentation/html/jquery.js deleted file mode 100644 index 1dffb65..0000000 --- a/documentation/html/jquery.js +++ /dev/null @@ -1,34 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 - * http://www.smartmenus.org/ - * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/documentation/html/main_8c.html b/documentation/html/main_8c.html deleted file mode 100644 index 99c0639..0000000 --- a/documentation/html/main_8c.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -My Project: source_code/main.c File Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
- -
main.c File Reference
-
-
-
-Include dependency graph for main.c:
-
-
- - - - - - - - - - - - - -
-
- - - -

-Functions

int main (void)
 
-

Function Documentation

- -

◆ main()

- -
-
- - - - - - - - -
int main (void )
-
- -
-
-
- - - - diff --git a/documentation/html/main_8c__incl.map b/documentation/html/main_8c__incl.map deleted file mode 100644 index ebffdf8..0000000 --- a/documentation/html/main_8c__incl.map +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/documentation/html/main_8c__incl.md5 b/documentation/html/main_8c__incl.md5 deleted file mode 100644 index ab4ccce..0000000 --- a/documentation/html/main_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -817e8176cc03d44f8f197a52803dea21 \ No newline at end of file diff --git a/documentation/html/main_8c__incl.png b/documentation/html/main_8c__incl.png deleted file mode 100644 index 557ee6075b8abcbe049073e3a52a340946da061a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15725 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 - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/marigold_dynamic_array.c File Reference - - - - - - - - - - -
-
marigold_dynamic_array.c File Reference
-
-
-
- - - - diff --git a/documentation/html/marigold__dynamic__array_8h.html b/documentation/html/marigold__dynamic__array_8h.html deleted file mode 100644 index 2913745..0000000 --- a/documentation/html/marigold__dynamic__array_8h.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/marigold_dynamic_array.h File Reference - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
- -
marigold_dynamic_array.h File Reference
-
-
-
#include <stdbool.h>
-#include <stdint.h>
-#include <stdlib.h>
-
-Include dependency graph for marigold_dynamic_array.h:
-
-
- - - - - - - - - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - - -
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  dynamic_array
 
- - - -

-Typedefs

typedef struct dynamic_array dynamic_array
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

dynamic_arraydynamic_array_create (size_t item_size, unsigned int starting_capacity, unsigned char growth_factor, bool is_multithread_safe)
 Create and initialize a new dynamic array.
 
unsigned int dynamic_array_get_occupancy (const dynamic_array *array)
 Get the number of elements currently in the array.
 
unsigned int dynamic_array_get_capacity (const dynamic_array *array)
 Get the total capacity of the array.
 
void * dynamic_array_get_pointer_to_index (const dynamic_array *array, const unsigned int index)
 Get a pointer to the element at the specified index.
 
const void * dynamic_array_get_const_pointer_to_index (const dynamic_array *array, const unsigned int index)
 Get a const pointer to the element at the specified index.
 
bool dynamic_array_append (const dynamic_array *array, const void *element)
 Append an element to the end of the array.
 
bool dynamic_array_pop (const dynamic_array *array)
 Remove the last element from the array.
 
bool dynamic_array_remove (const dynamic_array *array, const unsigned int index)
 Remove an element at the specified index.
 
void dynamic_array_clear (const dynamic_array *array)
 Clear all elements from the array.
 
bool dynamic_array_is_empty (const dynamic_array *array)
 Check if the array is empty.
 
bool dynamic_array_increase_capacity (const dynamic_array *array, const unsigned int new_capacity)
 Reserve additional capacity without changing size.
 
bool dynamic_array_acquire (const dynamic_array *array)
 Increment the owner count for shared ownership.
 
bool dynamic_array_release (const dynamic_array *array)
 Decrement the owner count for shared ownership.
 
unsigned short dynamic_array_get_owner_count (const dynamic_array *array)
 Get the current owner count.
 
bool dynamic_array_is_thread_safe (const dynamic_array *array)
 Check if the array is thread-safe.
 
bool dynamic_array_clone (const dynamic_array *original_array, const dynamic_array *new_array)
 Creates a deep copy of the array.
 
-

Typedef Documentation

- -

◆ dynamic_array

- -
-
- - - - -
typedef struct dynamic_array dynamic_array
-
- -
-
-

Function Documentation

- -

◆ dynamic_array_acquire()

- -
-
- - - - - - - - -
bool dynamic_array_acquire (const dynamic_arrayarray)
-
- -

Increment the owner count for shared ownership.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
true on success, false if owner_count would overflow.
- -
-
- -

◆ dynamic_array_append()

- -
-
- - - - - - - - - - - - - - - - - - -
bool dynamic_array_append (const dynamic_arrayarray,
const void * element 
)
-
- -

Append an element to the end of the array.

-

Automatically resizes if current_size equals current_capacity.

-
Parameters
- - - -
arrayPointer to the dynamic_array.
elementPointer to the element to append.
-
-
-
Returns
true on success, false on allocation failure.
- -
-
- -

◆ dynamic_array_clear()

- -
-
- - - - - - - - -
void dynamic_array_clear (const dynamic_arrayarray)
-
- -

Clear all elements from the array.

-

Sets current_size to 0. Does not free the memory block.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
- -
-
- -

◆ dynamic_array_clone()

- -
-
- - - - - - - - - - - - - - - - - - -
bool dynamic_array_clone (const dynamic_arrayoriginal_array,
const dynamic_arraynew_array 
)
-
- -

Creates a deep copy of the array.

-
Parameters
- - -
arrayPointer to the copy being copied, and one to copy it onto. Must create your own struct instance.
-
-
-
Returns
true if creation is successful. False if it fails for any reason.
- -
-
- -

◆ dynamic_array_create()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dynamic_array * dynamic_array_create (size_t item_size,
unsigned int starting_capacity,
unsigned char growth_factor,
bool is_multithread_safe 
)
-
- -

Create and initialize a new dynamic array.

-

Creates a dynamic array with the specified item size and starting capacity. The growth_factor determines how the array expands when capacity is exceeded.

-
Parameters
- - - - - -
item_sizeSize of each element in bytes.
starting_capacityInitial number of elements to allocate space for.
growth_factorGrowth strategy: 0 = linear (+starting_capacity), 1 = 1.5x, 2+ = multiplier (2 = 2x, 3 = 3x, etc.)
is_multithread_safeIf true, enables thread-safe operations.
-
-
-
Returns
Pointer to the initialized dynamic_array, or NULL on failure.
- -
-
- -

◆ dynamic_array_get_capacity()

- -
-
- - - - - - - - -
unsigned int dynamic_array_get_capacity (const dynamic_arrayarray)
-
- -

Get the total capacity of the array.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
Total capacity (current_capacity).
- -
-
- -

◆ dynamic_array_get_const_pointer_to_index()

- -
-
- - - - - - - - - - - - - - - - - - -
const void * dynamic_array_get_const_pointer_to_index (const dynamic_arrayarray,
const unsigned int index 
)
-
- -

Get a const pointer to the element at the specified index.

-
Parameters
- - - -
arrayPointer to the dynamic_array.
indexIndex of the element to access.
-
-
-
Returns
Const pointer to the element, or NULL if index is out of bounds.
- -
-
- -

◆ dynamic_array_get_occupancy()

- -
-
- - - - - - - - -
unsigned int dynamic_array_get_occupancy (const dynamic_arrayarray)
-
- -

Get the number of elements currently in the array.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
Number of elements (current_size).
- -
-
- -

◆ dynamic_array_get_owner_count()

- -
-
- - - - - - - - -
unsigned short dynamic_array_get_owner_count (const dynamic_arrayarray)
-
- -

Get the current owner count.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
Current owner_count value.
- -
-
- -

◆ dynamic_array_get_pointer_to_index()

- -
-
- - - - - - - - - - - - - - - - - - -
void * dynamic_array_get_pointer_to_index (const dynamic_arrayarray,
const unsigned int index 
)
-
- -

Get a pointer to the element at the specified index.

-
Parameters
- - - -
arrayPointer to the dynamic_array.
indexIndex of the element to access.
-
-
-
Returns
Pointer to the element, or NULL if index is out of bounds.
- -
-
- -

◆ dynamic_array_increase_capacity()

- -
-
- - - - - - - - - - - - - - - - - - -
bool dynamic_array_increase_capacity (const dynamic_arrayarray,
const unsigned int new_capacity 
)
-
- -

Reserve additional capacity without changing size.

-
Parameters
- - - -
arrayPointer to the dynamic_array.
new_capacityDesired capacity.
-
-
-
Returns
true on success, false on allocation failure.
- -
-
- -

◆ dynamic_array_is_empty()

- -
-
- - - - - - - - -
bool dynamic_array_is_empty (const dynamic_arrayarray)
-
- -

Check if the array is empty.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
true if current_size is 0, false otherwise.
- -
-
- -

◆ dynamic_array_is_thread_safe()

- -
-
- - - - - - - - -
bool dynamic_array_is_thread_safe (const dynamic_arrayarray)
-
- -

Check if the array is thread-safe.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
true if is_multithread_safe is set, false otherwise.
- -
-
- -

◆ dynamic_array_pop()

- -
-
- - - - - - - - -
bool dynamic_array_pop (const dynamic_arrayarray)
-
- -

Remove the last element from the array.

-

Decrements current_size. Does not free the memory block.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
true on success, false if array is empty.
- -
-
- -

◆ dynamic_array_release()

- -
-
- - - - - - - - -
bool dynamic_array_release (const dynamic_arrayarray)
-
- -

Decrement the owner count for shared ownership.

-

If owner_count reaches 0, the array is automatically destroyed.

-
Parameters
- - -
arrayPointer to the dynamic_array.
-
-
-
Returns
true if owner_count > 0 after decrement, false if destroyed.
- -
-
- -

◆ dynamic_array_remove()

- -
-
- - - - - - - - - - - - - - - - - - -
bool dynamic_array_remove (const dynamic_arrayarray,
const unsigned int index 
)
-
- -

Remove an element at the specified index.

-

Shifts subsequent elements down to fill the gap.

-
Parameters
- - - -
arrayPointer to the dynamic_array.
indexIndex of the element to remove.
-
-
-
Returns
true on success, false if index is out of bounds.
- -
-
-
- - - - diff --git a/documentation/html/marigold__dynamic__array_8h__dep__incl.map b/documentation/html/marigold__dynamic__array_8h__dep__incl.map deleted file mode 100644 index 9959284..0000000 --- a/documentation/html/marigold__dynamic__array_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/documentation/html/marigold__dynamic__array_8h__dep__incl.md5 b/documentation/html/marigold__dynamic__array_8h__dep__incl.md5 deleted file mode 100644 index b681be4..0000000 --- a/documentation/html/marigold__dynamic__array_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a588ee959016ae9d1111992968f97fbd \ No newline at end of file diff --git a/documentation/html/marigold__dynamic__array_8h__dep__incl.png b/documentation/html/marigold__dynamic__array_8h__dep__incl.png deleted file mode 100644 index 50835abf16a65444f6142d300e6d89221d826c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8180 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 YG&ApiXslm>F+P@@l(J;;vsVHC1;&V9egFUf diff --git a/documentation/html/marigold__dynamic__array_8h__incl.map b/documentation/html/marigold__dynamic__array_8h__incl.map deleted file mode 100644 index d395aef..0000000 --- a/documentation/html/marigold__dynamic__array_8h__incl.map +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/documentation/html/marigold__dynamic__array_8h__incl.md5 b/documentation/html/marigold__dynamic__array_8h__incl.md5 deleted file mode 100644 index 3887239..0000000 --- a/documentation/html/marigold__dynamic__array_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -eb1f80412660499a00498a75dfeda5f6 \ No newline at end of file diff --git a/documentation/html/marigold__dynamic__array_8h__incl.png b/documentation/html/marigold__dynamic__array_8h__incl.png deleted file mode 100644 index b91557fb9aeeb69b05151ad8766bc94f61a24ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10223 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 - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/marigold_dynamic_array.h Source File - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- - -
-
-
marigold_dynamic_array.h
-
-
-Go to the documentation of this file.
1#ifndef DYNAMIC_ARRAY_H
-
2#define DYNAMIC_ARRAY_H
-
3
-
4#include <stdbool.h>
-
5#include <stdint.h>
-
6#include <stdlib.h>
-
7
-
-
8typedef struct dynamic_array
-
9{
-
10 size_t item_size;
- -
12
-
13 unsigned int starting_capacity;
-
14 unsigned int current_capacity;
-
15 unsigned int current_size;
-
16
-
17 unsigned short owner_count;
-
18
-
19 unsigned char growth_factor;
- - -
-
22
- -
37 unsigned int starting_capacity,
-
38 unsigned char growth_factor,
-
39 bool is_multithread_safe);
-
40
-
47unsigned int dynamic_array_get_occupancy(const dynamic_array* array);
-
48
-
55unsigned int dynamic_array_get_capacity(const dynamic_array* array);
-
56
- -
65 const unsigned int index);
-
66
- -
75 const unsigned int index);
-
76
- -
87 const void* element);
-
88
- -
98
- -
109 const unsigned int index);
-
110
- -
119
- -
127
- -
136 const unsigned int new_capacity);
-
137
- -
145
- -
155
-
162unsigned short dynamic_array_get_owner_count(const dynamic_array* array);
-
163
- -
171
-
180bool dynamic_array_clone(const dynamic_array* original_array,
-
181 const dynamic_array* new_array);
-
182
-
183#endif /* DYNAMIC_ARRAY_H */
-
bool dynamic_array_release(const dynamic_array *array)
Decrement the owner count for shared ownership.
-
dynamic_array * dynamic_array_create(size_t item_size, unsigned int starting_capacity, unsigned char growth_factor, bool is_multithread_safe)
Create and initialize a new dynamic array.
-
void dynamic_array_clear(const dynamic_array *array)
Clear all elements from the array.
-
bool dynamic_array_append(const dynamic_array *array, const void *element)
Append an element to the end of the array.
-
const void * dynamic_array_get_const_pointer_to_index(const dynamic_array *array, const unsigned int index)
Get a const pointer to the element at the specified index.
-
bool dynamic_array_remove(const dynamic_array *array, const unsigned int index)
Remove an element at the specified index.
-
bool dynamic_array_is_empty(const dynamic_array *array)
Check if the array is empty.
-
bool dynamic_array_pop(const dynamic_array *array)
Remove the last element from the array.
-
unsigned int dynamic_array_get_capacity(const dynamic_array *array)
Get the total capacity of the array.
-
void * dynamic_array_get_pointer_to_index(const dynamic_array *array, const unsigned int index)
Get a pointer to the element at the specified index.
-
bool dynamic_array_increase_capacity(const dynamic_array *array, const unsigned int new_capacity)
Reserve additional capacity without changing size.
-
bool dynamic_array_clone(const dynamic_array *original_array, const dynamic_array *new_array)
Creates a deep copy of the array.
-
unsigned short dynamic_array_get_owner_count(const dynamic_array *array)
Get the current owner count.
-
bool dynamic_array_acquire(const dynamic_array *array)
Increment the owner count for shared ownership.
-
unsigned int dynamic_array_get_occupancy(const dynamic_array *array)
Get the number of elements currently in the array.
-
bool dynamic_array_is_thread_safe(const dynamic_array *array)
Check if the array is thread-safe.
-
Definition marigold_dynamic_array.h:9
-
unsigned short owner_count
Definition marigold_dynamic_array.h:17
-
void * memory_block_pointer
Definition marigold_dynamic_array.h:11
-
size_t item_size
Definition marigold_dynamic_array.h:10
-
unsigned int current_capacity
Definition marigold_dynamic_array.h:14
-
unsigned char growth_factor
Definition marigold_dynamic_array.h:19
-
unsigned int starting_capacity
Definition marigold_dynamic_array.h:13
-
unsigned int current_size
Definition marigold_dynamic_array.h:15
-
bool is_multithread_safe
Definition marigold_dynamic_array.h:20
-
- - - - diff --git a/documentation/html/md_README.html b/documentation/html/md_README.html deleted file mode 100644 index c9d20d7..0000000 --- a/documentation/html/md_README.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -My Project: marigold_dynamic_array - - - - - - - - - -
-
- - - - - - -
-
My Project -
-
-
- - - - - - - - -
-
- - -
-
-
-
-
-
Loading...
-
Searching...
-
No Matches
-
-
-
-
- -
-
-
marigold_dynamic_array
-
-
-

dynamic_array implementation in C99 with toggle-able thread-safety via mutex locks.

-
-
- - - - diff --git a/documentation/html/menu.js b/documentation/html/menu.js deleted file mode 100644 index b0b2693..0000000 --- a/documentation/html/menu.js +++ /dev/null @@ -1,136 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { - function makeTree(data,relPath) { - var result=''; - if ('children' in data) { - result+='
    '; - for (var i in data.children) { - var url; - var link; - link = data.children[i].url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - } else { - url = relPath+link; - } - result+='
  • '+ - data.children[i].text+''+ - makeTree(data.children[i],relPath)+'
  • '; - } - result+='
'; - } - return result; - } - var searchBoxHtml; - if (searchEnabled) { - if (serverSide) { - searchBoxHtml='
'+ - '
'+ - '
 '+ - ''+ - '
'+ - '
'+ - '
'+ - '
'; - } else { - searchBoxHtml='
'+ - ''+ - ' '+ - ''+ - ''+ - ''+ - ''+ - ''+ - '
'; - } - } - - $('#main-nav').before('
'+ - ''+ - ''+ - '
'); - $('#main-nav').append(makeTree(menudata,relPath)); - $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); - if (searchBoxHtml) { - $('#main-menu').append('
  • '); - } - var $mainMenuState = $('#main-menu-state'); - var prevWidth = 0; - if ($mainMenuState.length) { - function initResizableIfExists() { - if (typeof initResizable==='function') initResizable(); - } - // animate mobile menu - $mainMenuState.change(function(e) { - var $menu = $('#main-menu'); - var options = { duration: 250, step: initResizableIfExists }; - if (this.checked) { - options['complete'] = function() { $menu.css('display', 'block') }; - $menu.hide().slideDown(options); - } else { - options['complete'] = function() { $menu.css('display', 'none') }; - $menu.show().slideUp(options); - } - }); - // set default menu visibility - function resetState() { - var $menu = $('#main-menu'); - var $mainMenuState = $('#main-menu-state'); - var newWidth = $(window).outerWidth(); - if (newWidth!=prevWidth) { - if ($(window).outerWidth()<768) { - $mainMenuState.prop('checked',false); $menu.hide(); - $('#searchBoxPos1').html(searchBoxHtml); - $('#searchBoxPos2').hide(); - } else { - $menu.show(); - $('#searchBoxPos1').empty(); - $('#searchBoxPos2').html(searchBoxHtml); - $('#searchBoxPos2').show(); - } - if (typeof searchBox!=='undefined') { - searchBox.CloseResultsWindow(); - } - prevWidth = newWidth; - } - } - $(window).ready(function() { resetState(); initResizableIfExists(); }); - $(window).resize(resetState); - } - $('#main-menu').smartmenus(); -} -/* @license-end */ diff --git a/documentation/html/menudata.js b/documentation/html/menudata.js deleted file mode 100644 index 37c3f4d..0000000 --- a/documentation/html/menudata.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file -*/ -var menudata={children:[ -{text:"Main Page",url:"index.html"}, -{text:"Related Pages",url:"pages.html"}, -{text:"Classes",url:"annotated.html",children:[ -{text:"Class List",url:"annotated.html"}, -{text:"Class Index",url:"classes.html"}, -{text:"Class Members",url:"functions.html",children:[ -{text:"All",url:"functions.html"}, -{text:"Variables",url:"functions_vars.html"}]}]}, -{text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}, -{text:"File Members",url:"globals.html",children:[ -{text:"All",url:"globals.html"}, -{text:"Functions",url:"globals_func.html"}, -{text:"Typedefs",url:"globals_type.html"}]}]}]} diff --git a/documentation/html/minus.svg b/documentation/html/minus.svg deleted file mode 100644 index f70d0c1..0000000 --- a/documentation/html/minus.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/documentation/html/minusd.svg b/documentation/html/minusd.svg deleted file mode 100644 index 5f8e879..0000000 --- a/documentation/html/minusd.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/documentation/html/nav_f.png b/documentation/html/nav_f.png deleted file mode 100644 index 72a58a529ed3a9ed6aa0c51a79cf207e026deee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U diff --git a/documentation/html/nav_fd.png b/documentation/html/nav_fd.png deleted file mode 100644 index 032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQU#tajv*C{Z|C~*H7f|XvG1G8 zt7aS*L7xwMeS}!z6R#{C5tIw-s~AJ==F^i}x3XyJseHR@yF& zerFf(Zf;Dd{+(0lDIROL@Sj-Ju2JQ8&-n%4%q?>|^bShc&lR?}7HeMo@BDl5N(aHY Uj$gdr1MOz;boFyt=akR{0D!zeaR2}S diff --git a/documentation/html/nav_g.png b/documentation/html/nav_g.png deleted file mode 100644 index 2093a237a94f6c83e19ec6e5fd42f7ddabdafa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL6W-eg#Jd_@e6*DPn)w;=|1H}Zvm9l6xXXB%>yL=NQU;mg M>FVdQ&MBb@0Bdt1Qvd(} diff --git a/documentation/html/open.png b/documentation/html/open.png deleted file mode 100644 index 30f75c7efe2dd0c9e956e35b69777a02751f048b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM - - - - - - -My Project: Related Pages - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    Related Pages
    -
    -
    -
    Here is a list of all related documentation pages:
    -
    - - - - diff --git a/documentation/html/plus.svg b/documentation/html/plus.svg deleted file mode 100644 index 0752016..0000000 --- a/documentation/html/plus.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/documentation/html/plusd.svg b/documentation/html/plusd.svg deleted file mode 100644 index 0c65bfe..0000000 --- a/documentation/html/plusd.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/documentation/html/search/all_0.js b/documentation/html/search/all_0.js deleted file mode 100644 index 525bc37..0000000 --- a/documentation/html/search/all_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['current_5fcapacity_0',['current_capacity',['../structdynamic__array.html#a633fcea60fb454a78a7a058e3bda0bbe',1,'dynamic_array']]], - ['current_5fsize_1',['current_size',['../structdynamic__array.html#ae7da5f21eb2bfdeff0e05b53598185c5',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_1.js b/documentation/html/search/all_1.js deleted file mode 100644 index 806d498..0000000 --- a/documentation/html/search/all_1.js +++ /dev/null @@ -1,21 +0,0 @@ -var searchData= -[ - ['dynamic_5farray_0',['dynamic_array',['../marigold__dynamic__array_8h.html#aa03749e816311cda5048f053a4bbc069',1,'dynamic_array: marigold_dynamic_array.h'],['../structdynamic__array.html',1,'dynamic_array']]], - ['dynamic_5farray_5facquire_1',['dynamic_array_acquire',['../marigold__dynamic__array_8h.html#af813494ee16c94e4f9d031be1665d2be',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fappend_2',['dynamic_array_append',['../marigold__dynamic__array_8h.html#a41f398054650aba92c3cf66e6278273f',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fclear_3',['dynamic_array_clear',['../marigold__dynamic__array_8h.html#a263862e1f35e8bde17a1ba9307b60785',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fclone_4',['dynamic_array_clone',['../marigold__dynamic__array_8h.html#ab26fb7035357345d1db2d2619a96112f',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fcreate_5',['dynamic_array_create',['../marigold__dynamic__array_8h.html#a12a619cb69a69466342cf46c4ed32ca0',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fdestroy_6',['dynamic_array_destroy',['../internal__marigold__dynamic__array_8h.html#a080efb0189640763472b0b75fd85ccb9',1,'internal_marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fcapacity_7',['dynamic_array_get_capacity',['../marigold__dynamic__array_8h.html#a97aef4192e7bf8bc6601a485b975e8a1',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fconst_5fpointer_5fto_5findex_8',['dynamic_array_get_const_pointer_to_index',['../marigold__dynamic__array_8h.html#a54614709f28d2da67d1349b39d449a64',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5foccupancy_9',['dynamic_array_get_occupancy',['../marigold__dynamic__array_8h.html#af82db6ce1a4c0277250ac4545b992517',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fowner_5fcount_10',['dynamic_array_get_owner_count',['../marigold__dynamic__array_8h.html#ac0fcc3f5599e1fbb2b14f48dc8cf1551',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fpointer_5fto_5findex_11',['dynamic_array_get_pointer_to_index',['../marigold__dynamic__array_8h.html#aa716a8b7cc3e7e4f2776445956b6f20c',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fincrease_5fcapacity_12',['dynamic_array_increase_capacity',['../marigold__dynamic__array_8h.html#ab10002f58472dcb5f04c04c56790640d',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fis_5fempty_13',['dynamic_array_is_empty',['../marigold__dynamic__array_8h.html#a860a30efb898e1e20631b95ae544ece9',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fis_5fthread_5fsafe_14',['dynamic_array_is_thread_safe',['../marigold__dynamic__array_8h.html#afd8d4acd91ed7b5260881faf93c2e265',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fpop_15',['dynamic_array_pop',['../marigold__dynamic__array_8h.html#a8ffd2d54341aa8daa04fdac517e85b0b',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5frelease_16',['dynamic_array_release',['../marigold__dynamic__array_8h.html#a0638d6e4c6aba0de9925609de03bd57a',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fremove_17',['dynamic_array_remove',['../marigold__dynamic__array_8h.html#a6c315e8471380136e9b4d1b17537481b',1,'marigold_dynamic_array.h']]] -]; diff --git a/documentation/html/search/all_2.js b/documentation/html/search/all_2.js deleted file mode 100644 index 25c1a1c..0000000 --- a/documentation/html/search/all_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['growth_5ffactor_0',['growth_factor',['../structdynamic__array.html#aa3d42a1672d2015f89d8c607124fa3e5',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_3.js b/documentation/html/search/all_3.js deleted file mode 100644 index 8648f61..0000000 --- a/documentation/html/search/all_3.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['internal_5fmarigold_5fdynamic_5farray_2ec_0',['internal_marigold_dynamic_array.c',['../internal__marigold__dynamic__array_8c.html',1,'']]], - ['internal_5fmarigold_5fdynamic_5farray_2eh_1',['internal_marigold_dynamic_array.h',['../internal__marigold__dynamic__array_8h.html',1,'']]], - ['is_5fmultithread_5fsafe_2',['is_multithread_safe',['../structdynamic__array.html#affeb533fae8aa1d8d80abc61e3380cc1',1,'dynamic_array']]], - ['item_5fsize_3',['item_size',['../structdynamic__array.html#a3b19d692a6b8539bc58551e39bf6dfaa',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_4.js b/documentation/html/search/all_4.js deleted file mode 100644 index 8b86e86..0000000 --- a/documentation/html/search/all_4.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['main_0',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]], - ['main_2ec_1',['main.c',['../main_8c.html',1,'']]], - ['marigold_5fdynamic_5farray_2',['marigold_dynamic_array',['../md_README.html',1,'']]], - ['marigold_5fdynamic_5farray_2ec_3',['marigold_dynamic_array.c',['../marigold__dynamic__array_8c.html',1,'']]], - ['marigold_5fdynamic_5farray_2eh_4',['marigold_dynamic_array.h',['../marigold__dynamic__array_8h.html',1,'']]], - ['memory_5fblock_5fpointer_5',['memory_block_pointer',['../structdynamic__array.html#a2fec64b33dac49cedbc5888cd8e8a846',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_5.js b/documentation/html/search/all_5.js deleted file mode 100644 index 845fbc8..0000000 --- a/documentation/html/search/all_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['owner_5fcount_0',['owner_count',['../structdynamic__array.html#a105f76026911ac2665bf25a73ecf30a6',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_6.js b/documentation/html/search/all_6.js deleted file mode 100644 index 9847676..0000000 --- a/documentation/html/search/all_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['readme_2emd_0',['README.md',['../README_8md.html',1,'']]] -]; diff --git a/documentation/html/search/all_7.js b/documentation/html/search/all_7.js deleted file mode 100644 index 2d26494..0000000 --- a/documentation/html/search/all_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['starting_5fcapacity_0',['starting_capacity',['../structdynamic__array.html#ac33ca1e3db1d4229852b9f36b62f2e08',1,'dynamic_array']]] -]; diff --git a/documentation/html/search/all_8.js b/documentation/html/search/all_8.js deleted file mode 100644 index f30956d..0000000 --- a/documentation/html/search/all_8.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['test_5fmain_2ec_0',['test_main.c',['../test__main_8c.html',1,'']]], - ['test_5fmarigold_5fdynamic_5farray_2ec_1',['test_marigold_dynamic_array.c',['../test__marigold__dynamic__array_8c.html',1,'']]], - ['test_5fmarigold_5fdynamic_5farray_2eh_2',['test_marigold_dynamic_array.h',['../test__marigold__dynamic__array_8h.html',1,'']]] -]; diff --git a/documentation/html/search/classes_0.js b/documentation/html/search/classes_0.js deleted file mode 100644 index e027d5e..0000000 --- a/documentation/html/search/classes_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['dynamic_5farray_0',['dynamic_array',['../structdynamic__array.html',1,'']]] -]; diff --git a/documentation/html/search/close.svg b/documentation/html/search/close.svg deleted file mode 100644 index 337d6cc..0000000 --- a/documentation/html/search/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - diff --git a/documentation/html/search/files_0.js b/documentation/html/search/files_0.js deleted file mode 100644 index 73a420f..0000000 --- a/documentation/html/search/files_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['internal_5fmarigold_5fdynamic_5farray_2ec_0',['internal_marigold_dynamic_array.c',['../internal__marigold__dynamic__array_8c.html',1,'']]], - ['internal_5fmarigold_5fdynamic_5farray_2eh_1',['internal_marigold_dynamic_array.h',['../internal__marigold__dynamic__array_8h.html',1,'']]] -]; diff --git a/documentation/html/search/files_1.js b/documentation/html/search/files_1.js deleted file mode 100644 index 63679af..0000000 --- a/documentation/html/search/files_1.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['main_2ec_0',['main.c',['../main_8c.html',1,'']]], - ['marigold_5fdynamic_5farray_2ec_1',['marigold_dynamic_array.c',['../marigold__dynamic__array_8c.html',1,'']]], - ['marigold_5fdynamic_5farray_2eh_2',['marigold_dynamic_array.h',['../marigold__dynamic__array_8h.html',1,'']]] -]; diff --git a/documentation/html/search/files_2.js b/documentation/html/search/files_2.js deleted file mode 100644 index 9847676..0000000 --- a/documentation/html/search/files_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['readme_2emd_0',['README.md',['../README_8md.html',1,'']]] -]; diff --git a/documentation/html/search/files_3.js b/documentation/html/search/files_3.js deleted file mode 100644 index f30956d..0000000 --- a/documentation/html/search/files_3.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['test_5fmain_2ec_0',['test_main.c',['../test__main_8c.html',1,'']]], - ['test_5fmarigold_5fdynamic_5farray_2ec_1',['test_marigold_dynamic_array.c',['../test__marigold__dynamic__array_8c.html',1,'']]], - ['test_5fmarigold_5fdynamic_5farray_2eh_2',['test_marigold_dynamic_array.h',['../test__marigold__dynamic__array_8h.html',1,'']]] -]; diff --git a/documentation/html/search/functions_0.js b/documentation/html/search/functions_0.js deleted file mode 100644 index 42b10da..0000000 --- a/documentation/html/search/functions_0.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['dynamic_5farray_5facquire_0',['dynamic_array_acquire',['../marigold__dynamic__array_8h.html#af813494ee16c94e4f9d031be1665d2be',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fappend_1',['dynamic_array_append',['../marigold__dynamic__array_8h.html#a41f398054650aba92c3cf66e6278273f',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fclear_2',['dynamic_array_clear',['../marigold__dynamic__array_8h.html#a263862e1f35e8bde17a1ba9307b60785',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fclone_3',['dynamic_array_clone',['../marigold__dynamic__array_8h.html#ab26fb7035357345d1db2d2619a96112f',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fcreate_4',['dynamic_array_create',['../marigold__dynamic__array_8h.html#a12a619cb69a69466342cf46c4ed32ca0',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fdestroy_5',['dynamic_array_destroy',['../internal__marigold__dynamic__array_8h.html#a080efb0189640763472b0b75fd85ccb9',1,'internal_marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fcapacity_6',['dynamic_array_get_capacity',['../marigold__dynamic__array_8h.html#a97aef4192e7bf8bc6601a485b975e8a1',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fconst_5fpointer_5fto_5findex_7',['dynamic_array_get_const_pointer_to_index',['../marigold__dynamic__array_8h.html#a54614709f28d2da67d1349b39d449a64',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5foccupancy_8',['dynamic_array_get_occupancy',['../marigold__dynamic__array_8h.html#af82db6ce1a4c0277250ac4545b992517',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fowner_5fcount_9',['dynamic_array_get_owner_count',['../marigold__dynamic__array_8h.html#ac0fcc3f5599e1fbb2b14f48dc8cf1551',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fget_5fpointer_5fto_5findex_10',['dynamic_array_get_pointer_to_index',['../marigold__dynamic__array_8h.html#aa716a8b7cc3e7e4f2776445956b6f20c',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fincrease_5fcapacity_11',['dynamic_array_increase_capacity',['../marigold__dynamic__array_8h.html#ab10002f58472dcb5f04c04c56790640d',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fis_5fempty_12',['dynamic_array_is_empty',['../marigold__dynamic__array_8h.html#a860a30efb898e1e20631b95ae544ece9',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fis_5fthread_5fsafe_13',['dynamic_array_is_thread_safe',['../marigold__dynamic__array_8h.html#afd8d4acd91ed7b5260881faf93c2e265',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fpop_14',['dynamic_array_pop',['../marigold__dynamic__array_8h.html#a8ffd2d54341aa8daa04fdac517e85b0b',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5frelease_15',['dynamic_array_release',['../marigold__dynamic__array_8h.html#a0638d6e4c6aba0de9925609de03bd57a',1,'marigold_dynamic_array.h']]], - ['dynamic_5farray_5fremove_16',['dynamic_array_remove',['../marigold__dynamic__array_8h.html#a6c315e8471380136e9b4d1b17537481b',1,'marigold_dynamic_array.h']]] -]; diff --git a/documentation/html/search/functions_1.js b/documentation/html/search/functions_1.js deleted file mode 100644 index a669209..0000000 --- a/documentation/html/search/functions_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['main_0',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]] -]; diff --git a/documentation/html/search/mag.svg b/documentation/html/search/mag.svg deleted file mode 100644 index ffb6cf0..0000000 --- a/documentation/html/search/mag.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/documentation/html/search/mag_d.svg b/documentation/html/search/mag_d.svg deleted file mode 100644 index 4122773..0000000 --- a/documentation/html/search/mag_d.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - diff --git a/documentation/html/search/mag_sel.svg b/documentation/html/search/mag_sel.svg deleted file mode 100644 index 553dba8..0000000 --- a/documentation/html/search/mag_sel.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/documentation/html/search/mag_seld.svg b/documentation/html/search/mag_seld.svg deleted file mode 100644 index c906f84..0000000 --- a/documentation/html/search/mag_seld.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/documentation/html/search/pages_0.js b/documentation/html/search/pages_0.js deleted file mode 100644 index 0af4197..0000000 --- a/documentation/html/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['marigold_5fdynamic_5farray_0',['marigold_dynamic_array',['../md_README.html',1,'']]] -]; diff --git a/documentation/html/search/search.css b/documentation/html/search/search.css deleted file mode 100644 index 19f76f9..0000000 --- a/documentation/html/search/search.css +++ /dev/null @@ -1,291 +0,0 @@ -/*---------------- Search Box positioning */ - -#main-menu > li:last-child { - /* This
  • object is the parent of the search bar */ - display: flex; - justify-content: center; - align-items: center; - height: 36px; - margin-right: 1em; -} - -/*---------------- Search box styling */ - -.SRPage * { - font-weight: normal; - line-height: normal; -} - -dark-mode-toggle { - margin-left: 5px; - display: flex; - float: right; -} - -#MSearchBox { - display: inline-block; - white-space : nowrap; - background: var(--search-background-color); - border-radius: 0.65em; - box-shadow: var(--search-box-shadow); - z-index: 102; -} - -#MSearchBox .left { - display: inline-block; - vertical-align: middle; - height: 1.4em; -} - -#MSearchSelect { - display: inline-block; - vertical-align: middle; - width: 20px; - height: 19px; - background-image: var(--search-magnification-select-image); - margin: 0 0 0 0.3em; - padding: 0; -} - -#MSearchSelectExt { - display: inline-block; - vertical-align: middle; - width: 10px; - height: 19px; - background-image: var(--search-magnification-image); - margin: 0 0 0 0.5em; - padding: 0; -} - - -#MSearchField { - display: inline-block; - vertical-align: middle; - width: 7.5em; - height: 19px; - margin: 0 0.15em; - padding: 0; - line-height: 1em; - border:none; - color: var(--search-foreground-color); - outline: none; - font-family: var(--font-family-search); - -webkit-border-radius: 0px; - border-radius: 0px; - background: none; -} - -@media(hover: none) { - /* to avoid zooming on iOS */ - #MSearchField { - font-size: 16px; - } -} - -#MSearchBox .right { - display: inline-block; - vertical-align: middle; - width: 1.4em; - height: 1.4em; -} - -#MSearchClose { - display: none; - font-size: inherit; - background : none; - border: none; - margin: 0; - padding: 0; - outline: none; - -} - -#MSearchCloseImg { - padding: 0.3em; - margin: 0; -} - -.MSearchBoxActive #MSearchField { - color: var(--search-active-color); -} - - - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid var(--search-filter-border-color); - background-color: var(--search-filter-background-color); - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt var(--font-family-search); - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: var(--font-family-monospace); - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: var(--search-filter-foreground-color); - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: var(--search-filter-foreground-color); - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: var(--search-filter-highlight-text-color); - background-color: var(--search-filter-highlight-bg-color); - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - /*width: 60ex;*/ - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid var(--search-results-border-color); - background-color: var(--search-results-background-color); - z-index:10000; - width: 300px; - height: 400px; - overflow: auto; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -div.SRPage { - margin: 5px 2px; - background-color: var(--search-results-background-color); -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: var(--search-results-foreground-color); - font-family: var(--font-family-search); - font-size: 8pt; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; - font-family: var(--font-family-search); -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; - font-family: var(--font-family-search); -} - -.SRResult { - display: none; -} - -div.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: var(--nav-gradient-active-image-parent); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/documentation/html/search/search.js b/documentation/html/search/search.js deleted file mode 100644 index 6fd40c6..0000000 --- a/documentation/html/search/search.js +++ /dev/null @@ -1,840 +0,0 @@ -/* - @licstart The following is the entire license notice for the JavaScript code in this file. - - The MIT License (MIT) - - Copyright (C) 1997-2020 by Dimitri van Heesch - - Permission is hereby granted, free of charge, to any person obtaining a copy of this software - and associated documentation files (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, publish, distribute, - sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or - substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - @licend The above is the entire license notice for the JavaScript code in this file - */ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - e.stopPropagation(); - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var jsFile; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; - } - - var loadJS = function(url, impl, loc){ - var scriptTag = document.createElement('script'); - scriptTag.src = url; - scriptTag.onload = impl; - scriptTag.onreadystatechange = impl; - loc.appendChild(scriptTag); - } - - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - var domSearchBox = this.DOMSearchBox(); - var domPopupSearchResults = this.DOMPopupSearchResults(); - var domSearchClose = this.DOMSearchClose(); - var resultsPath = this.resultsPath; - - var handleResults = function() { - document.getElementById("Loading").style.display="none"; - if (typeof searchData !== 'undefined') { - createResults(resultsPath); - document.getElementById("NoMatches").style.display="none"; - } - - if (idx!=-1) { - searchResults.Search(searchValue); - } else { // no file with search results => force empty search results - searchResults.Search('===='); - } - - if (domPopupSearchResultsWindow.style.display!='block') - { - domSearchClose.style.display = 'inline-block'; - var left = getXPos(domSearchBox) + 150; - var top = getYPos(domSearchBox) + 20; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - var maxWidth = document.body.clientWidth; - var maxHeight = document.body.clientHeight; - var width = 300; - if (left<10) left=10; - if (width+left+8>maxWidth) width=maxWidth-left-8; - var height = 400; - if (height+top+8>maxHeight) height=maxHeight-top-8; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResultsWindow.style.height = height + 'px'; - } - } - - if (jsFile) { - loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); - } else { - handleResults(); - } - - this.lastSearchValue = searchValue; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - this.searchActive = true; - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - this.DOMSearchField().value = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults(resultsPath) -{ - var results = document.getElementById("SRResults"); - results.innerHTML = ''; - for (var e=0; e-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T diff --git a/documentation/html/splitbard.png b/documentation/html/splitbard.png deleted file mode 100644 index 8367416d757fd7b6dc4272b6432dc75a75abd068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhhFKy35^fiT zT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQzjeE= zueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx`J||4O V@QB{^CqU0Kc)I$ztaD0e0svEzbJzd? diff --git a/documentation/html/structdynamic__array-members.html b/documentation/html/structdynamic__array-members.html deleted file mode 100644 index 13c191b..0000000 --- a/documentation/html/structdynamic__array-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -My Project: Member List - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    -
    dynamic_array Member List
    -
    - - - - - diff --git a/documentation/html/structdynamic__array.html b/documentation/html/structdynamic__array.html deleted file mode 100644 index 9f8ece8..0000000 --- a/documentation/html/structdynamic__array.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -My Project: dynamic_array Struct Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - -
    -
    - -
    dynamic_array Struct Reference
    -
    -
    - -

    #include <marigold_dynamic_array.h>

    - - - - - - - - - - - - - - - - - - -

    -Public Attributes

    size_t item_size
     
    void * memory_block_pointer
     
    unsigned int starting_capacity
     
    unsigned int current_capacity
     
    unsigned int current_size
     
    unsigned short owner_count
     
    unsigned char growth_factor
     
    bool is_multithread_safe
     
    -

    Member Data Documentation

    - -

    ◆ current_capacity

    - -
    -
    - - - - -
    unsigned int dynamic_array::current_capacity
    -
    - -
    -
    - -

    ◆ current_size

    - -
    -
    - - - - -
    unsigned int dynamic_array::current_size
    -
    - -
    -
    - -

    ◆ growth_factor

    - -
    -
    - - - - -
    unsigned char dynamic_array::growth_factor
    -
    - -
    -
    - -

    ◆ is_multithread_safe

    - -
    -
    - - - - -
    bool dynamic_array::is_multithread_safe
    -
    - -
    -
    - -

    ◆ item_size

    - -
    -
    - - - - -
    size_t dynamic_array::item_size
    -
    - -
    -
    - -

    ◆ memory_block_pointer

    - -
    -
    - - - - -
    void* dynamic_array::memory_block_pointer
    -
    - -
    -
    - -

    ◆ owner_count

    - -
    -
    - - - - -
    unsigned short dynamic_array::owner_count
    -
    - -
    -
    - -

    ◆ starting_capacity

    - -
    -
    - - - - -
    unsigned int dynamic_array::starting_capacity
    -
    - -
    -
    -
    The documentation for this struct was generated from the following file: -
    - - - - diff --git a/documentation/html/sync_off.png b/documentation/html/sync_off.png deleted file mode 100644 index 3b443fc62892114406e3d399421b2a881b897acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* diff --git a/documentation/html/sync_on.png b/documentation/html/sync_on.png deleted file mode 100644 index e08320fb64e6fa33b573005ed6d8fe294e19db76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 diff --git a/documentation/html/tab_a.png b/documentation/html/tab_a.png deleted file mode 100644 index 3b725c41c5a527a3a3e40097077d0e206a681247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 diff --git a/documentation/html/tab_ad.png b/documentation/html/tab_ad.png deleted file mode 100644 index e34850acfc24be58da6d2fd1ccc6b29cc84fe34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( diff --git a/documentation/html/tab_s.png b/documentation/html/tab_s.png deleted file mode 100644 index ab478c95b67371d700a20869f7de1ddd73522d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ diff --git a/documentation/html/tab_sd.png b/documentation/html/tab_sd.png deleted file mode 100644 index 757a565ced4730f85c833fb2547d8e199ae68f19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% diff --git a/documentation/html/tabs.css b/documentation/html/tabs.css deleted file mode 100644 index df7944b..0000000 --- a/documentation/html/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all 0.25s;transition:all 0.25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}#main-menu-state:not(:checked)~#main-menu{display:none}#main-menu-state:checked~#main-menu{display:block}@media (min-width: 768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked)~#main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:none}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} diff --git a/documentation/html/test__main_8c.html b/documentation/html/test__main_8c.html deleted file mode 100644 index acfa24e..0000000 --- a/documentation/html/test__main_8c.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -My Project: source_code/test_main.c File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    -
    test_main.c File Reference
    -
    -
    -
    - - - - diff --git a/documentation/html/test__marigold__dynamic__array_8c.html b/documentation/html/test__marigold__dynamic__array_8c.html deleted file mode 100644 index 9dd5d0b..0000000 --- a/documentation/html/test__marigold__dynamic__array_8c.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/tests/test_marigold_dynamic_array.c File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    -
    test_marigold_dynamic_array.c File Reference
    -
    -
    -
    - - - - diff --git a/documentation/html/test__marigold__dynamic__array_8h.html b/documentation/html/test__marigold__dynamic__array_8h.html deleted file mode 100644 index 8aae584..0000000 --- a/documentation/html/test__marigold__dynamic__array_8h.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/tests/test_marigold_dynamic_array.h File Reference - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    -
    test_marigold_dynamic_array.h File Reference
    -
    - - - - - diff --git a/documentation/html/test__marigold__dynamic__array_8h_source.html b/documentation/html/test__marigold__dynamic__array_8h_source.html deleted file mode 100644 index 276986b..0000000 --- a/documentation/html/test__marigold__dynamic__array_8h_source.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -My Project: source_code/MODULE_marigold_dynamic_array/tests/test_marigold_dynamic_array.h Source File - - - - - - - - - -
    -
    - - - - - - -
    -
    My Project -
    -
    -
    - - - - - - - - - -
    -
    - - -
    -
    -
    -
    -
    -
    Loading...
    -
    Searching...
    -
    No Matches
    -
    -
    -
    -
    - - -
    -
    -
    test_marigold_dynamic_array.h
    -
    - - - - - diff --git a/documentation/latex/Makefile b/documentation/latex/Makefile deleted file mode 100644 index 7f82972..0000000 --- a/documentation/latex/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -LATEX_CMD?=pdflatex -MKIDX_CMD?=makeindex -BIBTEX_CMD?=bibtex -LATEX_COUNT?=8 -MANUAL_FILE?=refman - -all: $(MANUAL_FILE).pdf - -pdf: $(MANUAL_FILE).pdf - -$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex - $(LATEX_CMD) $(MANUAL_FILE) - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) - latex_count=$(LATEX_COUNT) ; \ - while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - $(LATEX_CMD) $(MANUAL_FILE) ;\ - latex_count=`expr $$latex_count - 1` ;\ - done - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) - - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf diff --git a/documentation/latex/README_8md.tex b/documentation/latex/README_8md.tex deleted file mode 100644 index bebaf67..0000000 --- a/documentation/latex/README_8md.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{README.\+md File Reference} -\hypertarget{README_8md}{}\label{README_8md}\index{README.md@{README.md}} diff --git a/documentation/latex/annotated.tex b/documentation/latex/annotated.tex deleted file mode 100644 index 88a8f84..0000000 --- a/documentation/latex/annotated.tex +++ /dev/null @@ -1,4 +0,0 @@ -\doxysection{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} }{\pageref{structdynamic__array}}{} -\end{DoxyCompactList} diff --git a/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.tex b/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.tex deleted file mode 100644 index 32622e5..0000000 --- a/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/internal Directory Reference} -\hypertarget{dir_2cc67ec09dd8d7c49a4be4d708a4c3a4}{}\label{dir_2cc67ec09dd8d7c49a4be4d708a4c3a4}\index{source\_code/MODULE\_marigold\_dynamic\_array/internal Directory Reference@{source\_code/MODULE\_marigold\_dynamic\_array/internal Directory Reference}} -Directory dependency graph for internal\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=251pt]{dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{internal__marigold__dynamic__array_8c}{internal\+\_\+marigold\+\_\+dynamic\+\_\+array.\+c}} -\item -file \mbox{\hyperlink{internal__marigold__dynamic__array_8h}{internal\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h}} -\end{DoxyCompactItemize} diff --git a/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 b/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 deleted file mode 100644 index 35175c6..0000000 --- a/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -c99d92860567e7349896677f0c3dd526 \ No newline at end of file diff --git a/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.pdf b/documentation/latex/dir_2cc67ec09dd8d7c49a4be4d708a4c3a4_dep.pdf deleted file mode 100644 index eaaf2a1973942e61cc144c02a70e5cf01e1d86cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7573 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 Vv=0jVg4nGILd?Z=Q&WNXzW^=lBDVkl diff --git a/documentation/latex/dir_90c81d02fc708513d653b7a692be146e.tex b/documentation/latex/dir_90c81d02fc708513d653b7a692be146e.tex deleted file mode 100644 index 5fe9bb0..0000000 --- a/documentation/latex/dir_90c81d02fc708513d653b7a692be146e.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/tests Directory Reference} -\hypertarget{dir_90c81d02fc708513d653b7a692be146e}{}\label{dir_90c81d02fc708513d653b7a692be146e}\index{source\_code/MODULE\_marigold\_dynamic\_array/tests Directory Reference@{source\_code/MODULE\_marigold\_dynamic\_array/tests Directory Reference}} -Directory dependency graph for tests\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=251pt]{dir_90c81d02fc708513d653b7a692be146e_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{test__marigold__dynamic__array_8c}{test\+\_\+marigold\+\_\+dynamic\+\_\+array.\+c}} -\item -file \mbox{\hyperlink{test__marigold__dynamic__array_8h}{test\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h}} -\end{DoxyCompactItemize} diff --git a/documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.md5 b/documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.md5 deleted file mode 100644 index dfa2b3b..0000000 --- a/documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -b0e3329e8b60d4db8493b8c679d91ffe \ No newline at end of file diff --git a/documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.pdf b/documentation/latex/dir_90c81d02fc708513d653b7a692be146e_dep.pdf deleted file mode 100644 index ca3def061ca80c28aae9217ecec13a394dfb6563..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7886 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 Fe*hLbKQ;gW diff --git a/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31.tex b/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31.tex deleted file mode 100644 index 1c50592..0000000 --- a/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31.tex +++ /dev/null @@ -1,22 +0,0 @@ -\doxysection{source\+\_\+code Directory Reference} -\hypertarget{dir_fa8e847d942c8fabd99ac1c662089f31}{}\label{dir_fa8e847d942c8fabd99ac1c662089f31}\index{source\_code Directory Reference@{source\_code Directory Reference}} -Directory dependency graph for source\+\_\+code\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=268pt]{dir_fa8e847d942c8fabd99ac1c662089f31_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_a37174a683638c83c8672ee30c9f26b4}{MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{main_8c}{main.\+c}} -\item -file \mbox{\hyperlink{test__main_8c}{test\+\_\+main.\+c}} -\end{DoxyCompactItemize} diff --git a/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 b/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 deleted file mode 100644 index 727b09f..0000000 --- a/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -0382bc33a805a775168fb415895ea64c \ No newline at end of file diff --git a/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.pdf b/documentation/latex/dir_fa8e847d942c8fabd99ac1c662089f31_dep.pdf deleted file mode 100644 index c772850712f1e7e228328470fa8a4a394cce0187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8178 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\labelwidth}{% - \begin{minipage}{\textwidth}% - \setlength{\parindent}{0pt}% - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% - \end{minipage}% - }{% - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% - }% -} - -%---------- Commands used by doxygen LaTeX output generator ---------- - -% Used by
     ... 
    -\newenvironment{DoxyPre}{% - \small% - \begin{alltt}% -}{% - \end{alltt}% - \normalsize% -} -% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output. -\newlength{\CodeWidthChar} -\newlength{\CodeHeightChar} -\settowidth{\CodeWidthChar}{?} -\settoheight{\CodeHeightChar}{?} -% Necessary for hanging indent -\newlength{\DoxyCodeWidth} - -\newcommand\DoxyCodeLine[1]{ - \ifthenelse{\equal{\detokenize{#1}}{}} - { - \vspace*{\baselineskip} - } - { - \hangpara{\DoxyCodeWidth}{1}{#1}\par - } -} - -\newcommand\NiceSpace{% - \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}% -} - -% Used by @code ... @endcode -\newenvironment{DoxyCode}[1]{% - \par% - \scriptsize% - \normalfont\ttfamily% - \rightskip0pt plus 1fil% - \settowidth{\DoxyCodeWidth}{000000}% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{\equal{#1}{0}} - { - {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces% - } - { - {\lccode`~32 \lowercase{\global\let~}}\obeyspaces% - } - -}{% - \normalfont% - \normalsize% - \settowidth{\CodeWidthChar}{?}% - \settoheight{\CodeHeightChar}{?}% -} - -% Redefining not defined characters, i.e. "Replacement Character" in tex output. -\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{% - \textcolor{white}{\sffamily\bfseries\small ?}}{% - \rotatebox{45}{$\blacksquare$}}}} - -% Used by @example, @include, @includelineno and @dontinclude -\newenvironment{DoxyCodeInclude}[1]{% - \DoxyCode{#1}% -}{% - \endDoxyCode% -} - -% Used by @verbatim ... @endverbatim -\newenvironment{DoxyVerb}{% - \par% - \footnotesize% - \verbatim% -}{% - \endverbatim% - \normalsize% -} - -% Used by @verbinclude -\newenvironment{DoxyVerbInclude}{% - \DoxyVerb% -}{% - \endDoxyVerb% -} - -% Used by numbered lists (using '-#' or
      ...
    ) -\setlistdepth{12} -\newlist{DoxyEnumerate}{enumerate}{12} -\setlist[DoxyEnumerate,1]{label=\arabic*.} -\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,3]{label=\roman*.} -\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.} -\setlist[DoxyEnumerate,5]{label=\arabic*.} -\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,7]{label=\roman*.} -\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.} -\setlist[DoxyEnumerate,9]{label=\arabic*.} -\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)} -\setlist[DoxyEnumerate,11]{label=\roman*.} -\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.} - -% Used by bullet lists (using '-', @li, @arg, or
      ...
    ) -\setlistdepth{12} -\newlist{DoxyItemize}{itemize}{12} -\setlist[DoxyItemize]{label=\textperiodcentered} - -\setlist[DoxyItemize,1]{label=\textbullet} -\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash} -\setlist[DoxyItemize,3]{label=\textasteriskcentered} -\setlist[DoxyItemize,4]{label=\textperiodcentered} - -% Used by description lists (using
    ...
    ) -\newenvironment{DoxyDescription}{% - \description% -}{% - \enddescription% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if caption is specified) -\newenvironment{DoxyImage}{% - \begin{figure}[H]% - \centering% -}{% - \end{figure}% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if no caption is specified) -\newenvironment{DoxyImageNoCaption}{% - \begin{center}% -}{% - \end{center}% -} - -% Used by @image -% (only if inline is specified) -\newenvironment{DoxyInlineImage}{% -}{% -} - -% Used by @attention -\newenvironment{DoxyAttention}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @author and @authors -\newenvironment{DoxyAuthor}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @date -\newenvironment{DoxyDate}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @invariant -\newenvironment{DoxyInvariant}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @note -\newenvironment{DoxyNote}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @post -\newenvironment{DoxyPostcond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @pre -\newenvironment{DoxyPrecond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @copyright -\newenvironment{DoxyCopyright}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @remark -\newenvironment{DoxyRemark}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @return and @returns -\newenvironment{DoxyReturn}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @since -\newenvironment{DoxySince}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @see -\newenvironment{DoxySeeAlso}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @version -\newenvironment{DoxyVersion}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @warning -\newenvironment{DoxyWarning}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @par and @paragraph -\newenvironment{DoxyParagraph}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by parameter lists -\newenvironment{DoxyParams}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description - {\ifthenelse{\equal{#1}{1}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc - } - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields of simple structs -\newenvironment{DoxyFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for fields simple class style enums -\newenvironment{DoxyEnumFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for parameters within a detailed function description -\newenvironment{DoxyParamCaption}{% - \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% -}{% -} - -% Used by return value lists -\newenvironment{DoxyRetVals}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by exception lists -\newenvironment{DoxyExceptions}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used by template parameter lists -\newenvironment{DoxyTemplParams}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu*}% - \vspace{6pt}% -} - -% Used for member lists -\newenvironment{DoxyCompactItemize}{% - \begin{itemize}% - \setlength{\itemsep}{-3pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \setlength{\partopsep}{0pt}% -}{% - \end{itemize}% -} - -% Used for member descriptions -\newenvironment{DoxyCompactList}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \renewcommand{\makelabel}{\hfill}% - }% -}{% - \end{list}% -} - -% Used for reference lists (@bug, @deprecated, @todo, etc.) -\newenvironment{DoxyRefList}{% - \begin{list}{}{% - \setlength{\labelwidth}{10pt}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}% - \renewcommand{\makelabel}{\xreflabel}% - }% -}{% - \end{list}% -} - -% Used by @bug, @deprecated, @todo, etc. -\newenvironment{DoxyRefDesc}[1]{% - \begin{list}{}{% - \renewcommand\makelabel[1]{\textbf{##1}}% - \settowidth\labelwidth{\makelabel{#1}}% - \setlength\leftmargin{\labelwidth+\labelsep}% - }% -}{% - \end{list}% -} - -% Used by parameter lists and simple sections -\newenvironment{Desc} -{\begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - } -}{% - \end{list}% -} - -% Used by tables -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% -\newenvironment{TabularC}[1]% -{\tabulinesep=1mm -\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}% -{\end{longtabu*}\par}% - -\newenvironment{TabularNC}[1]% -{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}% -{\end{tabu}\par}% - -% Used for member group headers -\newenvironment{Indent}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - }% - \item[]\ignorespaces% -}{% - \unskip% - \end{list}% -} - -% Used when hyperlinks are turned on -\newcommand{\doxylink}[2]{% - \mbox{\hyperlink{#1}{#2}}% -} - -% Used when hyperlinks are turned on -% Third argument is the SectionType, see the doxygen internal -% documentation for the values (relevant: Page ... Subsubsection). -\newcommand{\doxysectlink}[3]{% - \mbox{\hyperlink{#1}{#2}}% -} -% Used when hyperlinks are turned off -\newcommand{\doxyref}[3]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used when hyperlinks are turned off -% Fourth argument is the SectionType, see the doxygen internal -% documentation for the values (relevant: Page ... Subsubsection). -\newcommand{\doxysectref}[4]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used to link to a table when hyperlinks are turned on -\newcommand{\doxytablelink}[2]{% - \ref{#1}% -} - -% Used to link to a table when hyperlinks are turned off -\newcommand{\doxytableref}[3]{% - \ref{#3}% -} - -% Used by @addindex -\newcommand{\lcurly}{\{} -\newcommand{\rcurly}{\}} - -% Colors used for syntax highlighting -\definecolor{comment}{rgb}{0.5,0.0,0.0} -\definecolor{keyword}{rgb}{0.0,0.5,0.0} -\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} -\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} -\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} -\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} -\definecolor{charliteral}{rgb}{0.0,0.5,0.5} -\definecolor{xmlcdata}{rgb}{0.0,0.0,0.0} -\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} -\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} -\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} -\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} - -% Color used for table heading -\newcommand{\tableheadbgcolor}{lightgray}% - -% Version of hypertarget with correct landing location -\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} - -% possibility to have sections etc. be within the margins -% unfortunately had to copy part of book.cls and add \raggedright -\makeatletter -\newcounter{subsubsubsection}[subsubsection] -\newcounter{subsubsubsubsection}[subsubsubsection] -\newcounter{subsubsubsubsubsection}[subsubsubsubsection] -\newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection] -\renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}} -\renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}} -\renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}} -\renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}} -\newcommand{\subsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsubsectionmark}[1]{} -\newcommand{\subsubsubsubsubsubsectionmark}[1]{} -\def\toclevel@subsubsubsection{4} -\def\toclevel@subsubsubsubsection{5} -\def\toclevel@subsubsubsubsubsection{6} -\def\toclevel@subsubsubsubsubsubsection{7} -\def\toclevel@paragraph{8} -\def\toclevel@subparagraph{9} - -\newcommand\doxysection{\@startsection {section}{1}{\z@}% - {-3.5ex \@plus -1ex \@minus -.2ex}% - {2.3ex \@plus.2ex}% - {\raggedright\normalfont\Large\bfseries}} -\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\large\bfseries}} -\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} -\newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}% - {-3.25ex\@plus -1ex \@minus -.2ex}% - {1.5ex \@plus .2ex}% - {\raggedright\normalfont\normalsize\bfseries}} - -\newcommand\l@subsubsubsection{\@dottedtocline{4}{6.1em}{7.8em}} -\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{6.1em}{9.4em}} -\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{6.1em}{11em}} -\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{6.1em}{12.6em}} -\renewcommand\l@paragraph{\@dottedtocline{8}{6.1em}{14.2em}} -\renewcommand\l@subparagraph{\@dottedtocline{9}{6.1em}{15.8em}} -\makeatother -% the sectsty doesn't look to be maintained but gives, in our case, some warning like: -% LaTeX Warning: Command \underline has changed. -% Check if current package is valid. -% unfortunately had to copy the relevant part -\newcommand*{\doxypartfont} [1] - {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1} - \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}} -\newcommand*{\doxychapterfont} [1] - {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1} - \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}} -\newcommand*{\doxysectionfont} [1] - {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubsectionfont} [1] - {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubsubsectionfont} [1] - {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxyparagraphfont} [1] - {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxysubparagraphfont} [1] - {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}} -\newcommand*{\doxyminisecfont} [1] - {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}} -\newcommand*{\doxyallsectionsfont} [1] {\doxypartfont{#1}% - \doxychapterfont{#1}% - \doxysectionfont{#1}% - \doxysubsectionfont{#1}% - \doxysubsubsectionfont{#1}% - \doxyparagraphfont{#1}% - \doxysubparagraphfont{#1}% - \doxyminisecfont{#1}}% -% Define caption that is also suitable in a table -\makeatletter -\def\doxyfigcaption{% -\H@refstepcounter{figure}% -\@dblarg{\@caption{figure}}} -\makeatother - -% Define alpha enumarative names for counters > 26 -\makeatletter -\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname} -\def\@enumalphalphcnt#1{\alphalph{#1}} -\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname} -\def\@enumAlphAlphcnt#1{\AlphAlph{#1}} -\makeatother -\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa} -\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA} diff --git a/documentation/latex/etoc_doxygen.sty b/documentation/latex/etoc_doxygen.sty deleted file mode 100644 index 5f7e127..0000000 --- a/documentation/latex/etoc_doxygen.sty +++ /dev/null @@ -1,2178 +0,0 @@ -%% -%% This is file etoc_doxygen.sty -%% -%% Apart from this header notice and the renaming from etoc to -%% etoc_doxygen (also in \ProvidesPackage) it is an identical -%% copy of -%% -%% etoc.sty -%% -%% at version 1.2b of 2023/07/01. -%% -%% This file has been provided to Doxygen team courtesy of the -%% author for benefit of users having a LaTeX installation not -%% yet providing version 1.2a or later of etoc, whose -%% deeplevels feature is required. -%% -%% The original source etoc.dtx (only of the latest version at -%% any given time) is available at -%% -%% https://ctan.org/pkg/etoc -%% -%% and contains the terms for copying and modification as well -%% as author contact information. -%% -%% In brief any modified versions of this file must be renamed -%% with new filenames distinct from etoc.sty. -%% -%% Package: etoc -%% Version: 1.2b -%% License: LPPL 1.3c -%% Copyright (C) 2012-2023 Jean-Francois B. -\NeedsTeXFormat{LaTeX2e}[2003/12/01] -\ProvidesPackage{etoc_doxygen}[2023/07/01 v1.2b Completely customisable TOCs (JFB)] -\newif\ifEtoc@oldLaTeX -\@ifl@t@r\fmtversion{2020/10/01} - {} - {\Etoc@oldLaTeXtrue - \PackageInfo{etoc}{Old LaTeX (\fmtversion) detected!\MessageBreak - Since 1.1a (2023/01/14), etoc prefers LaTeX at least\MessageBreak - as recent as 2020-10-01, for reasons of the .toc file,\MessageBreak - and used to require it (from 1.1a to 1.2).\MessageBreak - This etoc (1.2b) does not *require* it, but has not been\MessageBreak - tested thoroughly on old LaTeX (especially if document\MessageBreak - does not use hyperref) and retrofitting was done only\MessageBreak - on basis of author partial remembrances of old context.\MessageBreak - Reported}} -\RequirePackage{kvoptions} -\SetupKeyvalOptions{prefix=Etoc@} -\newif\ifEtoc@lof -\DeclareVoidOption{lof}{\Etoc@loftrue - \PackageInfo{etoc}{Experimental support for \string\locallistoffigures.\MessageBreak - Barely tested, use at own risk}% -} -\newif\ifEtoc@lot -\DeclareVoidOption{lot}{\Etoc@lottrue - \PackageInfo{etoc}{Experimental support for \string\locallistoftables.\MessageBreak - Barely tested, use at own risk}% -} -\@ifclassloaded{memoir}{ -\PackageInfo{etoc} - {As this is with memoir class, all `...totoc' options\MessageBreak - are set true by default. Reported} -\DeclareBoolOption[true]{maintoctotoc} -\DeclareBoolOption[true]{localtoctotoc} -\DeclareBoolOption[true]{localloftotoc} -\DeclareBoolOption[true]{locallottotoc} -}{ -\DeclareBoolOption[false]{maintoctotoc} -\DeclareBoolOption[false]{localtoctotoc} -\DeclareBoolOption[false]{localloftotoc} -\DeclareBoolOption[false]{locallottotoc} -} -\DeclareBoolOption[true]{ouroboros} -\DeclareBoolOption[false]{deeplevels} -\DeclareDefaultOption{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}} -\ProcessKeyvalOptions* -\DisableKeyvalOption[action=error,package=etoc]{etoc}{lof} -\DisableKeyvalOption[action=error,package=etoc]{etoc}{lot} -\DisableKeyvalOption[action=error,package=etoc]{etoc}{deeplevels} -\def\etocsetup#1{\setkeys{etoc}{#1}} -\def\etocifmaintoctotoc{\ifEtoc@maintoctotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocaltoctotoc{\ifEtoc@localtoctotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocalloftotoc{\ifEtoc@localloftotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\def\etociflocallottotoc{\ifEtoc@locallottotoc - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\RequirePackage{multicol} -\def\etoc@{\etoc@} -\long\def\Etoc@gobtoetoc@ #1\etoc@{} -\newtoks\Etoc@toctoks -\def\Etoc@par{\par} -\def\etocinline{\def\Etoc@par{}} -\let\etocnopar\etocinline -\def\etocdisplay{\def\Etoc@par{\par}} -\let\Etoc@global\@empty -\def\etocglobaldefs{\let\Etoc@global\global\let\tof@global\global} -\def\etoclocaldefs {\let\Etoc@global\@empty\let\tof@global\@empty} -\newif\ifEtoc@numbered -\newif\ifEtoc@hyperref -\newif\ifEtoc@parskip -\newif\ifEtoc@tocwithid -\newif\ifEtoc@standardlines -\newif\ifEtoc@etocstyle -\newif\ifEtoc@classstyle -\newif\ifEtoc@keeporiginaltoc -\newif\ifEtoc@skipprefix -\newif\ifEtoc@isfirst -\newif\ifEtoc@localtoc -\newif\ifEtoc@skipthisone -\newif\ifEtoc@stoptoc -\newif\ifEtoc@notactive -\newif\ifEtoc@mustclosegroup -\newif\ifEtoc@isemptytoc -\newif\ifEtoc@checksemptiness -\def\etocchecksemptiness {\Etoc@checksemptinesstrue } -\def\etocdoesnotcheckemptiness {\Etoc@checksemptinessfalse } -\newif\ifEtoc@notocifnotoc -\def\etocnotocifnotoc {\Etoc@checksemptinesstrue\Etoc@notocifnotoctrue } -\newcounter{etoc@tocid} -\def\Etoc@tocext{toc} -\def\Etoc@lofext{lof} -\def\Etoc@lotext{lot} -\let\Etoc@currext\Etoc@tocext -\def\etocifislocal{\ifEtoc@localtoc\expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi - } -\def\etocifislocaltoc{\etocifislocal{\ifx\Etoc@currext\Etoc@tocext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\def\etocifislocallof{\etocifislocal{\ifx\Etoc@currext\Etoc@lofext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\def\etocifislocallot{\etocifislocal{\ifx\Etoc@currext\Etoc@lotext - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo\fi}% - {\@secondoftwo}% - } -\expandafter\def\csname Etoc@-3@@\endcsname {-\thr@@} -\expandafter\def\csname Etoc@-2@@\endcsname {-\tw@} -\expandafter\let\csname Etoc@-1@@\endcsname \m@ne -\expandafter\let\csname Etoc@0@@\endcsname \z@ -\expandafter\let\csname Etoc@1@@\endcsname \@ne -\expandafter\let\csname Etoc@2@@\endcsname \tw@ -\expandafter\let\csname Etoc@3@@\endcsname \thr@@ -\expandafter\chardef\csname Etoc@4@@\endcsname 4 -\expandafter\chardef\csname Etoc@5@@\endcsname 5 -\expandafter\chardef\csname Etoc@6@@\endcsname 6 -\ifEtoc@deeplevels - \expandafter\chardef\csname Etoc@7@@\endcsname 7 - \expandafter\chardef\csname Etoc@8@@\endcsname 8 - \expandafter\chardef\csname Etoc@9@@\endcsname 9 - \expandafter\chardef\csname Etoc@10@@\endcsname 10 - \expandafter\chardef\csname Etoc@11@@\endcsname 11 - \expandafter\chardef\csname Etoc@12@@\endcsname 12 -\fi -\expandafter\let\expandafter\Etoc@maxlevel - \csname Etoc@\ifEtoc@deeplevels12\else6\fi @@\endcsname -\edef\etocthemaxlevel{\number\Etoc@maxlevel} -\@ifclassloaded{memoir}{\def\Etoc@minf{-\thr@@}}{\def\Etoc@minf{-\tw@}} -\let\Etoc@none@@ \Etoc@minf -\expandafter\let\expandafter\Etoc@all@@ - \csname Etoc@\ifEtoc@deeplevels11\else5\fi @@\endcsname -\let\Etoc@dolevels\@empty -\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@dolevels\expandafter - {\Etoc@dolevels\Etoc@do{#1}}} -\ifdefined\expanded - \def\etocsetlevel#1#2{\expanded{\noexpand\etoc@setlevel{#1}{#2}}}% -\else - \def\etocsetlevel#1#2{{\edef\Etoc@tmp{\noexpand\etoc@setlevel{#1}{#2}}\expandafter}\Etoc@tmp}% -\fi -\def\etoc@setlevel#1#2{% - \edef\Etoc@tmp{\the\numexpr#2}% - \if1\ifnum\Etoc@tmp>\Etoc@maxlevel0\fi\unless\ifnum\Etoc@minf<\Etoc@tmp;\fi1% - \ifEtoc@deeplevels - \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,% - .7,.8,.9,.10,.11,.12,}% - \else - \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,}% - \fi - \ifin@\else\if\@car#1\@nil @\in@true\fi\fi - \ifin@ - \PackageWarning{etoc} - {Sorry, but `#1' is forbidden as level name.\MessageBreak - \if\@car#1\@nil @% - (because of the @ as first character)\MessageBreak\fi - Reported}% - \else - \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% - \expandafter\let\csname Etoc@#1@@\expandafter\endcsname - \csname Etoc@\Etoc@tmp @@\endcsname - \expandafter\edef\csname Etoc@@#1@@\endcsname - {\expandafter\noexpand\csname Etoc@#1@@\endcsname}% - \expandafter\edef\csname toclevel@@#1\endcsname - {\expandafter\noexpand\csname toclevel@#1\endcsname}% - \fi - \else - \PackageWarning{etoc} - {Argument `\detokenize{#2}' of \string\etocsetlevel\space should - represent one of\MessageBreak - \ifnum\Etoc@minf=-\thr@@-2, \fi-1, 0, 1, 2, \ifEtoc@deeplevels ...\else3, 4\fi, - \the\numexpr\Etoc@maxlevel-1, or \number\Etoc@maxlevel\space - but evaluates to \Etoc@tmp.\MessageBreak - The level of `#1' will be set to \number\Etoc@maxlevel.\MessageBreak - Tables of contents will ignore `#1' as long\MessageBreak - as its level is \number\Etoc@maxlevel\space (=\string\etocthemaxlevel).% - \MessageBreak - Reported}% - \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}% - \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@maxlevel - \fi -} -\def\etoclevel#1{\csname Etoc@#1@@\endcsname} -\def\etocthelevel#1{\number\csname Etoc@#1@@\endcsname} -\def\etocifunknownlevelTF#1{\@ifundefined{Etoc@#1@@}} -\@ifclassloaded{memoir}{\etocsetlevel{book}{-2}}{} -\etocsetlevel{part}{-1} -\etocsetlevel{chapter}{0} -\etocsetlevel{section}{1} -\etocsetlevel{subsection}{2} -\etocsetlevel{subsubsection}{3} -\etocsetlevel{paragraph}{4} -\etocsetlevel{subparagraph}{5} -\ifdefined\c@chapter - \etocsetlevel{appendix}{0} -\else - \etocsetlevel{appendix}{1} -\fi -\def\Etoc@do#1{\@namedef{l@@#1}{\csname l@#1\endcsname}} -\Etoc@dolevels -\let\Etoc@figure@@\Etoc@maxlevel -\let\Etoc@table@@ \Etoc@maxlevel -\let\Etoc@gobblethreeorfour\@gobblefour -\ifdefined\@gobblethree - \let\Etoc@gobblethree\@gobblethree -\else - \long\def\Etoc@gobblethree#1#2#3{}% -\fi -\AtBeginDocument{% -\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}% -\@ifpackageloaded{hyperref} - {\Etoc@hyperreftrue} - {\ifEtoc@oldLaTeX - \let\Etoc@gobblethreeorfour\Etoc@gobblethree - \let\Etoc@etoccontentsline@fourargs\Etoc@etoccontentsline@ - \long\def\Etoc@etoccontentsline@#1#2#3{% - \Etoc@etoccontentsline@fourargs{#1}{#2}{#3}{}% - }% - \fi - }% -} -\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue } -\def\Etoc@updatestackofends#1\etoc@{\gdef\Etoc@stackofends{#1}} -\def\Etoc@stackofends{{-3}{}} -\def\Etoc@doendsandbegin{% - \expandafter\Etoc@traversestackofends\Etoc@stackofends\etoc@ -} -\def\Etoc@traversestackofends#1{% - \ifnum#1>\Etoc@level - \csname Etoc@end@#1\endcsname - \expandafter\Etoc@traversestackofends - \else - \Etoc@traversestackofends@done{#1}% - \fi -} -\def\Etoc@traversestackofends@done#1#2{#2% - \ifnum#1<\Etoc@level - \csname Etoc@begin@\the\numexpr\Etoc@level\endcsname - \Etoc@global\Etoc@isfirsttrue - \edef\Etoc@tmp{{\the\numexpr\Etoc@level}}% - \else - \Etoc@global\Etoc@isfirstfalse - \let\Etoc@tmp\@empty - \fi - \expandafter\Etoc@updatestackofends\Etoc@tmp{#1}% -} -\def\Etoc@etoccontentsline #1{% - \let\Etoc@next\Etoc@gobblethreeorfour - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \Etoc@skipthisonefalse - \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname - \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi - \ifEtoc@localtoc - \ifEtoc@stoptoc - \Etoc@skipthisonetrue - \else - \ifEtoc@notactive - \Etoc@skipthisonetrue - \else - \unless\ifnum\Etoc@level>\etoclocaltop - \Etoc@skipthisonetrue - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \ifEtoc@skipthisone - \else - \unless\ifnum\Etoc@level>\c@tocdepth - \ifEtoc@standardlines - \let\Etoc@next\Etoc@savedcontentsline - \else - \let\Etoc@next\Etoc@etoccontentsline@ - \fi - \fi - \fi - \fi - \Etoc@next{#1}% -} -\def\Etoc@etoccontentsline@ #1#2#3#4{% - \Etoc@doendsandbegin - \Etoc@global\edef\Etoc@prefix {\expandafter\noexpand - \csname Etoc@prefix@\the\numexpr\Etoc@level\endcsname }% - \Etoc@global\edef\Etoc@contents{\expandafter\noexpand - \csname Etoc@contents@\the\numexpr\Etoc@level\endcsname }% - \ifEtoc@skipprefix \Etoc@global\def\Etoc@prefix{\@empty}\fi - \global\Etoc@skipprefixfalse - \Etoc@lxyz{#2}{#3}{#4}% - \Etoc@prefix - \Etoc@contents -} -\def\Etoc@lxyz #1#2#3{% - \ifEtoc@hyperref - \Etoc@global\def\etocthelink##1{\hyperlink{#3}{##1}}% - \else - \Etoc@global\let\etocthelink\@firstofone - \fi - \Etoc@global\def\etocthepage {#2}% - \ifEtoc@hyperref - \ifx\etocthepage\@empty - \Etoc@global\let\etocthelinkedpage\@empty - \else - \Etoc@global\def\etocthelinkedpage{\hyperlink {#3}{#2}}% - \fi - \else - \Etoc@global\let\etocthelinkedpage\etocthepage - \fi - \Etoc@global\def\etocthename{#1}% - \futurelet\Etoc@getnb@token\Etoc@@getnb #1\hspace\etoc@ - \ifEtoc@hyperref - \def\Etoc@tmp##1##2{\Etoc@global\def##2{\hyperlink{#3}{##1}}}% - \expandafter\Etoc@tmp\expandafter{\etocthename}\etocthelinkedname - \ifEtoc@numbered - \expandafter\Etoc@tmp\expandafter{\etocthenumber}\etocthelinkednumber - \else - \Etoc@global\let\etocthelinkednumber\@empty - \fi - \else - \Etoc@global\let\etocthelinkedname \etocthename - \Etoc@global\let\etocthelinkednumber\etocthenumber - \fi - \Etoc@global\expandafter\let\csname etoclink \endcsname \etocthelink - \Etoc@global\expandafter\let\csname etocname \endcsname \etocthename - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthenumber - \Etoc@global\expandafter\let\csname etocpage \endcsname \etocthepage - \ifEtoc@hyperref - \Etoc@lxyz@linktoc - \fi -} -\def\Etoc@lxyz@linktoc{% - \ifcase\Hy@linktoc - \or - \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber - \or % page - \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage - \else % all - \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname - \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber - \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage - \fi -} -\def\Etoc@@getnb {% - \let\Etoc@next\Etoc@getnb - \ifx\Etoc@getnb@token\@sptoken\let\Etoc@next\Etoc@getnb@nonbr\fi - \ifx\Etoc@getnb@token\bgroup \let\Etoc@next\Etoc@getnb@nonbr\fi - \Etoc@next -} -\def\Etoc@getnb #1{% - \in@{#1}{\numberline\chapternumberline\partnumberline\booknumberline}% - \ifin@ - \let\Etoc@next\Etoc@getnb@nmbrd - \else - \ifnum\Etoc@level=\m@ne - \let\Etoc@next\Etoc@@getit - \else - \let\Etoc@next\Etoc@getnb@nonbr - \fi - \in@{#1}{\nonumberline}% - \ifin@ - \let\Etoc@next\Etoc@getnb@nonumberline - \fi - \fi - \Etoc@next #1% -} -\def\Etoc@getnb@nmbrd #1#2{% - \Etoc@global\Etoc@numberedtrue - \Etoc@global\def\etocthenumber {#2}% - \Etoc@getnb@nmbrd@getname\@empty -}% -\def\Etoc@getnb@nmbrd@getname #1\hspace\etoc@ {% - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% -} -\def\Etoc@getnb@nonbr #1\etoc@ {% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty -} -\def\Etoc@getnb@nonumberline #1\hspace\etoc@ {% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{\@gobble#1}% -} -\def\Etoc@@getit #1\hspace#2{% - \ifx\etoc@#2% - \Etoc@global\Etoc@numberedfalse - \Etoc@global\let\etocthenumber \@empty - \else - \Etoc@global\Etoc@numberedtrue - \Etoc@global\def\etocthenumber {#1}% - \expandafter\Etoc@getit@getname \expandafter\@empty - \fi -} -\def\Etoc@getit@getname #1\hspace\etoc@ {% - \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}% -} -\let\etocthename \@empty -\let\etocthenumber \@empty -\let\etocthepage \@empty -\let\etocthelinkedname \@empty -\let\etocthelinkednumber \@empty -\let\etocthelinkedpage \@empty -\let\etocthelink \@firstofone -\DeclareRobustCommand*{\etocname} {} -\DeclareRobustCommand*{\etocnumber}{} -\DeclareRobustCommand*{\etocpage} {} -\DeclareRobustCommand*{\etoclink} {\@firstofone} -\DeclareRobustCommand*{\etocifnumbered} - {\ifEtoc@numbered\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} -\expandafter\let\expandafter\etocxifnumbered\csname etocifnumbered \endcsname -\DeclareRobustCommand*{\etociffirst} - {\ifEtoc@isfirst\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} -\expandafter\let\expandafter\etocxiffirst\csname etociffirst \endcsname -\def\Etoc@readtoc {% - \ifeof \Etoc@tf - \else - \read \Etoc@tf to \Etoc@buffer - \Etoc@toctoks=\expandafter\expandafter\expandafter - {\expandafter\the\expandafter\Etoc@toctoks\Etoc@buffer}% - \expandafter\Etoc@readtoc - \fi -} -\Etoc@toctoks {}% (superfluous, but for clarity) -\AtBeginDocument{\IfFileExists{\jobname.toc} - {{\endlinechar=\m@ne - \makeatletter - \newread\Etoc@tf - \openin\Etoc@tf\@filef@und - \Etoc@readtoc - \global\Etoc@toctoks=\expandafter{\the\Etoc@toctoks}% - \closein\Etoc@tf}} - {\typeout{No file \jobname.toc.}}} -\def\Etoc@openouttoc{% - \ifEtoc@hyperref - \ifx\hyper@last\@undefined - \IfFileExists{\jobname .toc} - {\Hy@WarningNoLine - {old toc file detected; run LaTeX again (cheers from `etoc')}% - \global\Etoc@toctoks={}% - } - {}% - \fi - \fi - \if@filesw - \newwrite \tf@toc - \immediate \openout \tf@toc \jobname .toc\relax - \fi - \global\let\Etoc@openouttoc\empty -} -\def\Etoc@toctoc{% - \gdef\Etoc@stackofends{{-3}{}}% - \global\let\Etoc@level\Etoc@minf - \global\let\Etoc@virtualtop\Etoc@minf - \the\Etoc@toctoks - \ifEtoc@notactive - \else - \gdef\Etoc@level{-\thr@@}% - \Etoc@doendsandbegin - \fi -} -\def\Etoc@@startlocaltoc#1#2{% - \ifEtoc@localtoc - \ifnum #1=#2\relax - \global\let\etoclocaltop\Etoc@virtualtop - \Etoc@@startlocaltochook - \etoclocaltableofcontentshook - \ifEtoc@etocstyle - \etocetoclocaltocmaketitle - \fi - \ifx\Etoc@aftertitlehook\@empty - \else - \ifEtoc@localtoctotoc - \ifEtoc@ouroboros - \else - \let\Etoc@tmp\contentsline - \def\contentsline{\let\contentsline\Etoc@tmp\Etoc@gobblethreeorfour}% - \fi - \fi - \fi - \global\Etoc@notactivefalse - \fi - \fi -} -\let\etoc@startlocaltoc\@gobble -\let\Etoc@@startlocaltoc@toc\Etoc@@startlocaltoc -\let\Etoc@@startlocaltochook\@empty -\unless\ifEtoc@deeplevels - \def\etocdivisionnameatlevel#1{% - \ifcase\numexpr#1\relax - \ifdefined\c@chapter chapter\else section\fi% - \or section% - \or subsection% - \or subsubsection% - \or paragraph% - \or subparagraph% - \or empty% - \else\ifnum\numexpr#1<\m@ne - book% - \else - part% - \fi - \fi - } -\else - \def\etocdivisionnameatlevel#1{% - \ifcase\numexpr#1\relax - \ifdefined\c@chapter chapter\else section\fi% - \or section% - \or subsection% - \or subsubsection% - \or subsubsubsection% - \or subsubsubsubsection% - \or subsubsubsubsubsection% - \or subsubsubsubsubsubsection% - \or paragraph% - \or subparagraph% - \else\ifnum\numexpr#1>\z@ - empty% - \else\ifnum\numexpr#1=\m@ne - part% - \else - book% - \fi\fi - \fi - } -\fi -\def\etoclocalheadtotoc#1#2{\addcontentsline{toc}{@#1}{#2}} -\def\etocglobalheadtotoc{\addcontentsline{toc}} -\providecommand*\UseName{\@nameuse} -\def\etocetoclocaltocmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\localcontentsname}% - \if@noskipsec\leavevmode\par\fi - \etociflocaltoctotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\localcontentsname}% - }% - }% - {}% -}% -\def\localcontentsname {\contentsname}% -\let\etoclocaltableofcontentshook\@empty -\if1\ifEtoc@lof0\fi\ifEtoc@lot0\fi1% -\else -\AtBeginDocument{% - \let\Etoc@originaladdcontentsline\addcontentsline - \def\addcontentsline{\Etoc@hackedaddcontentsline}% -}% -\fi -\ifEtoc@lof - \ifEtoc@lot - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lof,.lot,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} - \else - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lof,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} - \fi -\else - \def\Etoc@hackedaddcontentsline#1{% - \expanded{\noexpand\in@{.#1,}}{.lot,}% - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}} -\fi -\def\Etoc@hackedaddcontentsline@i#1#2#3{% - \expanded{\noexpand\in@{.#1;#2,}}{.lof;figure,.lot;table,}% - \ifin@ - \addtocontents {toc}{% - \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% - \fi - \Etoc@originaladdcontentsline{#1}{#2}{#3}% -} -\unless\ifdefined\expanded - \def\Etoc@hackedaddcontentsline#1{% - {\edef\Etoc@tmp{\noexpand\in@{.#1,}{\ifEtoc@lof.lof,\fi\ifEtoc@lot.lot,\fi}}\expandafter}% - \Etoc@tmp - \ifin@\expandafter\Etoc@hackedaddcontentsline@i - \else\expandafter\Etoc@originaladdcontentsline - \fi {#1}% - } - \def\Etoc@hackedaddcontentsline@i#1#2#3{% - {\edef\Etoc@tmp{\noexpand\in@{.#1;#2,}}\expandafter}% - \Etoc@tmp{.lof;figure,.lot;table,}% - \ifin@ - \addtocontents {toc}{% - \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% - \fi - \Etoc@originaladdcontentsline{#1}{#2}{#3}% - } -\fi -\def\Etoc@@startlocallistof#1#2#3{% - \ifEtoc@localtoc - \ifnum #2=#3\relax - \global\let\etoclocaltop\Etoc@virtualtop - \global\Etoc@notactivefalse - \Etoc@@startlocaltochook - \csname etoclocallistof#1shook\endcsname - \ifEtoc@etocstyle - \csname etocetoclistof#1smaketitle\endcsname - \fi - \fi - \fi -} -\def\Etoc@@startlocallistof@setlevels#1{% - \ifnum\etoclocaltop<\z@ - \expandafter\let\csname Etoc@#1@@\endcsname\@ne - \else - \expandafter\let\csname Etoc@#1@@\expandafter\endcsname - \csname Etoc@\the\numexpr\etoclocaltop+\@ne @@\endcsname - \fi - \def\Etoc@do##1{% - \ifnum\etoclevel{##1}>\etoclocaltop - \expandafter\let\csname Etoc@##1@@\endcsname\Etoc@maxlevel - \fi}% - \Etoc@dolevels -} -\def\etoclocallistoffigureshook{\etocstandardlines} -\def\etoclocallistoftableshook {\etocstandardlines} -\def\locallistfigurename{\listfigurename} -\def\locallisttablename {\listtablename} -\def\etocetoclistoffiguresmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallistfigurename}% - \ifnum\etoclocaltop>\tw@\mbox{}\par\fi - \etociflocalloftotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\locallistfigurename}% - }% - }% - {}% -}% -\def\etocetoclistoftablesmaketitle{% - \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallisttablename}% - \ifnum\etoclocaltop>\tw@\mbox{}\par\fi - \etociflocallottotoc - {\etocifisstarred - {}% star variant, do not add to toc - {\etoclocalheadtotoc - {\etocdivisionnameatlevel{\etoclocaltop+1}}% - {\locallisttablename}% - }% - }% - {}% -}% -\let\Etoc@listofreset\@empty -\ifEtoc@lof - \def\locallistoffigures{% - \def\Etoc@listofreset{% - \let\Etoc@currext\Etoc@tocext - \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc - \let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty - \let\Etoc@listofhook\@empty - }% - \let\Etoc@currext\Etoc@lofext - \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{figure}}% - \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{figure}}% - \def\Etoc@listofhook{% - \def\Etoc@do####1{% - \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel - }% - \Etoc@dolevels - }% - \localtableofcontents - } -\else - \def\locallistoffigures{% - \PackageError{etoc}{% - \string\locallistoffigures \on@line\space but\MessageBreak - package was loaded without `lof' option}% - {Try again with \string\usepackage[lof]{etoc}}% - } -\fi -\ifEtoc@lot - \def\locallistoftables{% - \def\Etoc@listofreset{% - \let\Etoc@currext\Etoc@tocext - \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc - \let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty - \let\Etoc@listofhook\@empty - }% - \let\Etoc@currext\Etoc@lotext - \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{table}}% - \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{table}}% - \def\Etoc@listofhook{% - \def\Etoc@do####1{% - \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel - }% - \Etoc@dolevels - }% - \localtableofcontents - } -\else - \def\locallistoftables{% - \PackageError{etoc}{% - \string\locallistoftable \on@line\space but\MessageBreak - package was loaded without `lot' option}% - {Try again with \string\usepackage[lot]{etoc}}% - } -\fi -\def\Etoc@checkifempty {% - \global\Etoc@isemptytoctrue - \global\Etoc@stoptocfalse - \global\let\Etoc@level\Etoc@minf - \global\let\Etoc@virtualtop\Etoc@minf - \gdef\Etoc@stackofends{{-3}{}}% - \begingroup - \ifEtoc@localtoc - \def\etoc@startlocaltoc##1{% - \ifnum##1=\Etoc@tocid\relax - \global\let\etoclocaltop\Etoc@virtualtop - \Etoc@@startlocaltochook - \global\Etoc@notactivefalse - \fi - }% - \let\contentsline\Etoc@testingcontentslinelocal - \else - \let\contentsline\Etoc@testingcontentsline - \fi - \Etoc@storetocdepth - \let\Etoc@setlocaltop@doendsandbegin\@empty - \the\Etoc@toctoks - \Etoc@restoretocdepth - \endgroup -} -\DeclareRobustCommand*\etocifwasempty - {\ifEtoc@isemptytoc\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } -\expandafter\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname -\def\Etoc@testingcontentslinelocal #1{% - \ifEtoc@stoptoc - \else - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname - \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi - \ifEtoc@notactive - \else - \ifnum\Etoc@level>\etoclocaltop - \unless\ifnum\Etoc@level>\c@tocdepth - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \fi - \else - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \Etoc@gobblethreeorfour{}% -} -\def\Etoc@testingcontentsline #1{% - \ifEtoc@stoptoc - \else - \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel - \else - \unless\ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \Etoc@gobblethreeorfour{}% -} -\def\Etoc@localtableofcontents#1{% - \gdef\etoclocaltop{-\@m}% - \Etoc@localtoctrue - \global\Etoc@isemptytocfalse - \edef\Etoc@tocid{#1}% - \ifnum\Etoc@tocid<\@ne - \setbox0\hbox{\ref{Unknown toc ref \@secondoftwo#1. \space Rerun LaTeX}}% - \global\Etoc@stoptoctrue - \gdef\etoclocaltop{-\thr@@}% - \Etoc@tableofcontents - \expandafter\Etoc@gobtoetoc@ - \fi - \global\Etoc@notactivetrue - \ifEtoc@checksemptiness - \Etoc@checkifempty - \fi - \ifEtoc@isemptytoc - \ifEtoc@notactive - \setbox0\hbox{\ref{Unknown toc ID \number\Etoc@tocid. \space Rerun LaTeX}}% - \global\Etoc@isemptytocfalse - \global\Etoc@stoptoctrue - \gdef\etoclocaltop{-\thr@@}% - \Etoc@tableofcontents - \expandafter\expandafter\expandafter\Etoc@gobtoetoc@ - \fi - \else - \global\Etoc@stoptocfalse - \global\Etoc@notactivetrue - \edef\etoc@startlocaltoc##1% - {\noexpand\Etoc@@startlocaltoc{##1}{\Etoc@tocid}}% - \Etoc@tableofcontents - \fi - \@gobble\etoc@ - \endgroup\ifEtoc@mustclosegroup\endgroup\fi - \Etoc@tocdepthreset - \Etoc@listofreset - \etocaftertochook -}% \Etoc@localtableofcontents -\def\Etoc@getref #1{% - \@ifundefined{r@#1} - {0} - {\expandafter\Etoc@getref@i\romannumeral-`0% - \expandafter\expandafter\expandafter - \@car\csname r@#1\endcsname0\@nil\@etoc - }% -} -\def\Etoc@getref@i#1#2\@etoc{\ifnum9<1\string#1 #1#2\else 0\fi} -\def\Etoc@ref#1{\Etoc@localtableofcontents{\Etoc@getref{#1}}} -\def\Etoc@label#1{\label{#1}\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} -\@firstofone{\def\Etoc@again} {\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents} -\def\Etoc@dothis #1#2\etoc@ {\fi #1} -\def\Etoc@t@bleofcontents{% - \gdef\etoclocaltop{-\@M}% - \ifx\Etoc@nexttoken\label\Etoc@dothis{\expandafter\Etoc@label\@gobble}\fi - \ifx\Etoc@nexttoken\@sptoken\Etoc@dothis{\Etoc@again}\fi - \ifx\Etoc@nexttoken\ref\Etoc@dothis{\expandafter\Etoc@ref\@gobble}\fi - \ifEtoc@tocwithid\Etoc@dothis{\Etoc@localtableofcontents{\c@etoc@tocid}}\fi - \global\Etoc@isemptytocfalse - \ifEtoc@checksemptiness\Etoc@checkifempty\fi - \ifEtoc@isemptytoc - \ifEtoc@notocifnotoc - \expandafter\expandafter\expandafter\@gobble - \fi - \fi - \Etoc@tableofcontents - \endgroup - \ifEtoc@mustclosegroup\endgroup\fi - \Etoc@tocdepthreset - \Etoc@listofreset - \etocaftertochook - \@gobble\etoc@ - }% \Etoc@t@bleofcontents -\def\Etoc@table@fcontents{% - \refstepcounter{etoc@tocid}% - \Etoc@tocwithidfalse - \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents -} -\def\Etoc@localtable@fcontents{% - \refstepcounter{etoc@tocid}% - \addtocontents{toc}{\string\etoc@startlocaltoc{\the\c@etoc@tocid}}% - \Etoc@tocwithidtrue - \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents -} -\def\etoctableofcontents{% - \Etoc@openouttoc - \Etoc@tocdepthset - \begingroup - \@ifstar - {\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents} - {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}% -}% \etoctableofcontents -\def\etocifisstarred{\ifx\Etoc@aftertitlehook\@empty - \expandafter\@firstoftwo\else - \expandafter\@secondoftwo - \fi} -\let\etocoriginaltableofcontents\tableofcontents -\let\tableofcontents\etoctableofcontents -\let\Etoc@listofhook\@empty -\newcommand*\localtableofcontents{% - \Etoc@openouttoc - \Etoc@tocdepthset - \begingroup - \Etoc@listofhook - \@ifstar - {\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents} - {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}% -}% \localtableofcontents -\newcommand*\localtableofcontentswithrelativedepth[1]{% - \def\Etoc@@startlocaltochook{% - \global\c@tocdepth\numexpr\etoclocaltop+#1\relax - }% - \def\Etoc@listofreset{\let\Etoc@@startlocaltochook\@empty - \let\Etoc@listofreset\@empty}% - \localtableofcontents -}% \localtableofcontentswithrelativedepth -\newcommand\etocsettocstyle[2]{% - \Etoc@etocstylefalse - \Etoc@classstylefalse - \def\Etoc@tableofcontents@user@before{#1}% - \def\Etoc@tableofcontents@user@after {#2}% -}% -\def\etocstoretocstyleinto#1{% -%% \@ifdefinable#1{% - \edef#1{\noexpand\Etoc@etocstylefalse\noexpand\Etoc@classstylefalse - \def\noexpand\Etoc@tableofcontents@user@before{% - \unexpanded\expandafter{\Etoc@tableofcontents@user@before}% - }% - \def\noexpand\Etoc@tableofcontents@user@after{% - \unexpanded\expandafter{\Etoc@tableofcontents@user@after}% - }% - }% -%% }% -}% -\def\Etoc@tableofcontents {% - \Etoc@tableofcontents@etoc@before - \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi - \Etoc@tableofcontents@user@before - \Etoc@tableofcontents@contents - \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi - \Etoc@tableofcontents@user@after - \Etoc@tableofcontents@etoc@after - \@gobble\etoc@ -} -\def\Etoc@tableofcontents@etoc@before{% - \ifnum\c@tocdepth>\Etoc@minf - \else - \expandafter\Etoc@gobtoetoc@ - \fi - \Etoc@par - \Etoc@beforetitlehook - \etocbeforetitlehook - \Etoc@storetocdepth - \let\Etoc@savedcontentsline\contentsline - \let\contentsline\Etoc@etoccontentsline - \ifEtoc@standardlines - \else - \def\Etoc@do##1{% - \expandafter\def\csname etocsaved##1tocline\endcsname - {\PackageError{etoc}{% - \expandafter\string\csname etocsaved##1tocline\endcsname\space - has been deprecated\MessageBreak - at 1.1a and is removed at 1.2.\MessageBreak - Use \expandafter\string\csname l@##1\endcsname\space directly.\MessageBreak - Reported \on@line}% - {I will use \expandafter\string - \csname l@##1\endcsname\space myself for this time.% - }% - \csname l@##1\endcsname - }% - }% - \Etoc@dolevels - \fi -}% -\def\Etoc@tableofcontents@contents{% - \Etoc@tocdepthset - \ifEtoc@parskip\parskip\z@skip\fi - \Etoc@aftertitlehook - \gdef\etoclocaltop{-\thr@@}% - \Etoc@toctoc - \etocaftercontentshook -}% -\def\Etoc@tableofcontents@etoc@after{% - \@nobreakfalse - \Etoc@restoretocdepth - \ifx\Etoc@global\global - \@ifundefined{tof@finish} - {} - {\ifx\tof@finish\@empty - \else - \global\let\contentsline\Etoc@savedcontentsline - \fi - }% - \fi -} -\def\etocsetstyle#1{\ifcsname Etoc@#1@@\endcsname - \expandafter\Etoc@setstyle@a - \else - \expandafter\Etoc@setstyle@error - \fi {#1}% -} -\def\Etoc@setstyle@error #1{% - \PackageWarning{etoc}{`#1' is unknown to etoc. \space Did you\MessageBreak - forget some \string\etocsetlevel{#1}{}?\MessageBreak - Reported}% - \@gobblefour -} -\def\Etoc@setstyle@a #1{% - \edef\Etoc@tmp{\the\numexpr\csname Etoc@#1@@\endcsname}% - \if1\unless\ifnum\Etoc@tmp<\Etoc@maxlevel 0\fi - \unless\ifnum\Etoc@tmp>\Etoc@minf 0\fi1% - \Etoc@standardlinesfalse - \expandafter\Etoc@setstyle@b\expandafter\Etoc@tmp - \else - \ifnum\Etoc@tmp=\Etoc@maxlevel - \in@{.#1,}{.figure,.table,}% - \ifin@ - \PackageWarning{etoc} - {You can not use \string\etocsetstyle\space with `#1'.\MessageBreak - Check the package documentation (in particular about\MessageBreak - \string\etoclocallistoffigureshook/\string\etoclocallistoftableshook)% - \MessageBreak on how to customize - figure and table entries in local\MessageBreak lists. Reported}% - \else - \PackageInfo{etoc} - {Attempt to set the style of `#1',\MessageBreak - whose level is currently the maximal one \etocthemaxlevel,\MessageBreak - which is never displayed. \space This will be ignored\MessageBreak - but note that we do quit compatibility mode.\MessageBreak - Reported}% - \Etoc@standardlinesfalse - \fi - \else - \PackageWarning{etoc}{This should not happen. Reported}% - \fi - \expandafter\@gobblefour - \fi -} -\long\def\Etoc@setstyle@b#1#2#3#4#5{% - \expandafter\def\csname Etoc@begin@#1\endcsname {#2}% - \expandafter\def\csname Etoc@prefix@#1\endcsname {#3}% - \expandafter\def\csname Etoc@contents@#1\endcsname {#4}% - \expandafter\def\csname Etoc@end@#1\endcsname {#5}% -} -\def\Etoc@setstyle@e#1{% - \expandafter\let\csname Etoc@begin@#1\endcsname \@empty - \expandafter\let\csname Etoc@prefix@#1\endcsname \@empty - \expandafter\let\csname Etoc@contents@#1\endcsname \@empty - \expandafter\let\csname Etoc@end@#1\endcsname \@empty -} -\def\Etoc@storelines@a#1{% - \noexpand\Etoc@setstyle@b{#1}% - {\expandafter\Etoc@expandonce\csname Etoc@begin@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@prefix@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@contents@#1\endcsname}% - {\expandafter\Etoc@expandonce\csname Etoc@end@#1\endcsname}% -} -\def\Etoc@expandonce#1{\unexpanded\expandafter{#1}} -\def\etocstorelinestylesinto#1{% - \edef#1{\Etoc@storelines@a{-2}\Etoc@storelines@a{-1}\Etoc@storelines@a{0}% - \Etoc@storelines@a {1}\Etoc@storelines@a {2}\Etoc@storelines@a{3}% - \Etoc@storelines@a {4}\Etoc@storelines@a {5}% - \ifEtoc@deeplevels - \Etoc@storelines@a{6}\Etoc@storelines@a{7}\Etoc@storelines@a{8}% - \Etoc@storelines@a{9}\Etoc@storelines@a{10}\Etoc@storelines@a{11}% - \fi - }% -} -\def\etocstorethislinestyleinto#1#2{% - \edef#2{\expandafter\Etoc@storelines@a\expandafter{\number\etoclevel{#1}}}% -}% -\def\etocfontminustwo {\normalfont \LARGE \bfseries} -\def\etocfontminusone {\normalfont \large \bfseries} -\def\etocfontzero {\normalfont \large \bfseries} -\def\etocfontone {\normalfont \normalsize \bfseries} -\def\etocfonttwo {\normalfont \normalsize} -\def\etocfontthree {\normalfont \footnotesize} -\def\etocsepminustwo {4ex \@plus .5ex \@minus .5ex} -\def\etocsepminusone {4ex \@plus .5ex \@minus .5ex} -\def\etocsepzero {2.5ex \@plus .4ex \@minus .4ex} -\def\etocsepone {1.5ex \@plus .3ex \@minus .3ex} -\def\etocseptwo {.5ex \@plus .1ex \@minus .1ex} -\def\etocsepthree {.25ex \@plus .05ex \@minus .05ex} -\def\etocbaselinespreadminustwo {1} -\def\etocbaselinespreadminusone {1} -\def\etocbaselinespreadzero {1} -\def\etocbaselinespreadone {1} -\def\etocbaselinespreadtwo {1} -\def\etocbaselinespreadthree {.9} -\def\etocminustwoleftmargin {1.5em plus 0.5fil} -\def\etocminustworightmargin {1.5em plus -0.5fil} -\def\etocminusoneleftmargin {1em} -\def\etocminusonerightmargin {1em} -\def\etoctoclineleaders - {\hbox{\normalfont\normalsize\hb@xt@2ex {\hss.\hss}}} -\def\etocabbrevpagename {p.~} -\def\etocpartname {Part} -\def\etocbookname {Book} -\def\etocdefaultlines{% - \Etoc@standardlinesfalse - \etocdefaultlines@setbook - \etocdefaultlines@setpart - \etocdefaultlines@setchapter - \etocdefaultlines@setsection - \etocdefaultlines@setsubsection - \etocdefaultlines@setsubsubsection - \etocdefaultlines@setdeeperones -} -\def\etocnoprotrusion{\leavevmode\kern-\p@\kern\p@} -\@ifclassloaded{memoir}{% - \def\etocdefaultlines@setbook{% - \Etoc@setstyle@b - {-2}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@secpenalty} - {\begingroup - \etocfontminustwo - \addvspace{\etocsepminustwo}% - \parindent \z@ - \leftskip \etocminustwoleftmargin - \rightskip \etocminustworightmargin - \parfillskip \@flushglue - \vbox{\etocifnumbered{\etoclink{\etocbookname\enspace\etocthenumber:\quad}}{}% - \etocname - \baselineskip\etocbaselinespreadminustwo\baselineskip - \par}% - \addpenalty\@M\addvspace{\etocsepminusone}% - \endgroup} - {}% - } - }{\let\etocdefaultlines@setbook\@empty} -\def\etocdefaultlines@setpart{% -\Etoc@setstyle@b - {-1}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@secpenalty} - {\begingroup - \etocfontminusone - \addvspace{\etocsepminusone}% - \parindent \z@ - \leftskip \etocminusoneleftmargin - \rightskip \etocminusonerightmargin - \parfillskip \@flushglue - \vbox{\etocifnumbered{\etoclink{\etocpartname\enspace\etocthenumber.\quad}}{}% - \etocname - \baselineskip\etocbaselinespreadminusone\baselineskip - \par}% - \addpenalty\@M\addvspace{\etocsepzero}% - \endgroup} - {}% -} -\def\etocdefaultlines@setchapter{% -\Etoc@setstyle@b - {0}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfontzero - \addvspace{\etocsepzero}% - \parindent \z@ \parfillskip \@flushglue - \vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname - \baselineskip\etocbaselinespreadzero\baselineskip - \par}% - \endgroup} - {\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}% -} -\def\etocdefaultlines@setsection{% -\Etoc@setstyle@b - {1}% - {\addpenalty\@M\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfontone - \addvspace{\etocsepone}% - \parindent \z@ \parfillskip \z@ - \setbox\z@\vbox{\parfillskip\@flushglue - \etocname\par - \setbox\tw@\lastbox - \global\setbox\@ne\hbox{\unhbox\tw@\ }}% - \dimen\z@=\wd\@ne - \setbox\z@=\etoctoclineleaders - \advance\dimen\z@\wd\z@ - \etocifnumbered - {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}} - {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}% - \advance\dimen\z@\wd\tw@ - \ifdim\dimen\z@ < \linewidth - \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip - \par}% - \else - \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadone\baselineskip - \par}% - \fi - \endgroup} - {\addpenalty\@secpenalty\addvspace{\etocsepzero}}% -} -\def\etocdefaultlines@setsubsection{% -\Etoc@setstyle@b - {2}% - {\addpenalty\@medpenalty\etocskipfirstprefix} - {\addpenalty\@itempenalty} - {\begingroup - \etocfonttwo - \addvspace{\etocseptwo}% - \parindent \z@ \parfillskip \z@ - \setbox\z@\vbox{\parfillskip\@flushglue - \etocname\par\setbox\tw@\lastbox - \global\setbox\@ne\hbox{\unhbox\tw@}}% - \dimen\z@=\wd\@ne - \setbox\z@=\etoctoclineleaders - \advance\dimen\z@\wd\z@ - \etocifnumbered - {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}} - {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}% - \advance\dimen\z@\wd\tw@ - \ifdim\dimen\z@ < \linewidth - \vbox{\etocname~% - \leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip - \par}% - \else - \vbox{\etocname~% - \leaders\copy\z@\hfil\break - \hbox{}\leaders\box\z@\hfil\box\tw@ - \baselineskip\etocbaselinespreadtwo\baselineskip - \par}% - \fi - \endgroup} - {\addpenalty\@secpenalty\addvspace{\etocsepone}}% -} -\def\etocdefaultlines@setsubsubsection{% -\Etoc@setstyle@b - {3}% - {\addpenalty\@M - \etocfontthree - \vspace{\etocsepthree}% - \noindent - \etocskipfirstprefix} - {\allowbreak\,--\,} - {\etocname} - {.\hfil - \begingroup - \baselineskip\etocbaselinespreadthree\baselineskip - \par - \endgroup - \addpenalty{-\@highpenalty}} -} -\def\etocdefaultlines@setdeeperones{% -\Etoc@setstyle@e{4}% -\Etoc@setstyle@e{5}% -\ifEtoc@deeplevels - \Etoc@setstyle@e{6}% - \Etoc@setstyle@e{7}% - \Etoc@setstyle@e{8}% - \Etoc@setstyle@e{9}% - \Etoc@setstyle@e{10}% - \Etoc@setstyle@e{11}% -\fi -} -\def\etocabovetocskip{3.5ex \@plus 1ex \@minus .2ex} -\def\etocbelowtocskip{3.5ex \@plus 1ex \@minus .2ex} -\def\etoccolumnsep{2em} -\def\etocmulticolsep{0ex} -\def\etocmulticolpretolerance{-1} -\def\etocmulticoltolerance{200} -\def\etocdefaultnbcol{2} -\def\etocinnertopsep{2ex} -\newcommand\etocmulticolstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle - {\let\etocoldpar\par - \addvspace{\etocabovetocskip}% - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}[#2\etocoldpar\addvspace{\etocinnertopsep}]} - {#2\ifvmode\else\begingroup\interlinepenalty\@M\parskip\z@skip - \@@par\endgroup - \fi - \nobreak\addvspace{\etocinnertopsep}% - \pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}% - }% - {\ifnum #1>\@ne - \expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}}% - \addvspace{\etocbelowtocskip}}% -} -\def\etocinnerbottomsep{3.5ex} -\def\etocinnerleftsep{2em} -\def\etocinnerrightsep{2em} -\def\etoctoprule{\hrule} -\def\etocleftrule{\vrule} -\def\etocrightrule{\vrule} -\def\etocbottomrule{\hrule} -\def\etoctoprulecolorcmd{\relax} -\def\etocbottomrulecolorcmd{\relax} -\def\etocleftrulecolorcmd{\relax} -\def\etocrightrulecolorcmd{\relax} -\def\etoc@ruledheading #1{% - \hb@xt@\linewidth{\color@begingroup - \hss #1\hss\hskip-\linewidth - \etoctoprulecolorcmd\leaders\etoctoprule\hss - \phantom{#1}% - \leaders\etoctoprule\hss\color@endgroup}% - \nointerlineskip\nobreak\vskip\etocinnertopsep} -\newcommand*\etocruledstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle - {\addvspace{\etocabovetocskip}% - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}[\etoc@ruledheading{#2}]} - {\etoc@ruledheading{#2}% - \pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}} - {\ifnum #1>\@ne\expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}}% - \addvspace{\etocbelowtocskip}}} -\def\etocframedmphook{\relax} -\long\def\etocbkgcolorcmd{\relax} -\long\def\Etoc@relax{\relax} -\newbox\etoc@framed@titlebox -\newbox\etoc@framed@contentsbox -\newcommand*\etocframedstyle[2][\etocdefaultnbcol]{% -\etocsettocstyle{% - \addvspace{\etocabovetocskip}% - \sbox\z@{#2}% - \dimen\z@\dp\z@ - \ifdim\wd\z@<\linewidth \dp\z@\z@ \else \dimen\z@\z@ \fi - \setbox\etoc@framed@titlebox=\hb@xt@\linewidth{\color@begingroup - \hss - \ifx\etocbkgcolorcmd\Etoc@relax - \else - \sbox\tw@{\color{white}% - \vrule\@width\wd\z@\@height\ht\z@\@depth\dimen\z@}% - \ifdim\wd\z@<\linewidth \dp\tw@\z@\fi - \box\tw@ - \hskip-\wd\z@ - \fi - \copy\z@ - \hss - \hskip-\linewidth - \etoctoprulecolorcmd\leaders\etoctoprule\hss - \hskip\wd\z@ - \etoctoprulecolorcmd\leaders\etoctoprule\hss\color@endgroup}% - \setbox\z@\hbox{\etocleftrule\etocrightrule}% - \dimen\tw@\linewidth\advance\dimen\tw@-\wd\z@ - \advance\dimen\tw@-\etocinnerleftsep - \advance\dimen\tw@-\etocinnerrightsep - \setbox\etoc@framed@contentsbox=\vbox\bgroup - \hsize\dimen\tw@ - \kern\dimen\z@ - \vskip\etocinnertopsep - \hbox\bgroup - \begin{minipage}{\hsize}% - \etocframedmphook - \ifnum #1>\@ne - \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\multicolpretolerance\etocmulticolpretolerance - \multicoltolerance\etocmulticoltolerance - \setlength{\columnsep}{\etoccolumnsep}% - \setlength{\multicolsep}{\etocmulticolsep}% - \begin{multicols}{#1}} - {\pretolerance\etocmulticolpretolerance - \tolerance\etocmulticoltolerance}} - {\ifnum #1>\@ne\expandafter\@firstofone - \else \expandafter\@gobble - \fi - {\end{multicols}\unskip }% - \end{minipage}% - \egroup - \vskip\etocinnerbottomsep - \egroup - \vbox{\hsize\linewidth - \ifx\etocbkgcolorcmd\Etoc@relax - \else - \kern\ht\etoc@framed@titlebox - \kern\dp\etoc@framed@titlebox - \hb@xt@\linewidth{\color@begingroup - \etocleftrulecolorcmd\etocleftrule - \etocbkgcolorcmd - \leaders\vrule - \@height\ht\etoc@framed@contentsbox - \@depth\dp\etoc@framed@contentsbox - \hss - \etocrightrulecolorcmd\etocrightrule - \color@endgroup}\nointerlineskip - \vskip-\dp\etoc@framed@contentsbox - \vskip-\ht\etoc@framed@contentsbox - \vskip-\dp\etoc@framed@titlebox - \vskip-\ht\etoc@framed@titlebox - \fi - \box\etoc@framed@titlebox\nointerlineskip - \hb@xt@\linewidth{\color@begingroup - {\etocleftrulecolorcmd\etocleftrule}% - \hss\box\etoc@framed@contentsbox\hss - \etocrightrulecolorcmd\etocrightrule\color@endgroup} - \nointerlineskip - \vskip\ht\etoc@framed@contentsbox - \vskip\dp\etoc@framed@contentsbox - \hb@xt@\linewidth{\color@begingroup\etocbottomrulecolorcmd - \leaders\etocbottomrule\hss\color@endgroup}} - \addvspace{\etocbelowtocskip}}} -\newcommand\etoc@multicoltoc[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \tableofcontents} -\newcommand\etoc@multicoltoci[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \tableofcontents*} -\newcommand\etoc@local@multicoltoc[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \localtableofcontents} -\newcommand\etoc@local@multicoltoci[2][\etocdefaultnbcol]{% - \etocmulticolstyle[#1]{#2}% - \localtableofcontents*} -\newcommand*\etoc@ruledtoc[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \tableofcontents} -\newcommand*\etoc@ruledtoci[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \tableofcontents*} -\newcommand*\etoc@local@ruledtoc[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \localtableofcontents} -\newcommand*\etoc@local@ruledtoci[2][\etocdefaultnbcol]{% - \etocruledstyle[#1]{#2}% - \localtableofcontents*} -\newcommand*\etoc@framedtoc[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \tableofcontents} -\newcommand*\etoc@framedtoci[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \tableofcontents*} -\newcommand*\etoc@local@framedtoc[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \localtableofcontents} -\newcommand*\etoc@local@framedtoci[2][\etocdefaultnbcol]{% - \etocframedstyle[#1]{#2}% - \localtableofcontents*} -\def\etocmulticol{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@multicoltoci} - {\etoc@multicoltoc}} -\def\etocruled{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@ruledtoci} - {\etoc@ruledtoc}} -\def\etocframed{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@framedtoci} - {\etoc@framedtoc}} -\def\etoclocalmulticol{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@multicoltoci} - {\etoc@local@multicoltoc}} -\def\etoclocalruled{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@ruledtoci} - {\etoc@local@ruledtoc}} -\def\etoclocalframed{\begingroup - \Etoc@mustclosegrouptrue - \@ifstar - {\etoc@local@framedtoci} - {\etoc@local@framedtoc}} -\def\etocmemoirtoctotocfmt #1#2{% - \PackageWarning{etoc} - {\string\etocmemoirtoctotocfmt\space is deprecated.\MessageBreak - Use in its place \string\etocsettoclineforclasstoc,\MessageBreak - and \string\etocsettoclineforclasslistof{toc} (or {lof}, {lot}). - I will do this now.\MessageBreak - Reported}% - \etocsettoclineforclasstoc{#1}{#2}% - \etocsettoclineforclasslistof{toc}{#1}{#2}% -} -\def\etocsettoclineforclasstoc #1#2{% - \def\etocclassmaintocaddtotoc{\etocglobalheadtotoc{#1}{#2}}% -} -\def\etocsettoclineforclasslistof #1#2#3{% - \@namedef{etocclasslocal#1addtotoc}{\etoclocalheadtotoc{#2}{#3}}% -} -\let\etocclasslocaltocaddtotoc\@empty -\let\etocclasslocallofaddtotoc\@empty -\let\etocclasslocallotaddtotoc\@empty -\ifdefined\c@chapter - \def\etocclasslocaltocmaketitle{\section*{\localcontentsname}} - \def\etocclasslocallofmaketitle{\section*{\locallistfigurename}} - \def\etocclasslocallotmaketitle{\section*{\locallisttablename}} - \etocsettoclineforclasstoc {chapter}{\contentsname} - \etocsettoclineforclasslistof{toc}{section}{\localcontentsname} - \etocsettoclineforclasslistof{lof}{section}{\locallistfigurename} - \etocsettoclineforclasslistof{lot}{section}{\locallisttablename} -\else - \def\etocclasslocaltocmaketitle{\subsection*{\localcontentsname}}% - \def\etocclasslocallofmaketitle{\subsection*{\locallistfigurename}}% - \def\etocclasslocallotmaketitle{\subsection*{\locallisttablename}}% - \etocsettoclineforclasstoc {section}{\contentsname} - \etocsettoclineforclasslistof{toc}{subsection}{\localcontentsname} - \etocsettoclineforclasslistof{lof}{subsection}{\locallistfigurename} - \etocsettoclineforclasslistof{lot}{subsection}{\locallisttablename} -\fi -\def\etocclasslocalperhapsaddtotoc #1{% - \etocifisstarred - {} - {\csname ifEtoc@local#1totoc\endcsname - \csname etocclasslocal#1addtotoc\endcsname - \fi - }% -} -\def\etocarticlestyle{% - \etocsettocstyle - {\ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \section *{\contentsname - \@mkboth {\MakeUppercase \contentsname} - {\MakeUppercase \contentsname}}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - } - {}% -} -\def\etocarticlestylenomarks{% - \etocsettocstyle - {\ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \section *{\contentsname}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - } - {}% -} -\def\etocbookstyle{% - \etocsettocstyle - {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \chapter *{\contentsname - \@mkboth {\MakeUppercase \contentsname} - {\MakeUppercase \contentsname}}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - }% - {\if@restonecol \twocolumn \fi}% -} -\def\etocbookstylenomarks{% - \etocsettocstyle - {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \chapter *{\contentsname}% - \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}% - \fi - }% - {\if@restonecol \twocolumn \fi}% -} -\let\etocreportstyle\etocbookstyle -\let\etocreportstylenomarks\etocbookstylenomarks -\def\etocmemoirstyle{% - \etocsettocstyle - {\ensureonecol \par \begingroup \phantomsection - \ifx\Etoc@aftertitlehook\@empty - \else - \ifmem@em@starred@listof - \else - \ifEtoc@localtoc - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \ifEtoc@maintoctotoc - \etocclassmaintocaddtotoc - \fi - \fi - \fi - \fi - \ifEtoc@localtoc - \@namedef{@\Etoc@currext maketitle}{% - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - }% - \fi - \@nameuse {@\Etoc@currext maketitle} %<< space token here from memoir code - \ifx\Etoc@aftertitlehook\@empty - \else - \Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax - \fi - \parskip \cftparskip \@nameuse {cft\Etoc@currext beforelisthook}% - }% - {\@nameuse {cft\Etoc@currext afterlisthook}% - \endgroup\restorefromonecol - }% -} -\let\Etoc@beforetitlehook\@empty -\if1\@ifclassloaded{scrartcl}0{\@ifclassloaded{scrbook}0{\@ifclassloaded{scrreprt}01}}% -\expandafter\@gobble -\else - \ifdefined\setuptoc - \def\Etoc@beforetitlehook{% - \ifEtoc@localtoc - \etocclasslocalperhapsaddtotoc\Etoc@currext - \setuptoc{\Etoc@currext}{leveldown}% - \else - \etocifisstarred{}{\etocifmaintoctotoc{\setuptoc{toc}{totoc}}}% - \fi - }% - \fi -\expandafter\@firstofone -\fi -{\def\etocclasslocalperhapsaddtotoc #1{% - \etocifisstarred - {}% - {\csname ifEtoc@local#1totoc\endcsname - \setuptoc{\Etoc@currext}{totoc}% - \fi - }% - }% -} -\ifdefined\Iftocfeature - \def\etoc@Iftocfeature{\Iftocfeature}% -\else - \def\etoc@Iftocfeature{\iftocfeature}% -\fi -\def\etocscrartclstyle{% - \etocsettocstyle - {\ifx\Etoc@currext\Etoc@tocext - \expandafter\@firstofone - \else - \expandafter\@gobble - \fi - {\let\if@dynlist\if@tocleft}% - \edef\@currext{\Etoc@currext}% - \@ifundefined{listof\@currext name}% - {\def\list@fname{\listofname~\@currext}}% - {\expandafter\let\expandafter\list@fname - \csname listof\@currext name\endcsname}% - \etoc@Iftocfeature {\@currext}{onecolumn} - {\etoc@Iftocfeature {\@currext}{leveldown} - {} - {\if@twocolumn \aftergroup \twocolumn \onecolumn \fi }} - {}% - \etoc@Iftocfeature {\@currext}{numberline}% - {\def \nonumberline {\numberline {}}}{}% - \expandafter\tocbasic@listhead\expandafter {\list@fname}% - \begingroup \expandafter \expandafter \expandafter - \endgroup \expandafter - \ifx - \csname microtypesetup\endcsname \relax - \else - \etoc@Iftocfeature {\@currext}{noprotrusion}{} - {\microtypesetup {protrusion=false}% - \PackageInfo {tocbasic}% - {character protrusion at \@currext\space deactivated}}% - \fi - \etoc@Iftocfeature{\@currext}{noparskipfake}{}{% - \ifvmode \@tempskipa\lastskip \vskip-\lastskip - \addtolength{\@tempskipa}{\parskip}\vskip\@tempskipa\fi - }% - \setlength {\parskip }{\z@ }% - \setlength {\parindent }{\z@ }% - \setlength {\parfillskip }{\z@ \@plus 1fil}% - \csname tocbasic@@before@hook\endcsname - \csname tb@\@currext @before@hook\endcsname - }% end of before_toc - {% start of after_toc - \providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file - \edef\@currext{\Etoc@currext}% - \csname tb@\@currext @after@hook\endcsname - \csname tocbasic@@after@hook\endcsname - }% end of after_toc -} -\let\etocscrbookstyle\etocscrartclstyle -\let\etocscrreprtstyle\etocscrartclstyle -\def\etocclasstocstyle{\etocarticlestyle} -\newcommand*\etocmarkboth[1]{% - \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}} -\newcommand*\etocmarkbothnouc[1]{\@mkboth{#1}{#1}} -\newcommand\etoctocstyle[3][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3}}} -\newcommand\etoctocstylewithmarks[4][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3\etocmarkboth{#4}}}} -\newcommand\etoctocstylewithmarksnouc[4][section]{\etocmulticolstyle[#2]% - {\csname #1\endcsname *{#3\etocmarkbothnouc{#4}}}} -\def\Etoc@redefetocstylesforchapters{% - \renewcommand\etoctocstylewithmarks[4][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkboth{##4}}}% - } - \renewcommand\etoctocstylewithmarksnouc[4][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkbothnouc{##4}}}% - } - \renewcommand\etoctocstyle[3][chapter]{% - \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3}} - } -} -\@ifclassloaded{scrartcl} - {\renewcommand*\etocclasstocstyle{\etocscrartclstyle}}{} -\@ifclassloaded{book} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocbookstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{report} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocreportstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{scrbook} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocscrbookstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{scrreprt} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocscrreprtstyle} - \Etoc@redefetocstylesforchapters}{} -\@ifclassloaded{memoir} - {\renewcommand*\etocfontone{\normalfont\normalsize} - \renewcommand*\etocclasstocstyle{\etocmemoirstyle} - \Etoc@redefetocstylesforchapters}{} -\def\etoctocloftstyle {% - \etocsettocstyle{% - \@cfttocstart - \par - \begingroup - \parindent\z@ \parskip\cftparskip - \@nameuse{@cftmake\Etoc@currext title}% - \ifEtoc@localtoc - \etoctocloftlocalperhapsaddtotoc\Etoc@currext - \else - \etocifisstarred {}{\ifEtoc@maintoctotoc\@cftdobibtoc\fi}% - \fi - }% - {% - \endgroup - \@cfttocfinish - }% -} -\def\etoctocloftlocalperhapsaddtotoc#1{% - \etocifisstarred - {}% - {\csname ifEtoc@local#1totoc\endcsname - \ifdefined\c@chapter\def\@tocextra{@section}\else\def\@tocextra{@subsection}\fi - \csname @cftdobib#1\endcsname - \fi - }% -} -\def\etoctocbibindstyle {% - \etocsettocstyle {% - \toc@start - \ifEtoc@localtoc - \@nameuse{etocclasslocal\Etoc@currext maketitle}% - \etocclasslocalperhapsaddtotoc\Etoc@currext - \else - \etoc@tocbibind@dotoctitle - \fi - }% - {\toc@finish}% -} -\def\etoc@tocbibind@dotoctitle {% - \if@bibchapter - \etocifisstarred - {\chapter*{\contentsname}\prw@mkboth{\contentsname} % id. - }% - {\ifEtoc@maintoctotoc - \toc@chapter{\contentsname} %<-space from original - \else - \chapter*{\contentsname}\prw@mkboth{\contentsname} % id. - \fi - }% - \else - \etocifisstarred - {\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} %<-space - } - {\ifEtoc@maintoctotoc - \toc@section{\@tocextra}{\contentsname} %<-space from original - \else - \@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} % id. - \fi - }% - \fi -}% -\@ifclassloaded{memoir} -{} -{% memoir not loaded - \@ifpackageloaded{tocloft} - {\if@cftnctoc\else - \ifEtoc@keeporiginaltoc - \else - \AtBeginDocument{\let\tableofcontents\etoctableofcontents}% - \fi - \fi } - {\AtBeginDocument - {\@ifpackageloaded{tocloft} - {\if@cftnctoc\else - \PackageWarningNoLine {etoc} - {Package `tocloft' was loaded after `etoc'.\MessageBreak - To prevent it from overwriting \protect\tableofcontents, it will\MessageBreak - be tricked into believing to have been loaded with its\MessageBreak - option `titles'. \space But this will cause the `tocloft'\MessageBreak - customization of the titles of the main list of figures\MessageBreak - and list of tables to not apply either.\MessageBreak - You should load `tocloft' before `etoc'.}% - \AtEndDocument{\PackageWarning{etoc} - {Please load `tocloft' before `etoc'!\@gobbletwo}}% - \fi - \@cftnctoctrue }% - {}% - }% - }% -} -\@ifclassloaded{memoir} -{} -{% memoir not loaded - \AtBeginDocument{% - \@ifpackageloaded{tocloft} - {% - \def\etocclasstocstyle{% - \etoctocloftstyle - \Etoc@classstyletrue - }% - \ifEtoc@etocstyle - \ifEtoc@classstyle - \etocclasstocstyle - \Etoc@etocstyletrue - \fi - \else - \ifEtoc@classstyle - \etocclasstocstyle - \fi - \fi - }% - {% no tocloft - \@ifpackageloaded {tocbibind} - {\if@dotoctoc - \def\etocclasstocstyle{% - \etoctocbibindstyle - \Etoc@classstyletrue - }% - \ifEtoc@etocstyle - \ifEtoc@classstyle - \etocclasstocstyle - \Etoc@etocstyletrue - \fi - \else - \ifEtoc@classstyle - \etocclasstocstyle - \fi - \fi - \ifEtoc@keeporiginaltoc - \else - \let\tableofcontents\etoctableofcontents - \fi - }% - {}% - }% - \@ifpackageloaded{tocbibind} - {% tocbibind, perhaps with tocloft - \if@dotoctoc - \ifEtoc@keeporiginaltoc - \else - \let\tableofcontents\etoctableofcontents - \fi - \etocsetup{maintoctotoc,localtoctotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) the options `maintoctotoc' and\MessageBreak - `localtoctotoc' to true as tocbibind was detected and\MessageBreak - found to be configured for `TOC to toc'.\MessageBreak - Reported at begin document}% - \fi - \if@dotoclof - \ifEtoc@lof - \etocsetup{localloftotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) `localloftotoc=true' as the\MessageBreak - package tocbibind was detected and is configured for\MessageBreak - `LOF to toc'. Reported at begin document}% - \fi - \fi - \if@dotoclot - \ifEtoc@lot - \etocsetup{locallottotoc}% - \PackageInfo{etoc}{% - Setting (or re-setting) `locallottotoc=true' as the\MessageBreak - package tocbibind was detected and is configured for\MessageBreak - `LOT to toc'. Reported at begin document}% - \fi - \fi - }% end of tocbibind branch - {}% - }% end of at begin document -}% end of not with memoir branch -\def\Etoc@addtocontents #1#2{% - \addtocontents {toc}{% - \protect\contentsline{#1}{#2}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}% - \ifdefined\protected@file@percent\protected@file@percent\fi - }% -} -\def\Etoc@addcontentsline@ #1#2#3{% - \@namedef{toclevel@#1}{#3}\addcontentsline {toc}{#1}{#2}% -} -\DeclareRobustCommand*{\etoctoccontentsline} - {\@ifstar{\Etoc@addcontentsline@}{\Etoc@addtocontents}} -\def\Etoc@addtocontents@immediately#1#2{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \Etoc@addtocontents{#1}{#2}% - \endgroup -} -\def\Etoc@addcontentsline@@immediately#1#2#3{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \Etoc@addcontentsline@{#1}{#2}{#3}% - \endgoroup -} -\DeclareRobustCommand*{\etocimmediatetoccontentsline} - {\@ifstar{\Etoc@addcontentsline@@immediately}{\Etoc@addtocontents@immediately}} -\def\Etoc@storetocdepth {\xdef\Etoc@savedtocdepth{\number\c@tocdepth}} -\def\Etoc@restoretocdepth {\global\c@tocdepth\Etoc@savedtocdepth\relax} -\def\etocobeytoctocdepth {\def\etoc@settocdepth - {\afterassignment\Etoc@@nottoodeep \global\c@tocdepth}} -\def\Etoc@@nottoodeep {\ifnum\Etoc@savedtocdepth<\c@tocdepth - \global\c@tocdepth\Etoc@savedtocdepth\relax\fi } -\def\etocignoretoctocdepth {\let\etoc@settocdepth\@gobble } -\def\etocsettocdepth {\futurelet\Etoc@nexttoken\Etoc@set@tocdepth } -\def\Etoc@set@tocdepth {\ifx\Etoc@nexttoken\bgroup - \expandafter\Etoc@set@tocdepth@ - \else\expandafter\Etoc@set@toctocdepth - \fi } -\def\Etoc@set@tocdepth@ #1{\@ifundefined {Etoc@#1@@} - {\PackageWarning{etoc} - {Unknown sectioning unit #1, \protect\etocsettocdepth\space ignored}} - {\global\c@tocdepth\csname Etoc@#1@@\endcsname}% -} -\def\Etoc@set@toctocdepth #1#{\Etoc@set@toctocdepth@ } -\def\Etoc@set@toctocdepth@ #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocsettocdepth.toc ignored}}% - {\addtocontents {toc} - {\protect\etoc@settocdepth\expandafter\protect\csname Etoc@#1@@\endcsname}}% -} -\def\etocimmediatesettocdepth #1#{\Etoc@set@toctocdepth@immediately} -\def\Etoc@set@toctocdepth@immediately #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocimmediatesettocdepth.toc ignored}}% - {\begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc} - {\protect\etoc@settocdepth\expandafter\protect - \csname Etoc@#1@@\endcsname}% - \endgroup - }% -} -\def\etocdepthtag #1#{\Etoc@depthtag } -\def\Etoc@depthtag #1{\addtocontents {toc}{\protect\etoc@depthtag {#1}}} -\def\etocimmediatedepthtag #1#{\Etoc@depthtag@immediately } -\def\Etoc@depthtag@immediately #1{% - \begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc}{\protect\etoc@depthtag {#1}}% - \endgroup -} -\def\etocignoredepthtags {\let\etoc@depthtag \@gobble } -\def\etocobeydepthtags {\let\etoc@depthtag \Etoc@depthtag@ } -\def\Etoc@depthtag@ #1{\@ifundefined{Etoc@depthof@#1}% - {}% ignore in silence if tag has no associated depth - {\afterassignment\Etoc@@nottoodeep - \global\c@tocdepth\csname Etoc@depthof@#1\endcsname}% -} -\def\etocsettagdepth #1#2{\@ifundefined{Etoc@#2@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #2, \protect\etocsettagdepth\space ignored}}% - {\@namedef{Etoc@depthof@#1}{\@nameuse{Etoc@#2@@}}}% -} -\def\Etoc@tocvsec@err #1{\PackageError {etoc} - {The command \protect#1\space is incompatible with `etoc'} - {Use \protect\etocsettocdepth.toc as replacement}% -}% -\AtBeginDocument {% - \@ifclassloaded{memoir} - {\PackageInfo {etoc} - {Regarding `memoir' class command \protect\settocdepth, consider\MessageBreak - \protect\etocsettocdepth.toc as a drop-in replacement with more\MessageBreak - capabilities (see `etoc' manual). \space - Also, \protect\etocsettocdepth\MessageBreak - and \protect\etocsetnexttocdepth\space should be used in place of\MessageBreak - `memoir' command \protect\maxtocdepth\@gobble}% - }% - {\@ifpackageloaded {tocvsec2}{% - \def\maxtocdepth #1{\Etoc@tocvsec@err \maxtocdepth }% - \def\settocdepth #1{\Etoc@tocvsec@err \settocdepth }% - \def\resettocdepth {\@ifstar {\Etoc@tocvsec@err \resettocdepth }% - {\Etoc@tocvsec@err \resettocdepth }% - }% - \def\save@tocdepth #1#2#3{}% - \let\reset@tocdepth\relax - \let\remax@tocdepth\relax - \let\tableofcontents\etoctableofcontents - \PackageWarningNoLine {etoc} - {Package `tocvsec2' detected and its modification of\MessageBreak - \protect\tableofcontents\space reverted. \space Use - \protect\etocsettocdepth.toc\MessageBreak as a replacement - for `tocvsec2' toc-related commands}% - }% tocvsec2 loaded - {}% tocvsec2 not loaded - }% -}% -\def\invisibletableofcontents {\etocsetnexttocdepth {-3}\tableofcontents }% -\def\invisiblelocaltableofcontents - {\etocsetnexttocdepth {-3}\localtableofcontents }% -\def\etocsetnexttocdepth #1{% - \@ifundefined{Etoc@#1@@} - {\PackageWarning{etoc} - {Unknown sectioning unit #1, \protect\etocsetnextocdepth\space ignored}} - {\Etoc@setnexttocdepth{\csname Etoc@#1@@\endcsname}}% -}% -\def\Etoc@setnexttocdepth#1{% - \def\Etoc@tocdepthset{% - \Etoc@tocdepthreset - \edef\Etoc@tocdepthreset {% - \global\c@tocdepth\the\c@tocdepth\space - \global\let\noexpand\Etoc@tocdepthreset\noexpand\@empty - }% - \global\c@tocdepth#1% - \global\let\Etoc@tocdepthset\@empty - }% -}% -\let\Etoc@tocdepthreset\@empty -\let\Etoc@tocdepthset \@empty -\def\etocsetlocaltop #1#{\Etoc@set@localtop}% -\def\Etoc@set@localtop #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}% - {\addtocontents {toc} - {\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}% -}% -\def\etocimmediatesetlocaltop #1#{\Etoc@set@localtop@immediately}% -\def\Etoc@set@localtop@immediately #1{% - \@ifundefined{Etoc@#1@@}% - {\PackageWarning{etoc} - {Unknown sectioning depth #1, \protect\etocimmediatesetlocaltop.toc ignored}}% - {\begingroup - \let\Etoc@originalwrite\write - \def\write{\immediate\Etoc@originalwrite}% - \addtocontents {toc} - {\protect\etoc@setlocaltop\expandafter\protect - \csname Etoc@#1@@\endcsname}% - \endgroup - }% -}% -\def\etoc@setlocaltop #1{% - \ifnum#1=\Etoc@maxlevel - \Etoc@skipthisonetrue - \else - \Etoc@skipthisonefalse - \global\let\Etoc@level #1% - \global\let\Etoc@virtualtop #1% - \ifEtoc@localtoc - \ifEtoc@stoptoc - \Etoc@skipthisonetrue - \else - \ifEtoc@notactive - \Etoc@skipthisonetrue - \else - \unless\ifnum\Etoc@level>\etoclocaltop - \Etoc@skipthisonetrue - \global\Etoc@stoptoctrue - \fi - \fi - \fi - \fi - \fi - \let\Etoc@next\@empty - \ifEtoc@skipthisone - \else - \ifnum\Etoc@level>\c@tocdepth - \else - \ifEtoc@standardlines - \else - \let\Etoc@next\Etoc@setlocaltop@doendsandbegin - \fi - \fi - \fi - \Etoc@next -}% -\def\Etoc@setlocaltop@doendsandbegin{% - \Etoc@doendsandbegin - \global\Etoc@skipprefixfalse -} -\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}% - {\let\protect\etoc@startlocaltoc\protect\@gobble - \let\protect\etoc@settocdepth\protect\@gobble - \let\protect\etoc@depthtag\protect\@gobble - \let\protect\etoc@setlocaltop\protect\@gobble}{}}% -\def\etocstandardlines {\Etoc@standardlinestrue} -\def\etoctoclines {\Etoc@standardlinesfalse} -\etocdefaultlines -\etocstandardlines -\def\etocstandarddisplaystyle{% - \PackageWarningNoLine{etoc}{% - \string\etocstandarddisplaystyle \on@line\MessageBreak - is deprecated. \space Please use \string\etocclasstocstyle}% -} -\expandafter\def\expandafter\etocclasstocstyle\expandafter{% - \etocclasstocstyle - \Etoc@classstyletrue -} -\def\etocetoclocaltocstyle{\Etoc@etocstyletrue} -\def\etocusertocstyle{\Etoc@etocstylefalse} -\etocclasstocstyle -\etocetoclocaltocstyle -\etocobeytoctocdepth -\etocobeydepthtags -\let\etocbeforetitlehook \@empty -\let\etocaftertitlehook \@empty -\let\etocaftercontentshook \@empty -\let\etocaftertochook \@empty -\def\etockeeporiginaltableofcontents - {\Etoc@keeporiginaltoctrue\let\tableofcontents\etocoriginaltableofcontents}% -\endinput -%% -%% End of file `etoc.sty'. diff --git a/documentation/latex/files.tex b/documentation/latex/files.tex deleted file mode 100644 index e437a5a..0000000 --- a/documentation/latex/files.tex +++ /dev/null @@ -1,11 +0,0 @@ -\doxysection{File List} -Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{source\+\_\+code/\mbox{\hyperlink{main_8c}{main.\+c}} }{\pageref{main_8c}}{} -\item\contentsline{section}{source\+\_\+code/\mbox{\hyperlink{test__main_8c}{test\+\_\+main.\+c}} }{\pageref{test__main_8c}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/\mbox{\hyperlink{marigold__dynamic__array_8c}{marigold\+\_\+dynamic\+\_\+array.\+c}} }{\pageref{marigold__dynamic__array_8c}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/\mbox{\hyperlink{marigold__dynamic__array_8h}{marigold\+\_\+dynamic\+\_\+array.\+h}} }{\pageref{marigold__dynamic__array_8h}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/internal/\mbox{\hyperlink{internal__marigold__dynamic__array_8c}{internal\+\_\+marigold\+\_\+dynamic\+\_\+array.\+c}} }{\pageref{internal__marigold__dynamic__array_8c}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/internal/\mbox{\hyperlink{internal__marigold__dynamic__array_8h}{internal\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h}} }{\pageref{internal__marigold__dynamic__array_8h}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/tests/\mbox{\hyperlink{test__marigold__dynamic__array_8c}{test\+\_\+marigold\+\_\+dynamic\+\_\+array.\+c}} }{\pageref{test__marigold__dynamic__array_8c}}{} -\item\contentsline{section}{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/tests/\mbox{\hyperlink{test__marigold__dynamic__array_8h}{test\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h}} }{\pageref{test__marigold__dynamic__array_8h}}{} -\end{DoxyCompactList} diff --git a/documentation/latex/internal__marigold__dynamic__array_8c.tex b/documentation/latex/internal__marigold__dynamic__array_8c.tex deleted file mode 100644 index 02affc2..0000000 --- a/documentation/latex/internal__marigold__dynamic__array_8c.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/internal/internal\+\_\+marigold\+\_\+dynamic\+\_\+array.c File Reference} -\hypertarget{internal__marigold__dynamic__array_8c}{}\label{internal__marigold__dynamic__array_8c}\index{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.c@{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.c}} diff --git a/documentation/latex/internal__marigold__dynamic__array_8h.tex b/documentation/latex/internal__marigold__dynamic__array_8h.tex deleted file mode 100644 index 6d12020..0000000 --- a/documentation/latex/internal__marigold__dynamic__array_8h.tex +++ /dev/null @@ -1,27 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/internal/internal\+\_\+marigold\+\_\+dynamic\+\_\+array.h File Reference} -\hypertarget{internal__marigold__dynamic__array_8h}{}\label{internal__marigold__dynamic__array_8h}\index{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.h@{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.h}} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{internal__marigold__dynamic__array_8h_a080efb0189640763472b0b75fd85ccb9}{dynamic\+\_\+array\+\_\+destroy}} (\mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Destroy a dynamic array and free its memory. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Function Documentation} -\Hypertarget{internal__marigold__dynamic__array_8h_a080efb0189640763472b0b75fd85ccb9}\label{internal__marigold__dynamic__array_8h_a080efb0189640763472b0b75fd85ccb9} -\index{internal\_marigold\_dynamic\_array.h@{internal\_marigold\_dynamic\_array.h}!dynamic\_array\_destroy@{dynamic\_array\_destroy}} -\index{dynamic\_array\_destroy@{dynamic\_array\_destroy}!internal\_marigold\_dynamic\_array.h@{internal\_marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_destroy()}{dynamic\_array\_destroy()}} -{\footnotesize\ttfamily void dynamic\+\_\+array\+\_\+destroy (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Destroy a dynamic array and free its memory. - -Frees the memory block and the array structure itself. Sets owner\+\_\+count to 0 before freeing. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array} to destroy. \\ -\hline -\end{DoxyParams} diff --git a/documentation/latex/internal__marigold__dynamic__array_8h_source.tex b/documentation/latex/internal__marigold__dynamic__array_8h_source.tex deleted file mode 100644 index 9587238..0000000 --- a/documentation/latex/internal__marigold__dynamic__array_8h_source.tex +++ /dev/null @@ -1,8 +0,0 @@ -\doxysection{internal\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h} -\hypertarget{internal__marigold__dynamic__array_8h_source}{}\label{internal__marigold__dynamic__array_8h_source}\index{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.h@{source\_code/MODULE\_marigold\_dynamic\_array/internal/internal\_marigold\_dynamic\_array.h}} -\mbox{\hyperlink{internal__marigold__dynamic__array_8h}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ } -\DoxyCodeLine{00010\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{internal__marigold__dynamic__array_8h_a080efb0189640763472b0b75fd85ccb9}{dynamic\_array\_destroy}}(\mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} - -\end{DoxyCode} diff --git a/documentation/latex/longtable_doxygen.sty b/documentation/latex/longtable_doxygen.sty deleted file mode 100644 index e94b78b..0000000 --- a/documentation/latex/longtable_doxygen.sty +++ /dev/null @@ -1,456 +0,0 @@ -%% -%% This is file `longtable.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% longtable.dtx (with options: `package') -%% -%% This is a generated file. -%% -%% The source is maintained by the LaTeX Project team and bug -%% reports for it can be opened at http://latex-project.org/bugs.html -%% (but please observe conditions on bug reports sent to that address!) -%% -%% Copyright 1993-2016 -%% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% -%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -%% -------------------------------------------------------------------------- -%% -%% It may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This file may only be distributed together with a copy of the LaTeX -%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' -%% without such generated files. -%% -%% The list of all files belonging to the LaTeX `Tools Bundle' is -%% given in the file `manifest.txt'. -%% -%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle -\NeedsTeXFormat{LaTeX2e}[1995/06/01] -\ProvidesPackage{longtable_doxygen} - [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen] -\def\LT@err{\PackageError{longtable}} -\def\LT@warn{\PackageWarning{longtable}} -\def\LT@final@warn{% - \AtEndDocument{% - \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}% - \global\let\LT@final@warn\relax} -\DeclareOption{errorshow}{% - \def\LT@warn{\PackageInfo{longtable}}} -\DeclareOption{pausing}{% - \def\LT@warn#1{% - \LT@err{#1}{This is not really an error}}} -\DeclareOption{set}{} -\DeclareOption{final}{} -\ProcessOptions -\newskip\LTleft \LTleft=\fill -\newskip\LTright \LTright=\fill -\newskip\LTpre \LTpre=\bigskipamount -\newskip\LTpost \LTpost=\bigskipamount -\newcount\LTchunksize \LTchunksize=20 -\let\c@LTchunksize\LTchunksize -\newdimen\LTcapwidth \LTcapwidth=4in -\newbox\LT@head -\newbox\LT@firsthead -\newbox\LT@foot -\newbox\LT@lastfoot -\newcount\LT@cols -\newcount\LT@rows -\newcounter{LT@tables} -\newcounter{LT@chunks}[LT@tables] -\ifx\c@table\undefined - \newcounter{table} - \def\fnum@table{\tablename~\thetable} -\fi -\ifx\tablename\undefined - \def\tablename{Table} -\fi -\newtoks\LT@p@ftn -\mathchardef\LT@end@pen=30000 -\def\longtable{% - \par - \ifx\multicols\@undefined - \else - \ifnum\col@number>\@ne - \@twocolumntrue - \fi - \fi - \if@twocolumn - \LT@err{longtable not in 1-column mode}\@ehc - \fi - \begingroup - \@ifnextchar[\LT@array{\LT@array[x]}} -\def\LT@array[#1]#2{% - \refstepcounter{table}\stepcounter{LT@tables}% - \if l#1% - \LTleft\z@ \LTright\fill - \else\if r#1% - \LTleft\fill \LTright\z@ - \else\if c#1% - \LTleft\fill \LTright\fill - \fi\fi\fi - \let\LT@mcol\multicolumn - \let\LT@@tabarray\@tabarray - \let\LT@@hl\hline - \def\@tabarray{% - \let\hline\LT@@hl - \LT@@tabarray}% - \let\\\LT@tabularcr\let\tabularnewline\\% - \def\newpage{\noalign{\break}}% - \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% - \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% - \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption - \@tempdima\ht\strutbox - \let\@endpbox\LT@endpbox - \ifx\extrarowheight\@undefined - \let\@acol\@tabacol - \let\@classz\@tabclassz \let\@classiv\@tabclassiv - \def\@startpbox{\vtop\LT@startpbox}% - \let\@@startpbox\@startpbox - \let\@@endpbox\@endpbox - \let\LT@LL@FM@cr\@tabularcr - \else - \advance\@tempdima\extrarowheight - \col@sep\tabcolsep - \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr - \fi - \setbox\@arstrutbox\hbox{\vrule - \@height \arraystretch \@tempdima - \@depth \arraystretch \dp \strutbox - \@width \z@}% - \let\@sharp##\let\protect\relax - \begingroup - \@mkpream{#2}% - \xdef\LT@bchunk{% - \global\advance\c@LT@chunks\@ne - \global\LT@rows\z@\setbox\z@\vbox\bgroup - \LT@setprevdepth - \tabskip\LTleft \noexpand\halign to\hsize\bgroup - \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% - \endgroup - \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols - \LT@make@row - \m@th\let\par\@empty - \everycr{}\lineskip\z@\baselineskip\z@ - \LT@bchunk} -\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}} -\def\LT@start{% - \let\LT@start\endgraf - \endgraf\penalty\z@\vskip\LTpre - \dimen@\pagetotal - \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi - \advance\dimen@ \ht\LT@foot - \dimen@ii\vfuzz - \vfuzz\maxdimen - \setbox\tw@\copy\z@ - \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox - \setbox\tw@\vbox{\unvbox\tw@}% - \vfuzz\dimen@ii - \advance\dimen@ \ht - \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@\dp - \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi - \advance\dimen@ -\pagegoal - \ifdim \dimen@>\z@\vfil\break\fi - \global\@colroom\@colht - \ifvoid\LT@foot\else - \advance\vsize-\ht\LT@foot - \global\advance\@colroom-\ht\LT@foot - \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ - \maxdepth\z@ - \fi - \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak - \output{\LT@output}} -\def\endlongtable{% - \crcr - \noalign{% - \let\LT@entry\LT@entry@chop - \xdef\LT@save@row{\LT@save@row}}% - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \if@filesw - {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% - \gdef\expandafter\noexpand - \csname LT@\romannumeral\c@LT@tables\endcsname - {\LT@save@row}}}% - \fi - \ifx\LT@save@row\LT@@save@row - \else - \LT@warn{Column \@width s have changed\MessageBreak - in table \thetable}% - \LT@final@warn - \fi - \endgraf\penalty -\LT@end@pen - \endgroup - \global\@mparbottom\z@ - \pagegoal\vsize - \endgraf\penalty\z@\addvspace\LTpost - \ifvoid\footins\else\insert\footins{}\fi} -\def\LT@nofcols#1&{% - \futurelet\@let@token\LT@n@fcols} -\def\LT@n@fcols{% - \advance\LT@cols\@ne - \ifx\@let@token\LT@nofcols - \expandafter\@gobble - \else - \expandafter\LT@nofcols - \fi} -\def\LT@tabularcr{% - \relax\iffalse{\fi\ifnum0=`}\fi - \@ifstar - {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr - \LT@t@bularcr}% - {\LT@t@bularcr}} -\let\LT@crcr\crcr -\let\LT@setprevdepth\relax -\def\LT@t@bularcr{% - \global\advance\LT@rows\@ne - \ifnum\LT@rows=\LTchunksize - \gdef\LT@setprevdepth{% - \prevdepth\z@\global - \global\let\LT@setprevdepth\relax}% - \expandafter\LT@xtabularcr - \else - \ifnum0=`{}\fi - \expandafter\LT@LL@FM@cr - \fi} -\def\LT@xtabularcr{% - \@ifnextchar[\LT@argtabularcr\LT@ntabularcr} -\def\LT@ntabularcr{% - \ifnum0=`{}\fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@argtabularcr[#1]{% - \ifnum0=`{}\fi - \ifdim #1>\z@ - \unskip\@xargarraycr{#1}% - \else - \@yargarraycr{#1}% - \fi - \LT@echunk - \LT@start - \unvbox\z@ - \LT@get@widths - \LT@bchunk} -\def\LT@echunk{% - \crcr\LT@save@row\cr\egroup - \global\setbox\@ne\lastbox - \unskip - \egroup} -\def\LT@entry#1#2{% - \ifhmode\@firstofone{&}\fi\omit - \ifnum#1=\c@LT@chunks - \else - \kern#2\relax - \fi} -\def\LT@entry@chop#1#2{% - \noexpand\LT@entry - {\ifnum#1>\c@LT@chunks - 1}{0pt% - \else - #1}{#2% - \fi}} -\def\LT@entry@write{% - \noexpand\LT@entry^^J% - \@spaces} -\def\LT@kill{% - \LT@echunk - \LT@get@widths - \expandafter\LT@rebox\LT@bchunk} -\def\LT@rebox#1\bgroup{% - #1\bgroup - \unvbox\z@ - \unskip - \setbox\z@\lastbox} -\def\LT@blank@row{% - \xdef\LT@save@row{\expandafter\LT@build@blank - \romannumeral\number\LT@cols 001 }} -\def\LT@build@blank#1{% - \if#1m% - \noexpand\LT@entry{1}{0pt}% - \expandafter\LT@build@blank - \fi} -\def\LT@make@row{% - \global\expandafter\let\expandafter\LT@save@row - \csname LT@\romannumeral\c@LT@tables\endcsname - \ifx\LT@save@row\relax - \LT@blank@row - \else - {\let\LT@entry\or - \if!% - \ifcase\expandafter\expandafter\expandafter\LT@cols - \expandafter\@gobble\LT@save@row - \or - \else - \relax - \fi - !% - \else - \aftergroup\LT@blank@row - \fi}% - \fi} -\let\setlongtables\relax -\def\LT@get@widths{% - \setbox\tw@\hbox{% - \unhbox\@ne - \let\LT@old@row\LT@save@row - \global\let\LT@save@row\@empty - \count@\LT@cols - \loop - \unskip - \setbox\tw@\lastbox - \ifhbox\tw@ - \LT@def@row - \advance\count@\m@ne - \repeat}% - \ifx\LT@@save@row\@undefined - \let\LT@@save@row\LT@save@row - \fi} -\def\LT@def@row{% - \let\LT@entry\or - \edef\@tempa{% - \ifcase\expandafter\count@\LT@old@row - \else - {1}{0pt}% - \fi}% - \let\LT@entry\relax - \xdef\LT@save@row{% - \LT@entry - \expandafter\LT@max@sel\@tempa - \LT@save@row}} -\def\LT@max@sel#1#2{% - {\ifdim#2=\wd\tw@ - #1% - \else - \number\c@LT@chunks - \fi}% - {\the\wd\tw@}} -\def\LT@hline{% - \noalign{\ifnum0=`}\fi - \penalty\@M - \futurelet\@let@token\LT@@hline} -\def\LT@@hline{% - \ifx\@let@token\hline - \global\let\@gtempa\@gobble - \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% - \else - \global\let\@gtempa\@empty - \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\LT@sep}% - \multispan\LT@cols - \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr - \noalign{\penalty\@M}% - \@gtempa} -\def\LT@caption{% - \noalign\bgroup - \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n} -\def\LT@c@ption#1[#2]#3{% - \LT@makecaption#1\fnum@table{#3}% - \def\@tempa{#2}% - \ifx\@tempa\@empty\else - {\let\\\space - \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}% - \fi} -\def\LT@capti@n{% - \@ifstar - {\egroup\LT@c@ption\@gobble[]}% - {\egroup\@xdblarg{\LT@c@ption\@firstofone}}} -\def\LT@makecaption#1#2#3{% - \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% - \sbox\@tempboxa{#1{#2: }#3}% - \ifdim\wd\@tempboxa>\hsize - #1{#2: }#3% - \else - \hbox to\hsize{\hfil\box\@tempboxa\hfil}% - \fi - \endgraf\vskip\baselineskip}% - \hss}}} -\def\LT@output{% - \ifnum\outputpenalty <-\@Mi - \ifnum\outputpenalty > -\LT@end@pen - \LT@err{floats and marginpars not allowed in a longtable}\@ehc - \else - \setbox\z@\vbox{\unvbox\@cclv}% - \ifdim \ht\LT@lastfoot>\ht\LT@foot - \dimen@\pagegoal - \advance\dimen@-\ht\LT@lastfoot - \ifdim\dimen@<\ht\z@ - \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% - \@makecol - \@outputpage - \setbox\z@\vbox{\box\LT@head}% - \fi - \fi - \global\@colroom\@colht - \global\vsize\@colht - \vbox - {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}% - \fi - \else - \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% - \@makecol - \@outputpage - \global\vsize\@colroom - \copy\LT@head\nobreak - \fi} -\def\LT@end@hd@ft#1{% - \LT@echunk - \ifx\LT@start\endgraf - \LT@err - {Longtable head or foot not at start of table}% - {Increase LTchunksize}% - \fi - \setbox#1\box\z@ - \LT@get@widths - \LT@bchunk} -\def\endfirsthead{\LT@end@hd@ft\LT@firsthead} -\def\endhead{\LT@end@hd@ft\LT@head} -\def\endfoot{\LT@end@hd@ft\LT@foot} -\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot} -\def\LT@startpbox#1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \vrule \@height \ht\@arstrutbox \@width \z@} -\def\LT@endpbox{% - \@finalstrut\@arstrutbox - \egroup - \the\LT@p@ftn - \global\LT@p@ftn{}% - \hfil} -%% added \long to prevent: -% LaTeX Warning: Command \LT@p@ftntext has changed. -% -% from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx): -% \changes{v4.15}{2021/03/28} -% {make long for gh/364} -% Inside the `p' column, just save up the footnote text in a token -% register. -\long\def\LT@p@ftntext#1{% - \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}% - \global\LT@p@ftn\expandafter{\@tempa{#1}}}% - -\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen} -\endinput -%% -%% End of file `longtable.sty'. diff --git a/documentation/latex/main_8c.tex b/documentation/latex/main_8c.tex deleted file mode 100644 index 5ab2827..0000000 --- a/documentation/latex/main_8c.tex +++ /dev/null @@ -1,26 +0,0 @@ -\doxysection{source\+\_\+code/main.c File Reference} -\hypertarget{main_8c}{}\label{main_8c}\index{source\_code/main.c@{source\_code/main.c}} -{\ttfamily \#include $<$stdio.\+h$>$}\newline -{\ttfamily \#include "{}MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/marigold\+\_\+dynamic\+\_\+array.\+h"{}}\newline -Include dependency graph for main.\+c\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=324pt]{main_8c__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \mbox{\hyperlink{main_8c_a840291bc02cba5474a4cb46a9b9566fe}{main}} (void) -\end{DoxyCompactItemize} - - -\doxysubsection{Function Documentation} -\Hypertarget{main_8c_a840291bc02cba5474a4cb46a9b9566fe}\label{main_8c_a840291bc02cba5474a4cb46a9b9566fe} -\index{main.c@{main.c}!main@{main}} -\index{main@{main}!main.c@{main.c}} -\doxysubsubsection{\texorpdfstring{main()}{main()}} -{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} - diff --git a/documentation/latex/main_8c__incl.md5 b/documentation/latex/main_8c__incl.md5 deleted file mode 100644 index 3f93962..0000000 --- a/documentation/latex/main_8c__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -373d51ce459a8cf191919b09c4cf7f65 \ No newline at end of file diff --git a/documentation/latex/main_8c__incl.pdf b/documentation/latex/main_8c__incl.pdf deleted file mode 100644 index 93b75ece4c67537e82ab73064e66a01ebf433e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8697 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\newline -{\ttfamily \#include $<$stdint.\+h$>$}\newline -{\ttfamily \#include $<$stdlib.\+h$>$}\newline -Include dependency graph for marigold\+\_\+dynamic\+\_\+array.\+h\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=285pt]{marigold__dynamic__array_8h__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=229pt]{marigold__dynamic__array_8h__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -struct \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -typedef struct \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \mbox{\hyperlink{marigold__dynamic__array_8h_aa03749e816311cda5048f053a4bbc069}{dynamic\+\_\+array}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{marigold__dynamic__array_8h_a12a619cb69a69466342cf46c4ed32ca0}{dynamic\+\_\+array\+\_\+create}} (size\+\_\+t item\+\_\+size, unsigned int starting\+\_\+capacity, unsigned char growth\+\_\+factor, bool is\+\_\+multithread\+\_\+safe) -\begin{DoxyCompactList}\small\item\em Create and initialize a new dynamic array. \end{DoxyCompactList}\item -unsigned int \mbox{\hyperlink{marigold__dynamic__array_8h_af82db6ce1a4c0277250ac4545b992517}{dynamic\+\_\+array\+\_\+get\+\_\+occupancy}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Get the number of elements currently in the array. \end{DoxyCompactList}\item -unsigned int \mbox{\hyperlink{marigold__dynamic__array_8h_a97aef4192e7bf8bc6601a485b975e8a1}{dynamic\+\_\+array\+\_\+get\+\_\+capacity}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Get the total capacity of the array. \end{DoxyCompactList}\item -void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{marigold__dynamic__array_8h_aa716a8b7cc3e7e4f2776445956b6f20c}{dynamic\+\_\+array\+\_\+get\+\_\+pointer\+\_\+to\+\_\+index}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array, const unsigned int index) -\begin{DoxyCompactList}\small\item\em Get a pointer to the element at the specified index. \end{DoxyCompactList}\item -const void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{marigold__dynamic__array_8h_a54614709f28d2da67d1349b39d449a64}{dynamic\+\_\+array\+\_\+get\+\_\+const\+\_\+pointer\+\_\+to\+\_\+index}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array, const unsigned int index) -\begin{DoxyCompactList}\small\item\em Get a const pointer to the element at the specified index. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_a41f398054650aba92c3cf66e6278273f}{dynamic\+\_\+array\+\_\+append}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array, const void \texorpdfstring{$\ast$}{*}element) -\begin{DoxyCompactList}\small\item\em Append an element to the end of the array. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_a8ffd2d54341aa8daa04fdac517e85b0b}{dynamic\+\_\+array\+\_\+pop}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Remove the last element from the array. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_a6c315e8471380136e9b4d1b17537481b}{dynamic\+\_\+array\+\_\+remove}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array, const unsigned int index) -\begin{DoxyCompactList}\small\item\em Remove an element at the specified index. \end{DoxyCompactList}\item -void \mbox{\hyperlink{marigold__dynamic__array_8h_a263862e1f35e8bde17a1ba9307b60785}{dynamic\+\_\+array\+\_\+clear}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Clear all elements from the array. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_a860a30efb898e1e20631b95ae544ece9}{dynamic\+\_\+array\+\_\+is\+\_\+empty}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Check if the array is empty. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_ab10002f58472dcb5f04c04c56790640d}{dynamic\+\_\+array\+\_\+increase\+\_\+capacity}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array, const unsigned int new\+\_\+capacity) -\begin{DoxyCompactList}\small\item\em Reserve additional capacity without changing size. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_af813494ee16c94e4f9d031be1665d2be}{dynamic\+\_\+array\+\_\+acquire}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Increment the owner count for shared ownership. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_a0638d6e4c6aba0de9925609de03bd57a}{dynamic\+\_\+array\+\_\+release}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Decrement the owner count for shared ownership. \end{DoxyCompactList}\item -unsigned short \mbox{\hyperlink{marigold__dynamic__array_8h_ac0fcc3f5599e1fbb2b14f48dc8cf1551}{dynamic\+\_\+array\+\_\+get\+\_\+owner\+\_\+count}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Get the current owner count. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_afd8d4acd91ed7b5260881faf93c2e265}{dynamic\+\_\+array\+\_\+is\+\_\+thread\+\_\+safe}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}array) -\begin{DoxyCompactList}\small\item\em Check if the array is thread-\/safe. \end{DoxyCompactList}\item -bool \mbox{\hyperlink{marigold__dynamic__array_8h_ab26fb7035357345d1db2d2619a96112f}{dynamic\+\_\+array\+\_\+clone}} (const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}original\+\_\+array, const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}new\+\_\+array) -\begin{DoxyCompactList}\small\item\em Creates a deep copy of the array. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\doxysubsection{Typedef Documentation} -\Hypertarget{marigold__dynamic__array_8h_aa03749e816311cda5048f053a4bbc069}\label{marigold__dynamic__array_8h_aa03749e816311cda5048f053a4bbc069} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array@{dynamic\_array}} -\index{dynamic\_array@{dynamic\_array}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array}{dynamic\_array}} -{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}}} - - - -\doxysubsection{Function Documentation} -\Hypertarget{marigold__dynamic__array_8h_af813494ee16c94e4f9d031be1665d2be}\label{marigold__dynamic__array_8h_af813494ee16c94e4f9d031be1665d2be} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_acquire@{dynamic\_array\_acquire}} -\index{dynamic\_array\_acquire@{dynamic\_array\_acquire}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_acquire()}{dynamic\_array\_acquire()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+acquire (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Increment the owner count for shared ownership. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true on success, false if owner\+\_\+count would overflow. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a41f398054650aba92c3cf66e6278273f}\label{marigold__dynamic__array_8h_a41f398054650aba92c3cf66e6278273f} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_append@{dynamic\_array\_append}} -\index{dynamic\_array\_append@{dynamic\_array\_append}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_append()}{dynamic\_array\_append()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+append (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array, }\item[{const void \texorpdfstring{$\ast$}{*}}]{element }\end{DoxyParamCaption})} - - - -Append an element to the end of the array. - -Automatically resizes if current\+\_\+size equals current\+\_\+capacity. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -{\em element} & Pointer to the element to append. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true on success, false on allocation failure. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a263862e1f35e8bde17a1ba9307b60785}\label{marigold__dynamic__array_8h_a263862e1f35e8bde17a1ba9307b60785} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_clear@{dynamic\_array\_clear}} -\index{dynamic\_array\_clear@{dynamic\_array\_clear}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_clear()}{dynamic\_array\_clear()}} -{\footnotesize\ttfamily void dynamic\+\_\+array\+\_\+clear (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Clear all elements from the array. - -Sets current\+\_\+size to 0. Does not free the memory block. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\Hypertarget{marigold__dynamic__array_8h_ab26fb7035357345d1db2d2619a96112f}\label{marigold__dynamic__array_8h_ab26fb7035357345d1db2d2619a96112f} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_clone@{dynamic\_array\_clone}} -\index{dynamic\_array\_clone@{dynamic\_array\_clone}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_clone()}{dynamic\_array\_clone()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+clone (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{original\+\_\+array, }\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{new\+\_\+array }\end{DoxyParamCaption})} - - - -Creates a deep copy of the array. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the copy being copied, and one to copy it onto. Must create your own struct instance.\\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true if creation is successful. False if it fails for any reason. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a12a619cb69a69466342cf46c4ed32ca0}\label{marigold__dynamic__array_8h_a12a619cb69a69466342cf46c4ed32ca0} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_create@{dynamic\_array\_create}} -\index{dynamic\_array\_create@{dynamic\_array\_create}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_create()}{dynamic\_array\_create()}} -{\footnotesize\ttfamily \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*} dynamic\+\_\+array\+\_\+create (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{item\+\_\+size, }\item[{unsigned int}]{starting\+\_\+capacity, }\item[{unsigned char}]{growth\+\_\+factor, }\item[{bool}]{is\+\_\+multithread\+\_\+safe }\end{DoxyParamCaption})} - - - -Create and initialize a new dynamic array. - -Creates a dynamic array with the specified item size and starting capacity. The growth\+\_\+factor determines how the array expands when capacity is exceeded. - - -\begin{DoxyParams}{Parameters} -{\em item\+\_\+size} & Size of each element in bytes. \\ -\hline -{\em starting\+\_\+capacity} & Initial number of elements to allocate space for. \\ -\hline -{\em growth\+\_\+factor} & Growth strategy\+: 0 = linear (+starting\+\_\+capacity), 1 = 1.\+5x, 2+ = multiplier (2 = 2x, 3 = 3x, etc.) \\ -\hline -{\em is\+\_\+multithread\+\_\+safe} & If true, enables thread-\/safe operations. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Pointer to the initialized \doxylink{structdynamic__array}{dynamic\+\_\+array}, or NULL on failure. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a97aef4192e7bf8bc6601a485b975e8a1}\label{marigold__dynamic__array_8h_a97aef4192e7bf8bc6601a485b975e8a1} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_get\_capacity@{dynamic\_array\_get\_capacity}} -\index{dynamic\_array\_get\_capacity@{dynamic\_array\_get\_capacity}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_get\_capacity()}{dynamic\_array\_get\_capacity()}} -{\footnotesize\ttfamily unsigned int dynamic\+\_\+array\+\_\+get\+\_\+capacity (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Get the total capacity of the array. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Total capacity (current\+\_\+capacity). -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a54614709f28d2da67d1349b39d449a64}\label{marigold__dynamic__array_8h_a54614709f28d2da67d1349b39d449a64} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_get\_const\_pointer\_to\_index@{dynamic\_array\_get\_const\_pointer\_to\_index}} -\index{dynamic\_array\_get\_const\_pointer\_to\_index@{dynamic\_array\_get\_const\_pointer\_to\_index}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_get\_const\_pointer\_to\_index()}{dynamic\_array\_get\_const\_pointer\_to\_index()}} -{\footnotesize\ttfamily const void \texorpdfstring{$\ast$}{*} dynamic\+\_\+array\+\_\+get\+\_\+const\+\_\+pointer\+\_\+to\+\_\+index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array, }\item[{const unsigned int}]{index }\end{DoxyParamCaption})} - - - -Get a const pointer to the element at the specified index. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -{\em index} & Index of the element to access. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Const pointer to the element, or NULL if index is out of bounds. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_af82db6ce1a4c0277250ac4545b992517}\label{marigold__dynamic__array_8h_af82db6ce1a4c0277250ac4545b992517} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_get\_occupancy@{dynamic\_array\_get\_occupancy}} -\index{dynamic\_array\_get\_occupancy@{dynamic\_array\_get\_occupancy}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_get\_occupancy()}{dynamic\_array\_get\_occupancy()}} -{\footnotesize\ttfamily unsigned int dynamic\+\_\+array\+\_\+get\+\_\+occupancy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Get the number of elements currently in the array. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Number of elements (current\+\_\+size). -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_ac0fcc3f5599e1fbb2b14f48dc8cf1551}\label{marigold__dynamic__array_8h_ac0fcc3f5599e1fbb2b14f48dc8cf1551} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_get\_owner\_count@{dynamic\_array\_get\_owner\_count}} -\index{dynamic\_array\_get\_owner\_count@{dynamic\_array\_get\_owner\_count}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_get\_owner\_count()}{dynamic\_array\_get\_owner\_count()}} -{\footnotesize\ttfamily unsigned short dynamic\+\_\+array\+\_\+get\+\_\+owner\+\_\+count (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Get the current owner count. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Current owner\+\_\+count value. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_aa716a8b7cc3e7e4f2776445956b6f20c}\label{marigold__dynamic__array_8h_aa716a8b7cc3e7e4f2776445956b6f20c} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_get\_pointer\_to\_index@{dynamic\_array\_get\_pointer\_to\_index}} -\index{dynamic\_array\_get\_pointer\_to\_index@{dynamic\_array\_get\_pointer\_to\_index}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_get\_pointer\_to\_index()}{dynamic\_array\_get\_pointer\_to\_index()}} -{\footnotesize\ttfamily void \texorpdfstring{$\ast$}{*} dynamic\+\_\+array\+\_\+get\+\_\+pointer\+\_\+to\+\_\+index (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array, }\item[{const unsigned int}]{index }\end{DoxyParamCaption})} - - - -Get a pointer to the element at the specified index. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -{\em index} & Index of the element to access. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Pointer to the element, or NULL if index is out of bounds. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_ab10002f58472dcb5f04c04c56790640d}\label{marigold__dynamic__array_8h_ab10002f58472dcb5f04c04c56790640d} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_increase\_capacity@{dynamic\_array\_increase\_capacity}} -\index{dynamic\_array\_increase\_capacity@{dynamic\_array\_increase\_capacity}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_increase\_capacity()}{dynamic\_array\_increase\_capacity()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+increase\+\_\+capacity (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array, }\item[{const unsigned int}]{new\+\_\+capacity }\end{DoxyParamCaption})} - - - -Reserve additional capacity without changing size. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -{\em new\+\_\+capacity} & Desired capacity. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true on success, false on allocation failure. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a860a30efb898e1e20631b95ae544ece9}\label{marigold__dynamic__array_8h_a860a30efb898e1e20631b95ae544ece9} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_is\_empty@{dynamic\_array\_is\_empty}} -\index{dynamic\_array\_is\_empty@{dynamic\_array\_is\_empty}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_is\_empty()}{dynamic\_array\_is\_empty()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+is\+\_\+empty (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Check if the array is empty. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true if current\+\_\+size is 0, false otherwise. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_afd8d4acd91ed7b5260881faf93c2e265}\label{marigold__dynamic__array_8h_afd8d4acd91ed7b5260881faf93c2e265} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_is\_thread\_safe@{dynamic\_array\_is\_thread\_safe}} -\index{dynamic\_array\_is\_thread\_safe@{dynamic\_array\_is\_thread\_safe}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_is\_thread\_safe()}{dynamic\_array\_is\_thread\_safe()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+is\+\_\+thread\+\_\+safe (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Check if the array is thread-\/safe. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true if is\+\_\+multithread\+\_\+safe is set, false otherwise. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a8ffd2d54341aa8daa04fdac517e85b0b}\label{marigold__dynamic__array_8h_a8ffd2d54341aa8daa04fdac517e85b0b} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_pop@{dynamic\_array\_pop}} -\index{dynamic\_array\_pop@{dynamic\_array\_pop}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_pop()}{dynamic\_array\_pop()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+pop (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Remove the last element from the array. - -Decrements current\+\_\+size. Does not free the memory block. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true on success, false if array is empty. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a0638d6e4c6aba0de9925609de03bd57a}\label{marigold__dynamic__array_8h_a0638d6e4c6aba0de9925609de03bd57a} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_release@{dynamic\_array\_release}} -\index{dynamic\_array\_release@{dynamic\_array\_release}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_release()}{dynamic\_array\_release()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+release (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array }\end{DoxyParamCaption})} - - - -Decrement the owner count for shared ownership. - -If owner\+\_\+count reaches 0, the array is automatically destroyed. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true if owner\+\_\+count \texorpdfstring{$>$}{>} 0 after decrement, false if destroyed. -\end{DoxyReturn} -\Hypertarget{marigold__dynamic__array_8h_a6c315e8471380136e9b4d1b17537481b}\label{marigold__dynamic__array_8h_a6c315e8471380136e9b4d1b17537481b} -\index{marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}!dynamic\_array\_remove@{dynamic\_array\_remove}} -\index{dynamic\_array\_remove@{dynamic\_array\_remove}!marigold\_dynamic\_array.h@{marigold\_dynamic\_array.h}} -\doxysubsubsection{\texorpdfstring{dynamic\_array\_remove()}{dynamic\_array\_remove()}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+\_\+remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structdynamic__array}{dynamic\+\_\+array}} \texorpdfstring{$\ast$}{*}}]{array, }\item[{const unsigned int}]{index }\end{DoxyParamCaption})} - - - -Remove an element at the specified index. - -Shifts subsequent elements down to fill the gap. - - -\begin{DoxyParams}{Parameters} -{\em array} & Pointer to the \doxylink{structdynamic__array}{dynamic\+\_\+array}. \\ -\hline -{\em index} & Index of the element to remove. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -true on success, false if index is out of bounds. -\end{DoxyReturn} diff --git a/documentation/latex/marigold__dynamic__array_8h__dep__incl.md5 b/documentation/latex/marigold__dynamic__array_8h__dep__incl.md5 deleted file mode 100644 index a745e33..0000000 --- a/documentation/latex/marigold__dynamic__array_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -346939f1c00e7d92eddb43b49492aba5 \ No newline at end of file diff --git a/documentation/latex/marigold__dynamic__array_8h__dep__incl.pdf b/documentation/latex/marigold__dynamic__array_8h__dep__incl.pdf deleted file mode 100644 index cc7e8dc745ef7cee31c1371e52a86f87acb40b30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8045 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 fD}} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ } -\DoxyCodeLine{00008\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structdynamic__array}{dynamic\_array}}} -\DoxyCodeLine{00009\ \{} -\DoxyCodeLine{00010\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{structdynamic__array_a3b19d692a6b8539bc58551e39bf6dfaa}{item\_size}};} -\DoxyCodeLine{00011\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{void}*\ \mbox{\hyperlink{structdynamic__array_a2fec64b33dac49cedbc5888cd8e8a846}{memory\_block\_pointer}};} -\DoxyCodeLine{00012\ } -\DoxyCodeLine{00013\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structdynamic__array_ac33ca1e3db1d4229852b9f36b62f2e08}{starting\_capacity}};} -\DoxyCodeLine{00014\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structdynamic__array_a633fcea60fb454a78a7a058e3bda0bbe}{current\_capacity}};} -\DoxyCodeLine{00015\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structdynamic__array_ae7da5f21eb2bfdeff0e05b53598185c5}{current\_size}};} -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{short}\ \mbox{\hyperlink{structdynamic__array_a105f76026911ac2665bf25a73ecf30a6}{owner\_count}};} -\DoxyCodeLine{00018\ } -\DoxyCodeLine{00019\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structdynamic__array_aa3d42a1672d2015f89d8c607124fa3e5}{growth\_factor}};} -\DoxyCodeLine{00020\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{structdynamic__array_affeb533fae8aa1d8d80abc61e3380cc1}{is\_multithread\_safe}};} -\DoxyCodeLine{00021\ \}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}};} -\DoxyCodeLine{00022\ } -\DoxyCodeLine{00036\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ \mbox{\hyperlink{marigold__dynamic__array_8h_a12a619cb69a69466342cf46c4ed32ca0}{dynamic\_array\_create}}(\textcolor{keywordtype}{size\_t}\ item\_size,} -\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ starting\_capacity,} -\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{char}\ growth\_factor,} -\DoxyCodeLine{00039\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ is\_multithread\_safe);} -\DoxyCodeLine{00040\ } -\DoxyCodeLine{00047\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{marigold__dynamic__array_8h_af82db6ce1a4c0277250ac4545b992517}{dynamic\_array\_get\_occupancy}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00048\ } -\DoxyCodeLine{00055\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a97aef4192e7bf8bc6601a485b975e8a1}{dynamic\_array\_get\_capacity}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00056\ } -\DoxyCodeLine{00064\ \textcolor{keywordtype}{void}*\ \mbox{\hyperlink{marigold__dynamic__array_8h_aa716a8b7cc3e7e4f2776445956b6f20c}{dynamic\_array\_get\_pointer\_to\_index}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array,} -\DoxyCodeLine{00065\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ index);} -\DoxyCodeLine{00066\ } -\DoxyCodeLine{00074\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ \mbox{\hyperlink{marigold__dynamic__array_8h_a54614709f28d2da67d1349b39d449a64}{dynamic\_array\_get\_const\_pointer\_to\_index}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array,} -\DoxyCodeLine{00075\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ index);} -\DoxyCodeLine{00076\ } -\DoxyCodeLine{00086\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a41f398054650aba92c3cf66e6278273f}{dynamic\_array\_append}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array,} -\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{void}*\ element);} -\DoxyCodeLine{00088\ } -\DoxyCodeLine{00097\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a8ffd2d54341aa8daa04fdac517e85b0b}{dynamic\_array\_pop}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00098\ } -\DoxyCodeLine{00108\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a6c315e8471380136e9b4d1b17537481b}{dynamic\_array\_remove}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array,} -\DoxyCodeLine{00109\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ index);} -\DoxyCodeLine{00110\ } -\DoxyCodeLine{00118\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a263862e1f35e8bde17a1ba9307b60785}{dynamic\_array\_clear}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00119\ } -\DoxyCodeLine{00126\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a860a30efb898e1e20631b95ae544ece9}{dynamic\_array\_is\_empty}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00127\ } -\DoxyCodeLine{00135\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_ab10002f58472dcb5f04c04c56790640d}{dynamic\_array\_increase\_capacity}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array,} -\DoxyCodeLine{00136\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ new\_capacity);} -\DoxyCodeLine{00137\ } -\DoxyCodeLine{00144\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_af813494ee16c94e4f9d031be1665d2be}{dynamic\_array\_acquire}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00145\ } -\DoxyCodeLine{00154\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_a0638d6e4c6aba0de9925609de03bd57a}{dynamic\_array\_release}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00155\ } -\DoxyCodeLine{00162\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{short}\ \mbox{\hyperlink{marigold__dynamic__array_8h_ac0fcc3f5599e1fbb2b14f48dc8cf1551}{dynamic\_array\_get\_owner\_count}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00163\ } -\DoxyCodeLine{00170\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_afd8d4acd91ed7b5260881faf93c2e265}{dynamic\_array\_is\_thread\_safe}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ array);} -\DoxyCodeLine{00171\ } -\DoxyCodeLine{00180\ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{marigold__dynamic__array_8h_ab26fb7035357345d1db2d2619a96112f}{dynamic\_array\_clone}}(\textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ original\_array,} -\DoxyCodeLine{00181\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keyword}{const}\ \mbox{\hyperlink{structdynamic__array}{dynamic\_array}}*\ new\_array);} -\DoxyCodeLine{00182\ } -\DoxyCodeLine{00183\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ DYNAMIC\_ARRAY\_H\ */}\textcolor{preprocessor}{}} - -\end{DoxyCode} diff --git a/documentation/latex/md_README.tex b/documentation/latex/md_README.tex deleted file mode 100644 index 2879fb6..0000000 --- a/documentation/latex/md_README.tex +++ /dev/null @@ -1,5 +0,0 @@ -\chapter{marigold\+\_\+dynamic\+\_\+array} -\hypertarget{md_README}{}\label{md_README}\index{marigold\_dynamic\_array@{marigold\_dynamic\_array}} -\label{md_README_autotoc_md0}% -\Hypertarget{md_README_autotoc_md0}% - \doxylink{structdynamic__array}{dynamic\+\_\+array} implementation in C99 with toggle-\/able thread-\/safety via mutex locks. \ No newline at end of file diff --git a/documentation/latex/refman.tex b/documentation/latex/refman.tex deleted file mode 100644 index 9bc5c2a..0000000 --- a/documentation/latex/refman.tex +++ /dev/null @@ -1,238 +0,0 @@ - % Handle batch mode - % to overcome problems with too many open files - \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage} - \pdfminorversion=7 - % Set document class depending on configuration - \documentclass[twoside]{book} - %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package - \usepackage{ifthen} - \ifx\requestedLaTeXdate\undefined - \usepackage{array} - \else - \usepackage{array}[=2016-10-06] - \fi - %% - % Packages required by doxygen - \makeatletter - \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} - % suppress package identification of infwarerr as it contains the word "warning" - \let\@@protected@wlog\protected@wlog - \def\protected@wlog#1{\wlog{package info suppressed}} - \RequirePackage{infwarerr} - \let\protected@wlog\@@protected@wlog - \makeatother - \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript - \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{} - \usepackage{doxygen} - \usepackage{graphicx} - \usepackage[utf8]{inputenc} - \usepackage{makeidx} - \PassOptionsToPackage{warn}{textcomp} - \usepackage{textcomp} - \usepackage[nointegrals]{wasysym} - \usepackage{ifxetex} - % NLS support packages - % Define default fonts - % Font selection - \usepackage[T1]{fontenc} - % set main and monospaced font - \usepackage[scaled=.90]{helvet} -\usepackage{courier} -\renewcommand{\familydefault}{\sfdefault} - \doxyallsectionsfont{% - \fontseries{bc}\selectfont% - \color{darkgray}% - } - \renewcommand{\DoxyLabelFont}{% - \fontseries{bc}\selectfont% - \color{darkgray}% - } - \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} - % Arguments of doxygenemoji: - % 1) '::' form of the emoji, already LaTeX-escaped - % 2) file with the name of the emoji without the .png extension - % in case image exist use this otherwise use the '::' form - \newcommand{\doxygenemoji}[2]{% - \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}% - } - % Page & text layout - \usepackage{geometry} - \geometry{% - a4paper,% - top=2.5cm,% - bottom=2.5cm,% - left=2.5cm,% - right=2.5cm% - } - \usepackage{changepage} - % Allow a bit of overflow to go unnoticed by other means - \tolerance=750 - \hfuzz=15pt - \hbadness=750 - \setlength{\emergencystretch}{15pt} - \setlength{\parindent}{0cm} - \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}} - \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}} - \doxynormalparskip - % Redefine paragraph/subparagraph environments, using sectsty fonts - \makeatletter - \renewcommand{\paragraph}{% - \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@parafont% - }% - } - \renewcommand{\subparagraph}{% - \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@subparafont% - }% - } - \makeatother - \makeatletter - \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@} - \makeatother - % Headers & footers - \usepackage{fancyhdr} - \pagestyle{fancyplain} - \renewcommand{\footrulewidth}{0.4pt} - \fancypagestyle{fancyplain}{ - \fancyhf{} - \fancyhead[LE, RO]{\bfseries\thepage} - \fancyhead[LO]{\bfseries\rightmark} - \fancyhead[RE]{\bfseries\leftmark} - \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } - } - \fancypagestyle{plain}{ - \fancyhf{} - \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen } - \renewcommand{\headrulewidth}{0pt} - } - \pagestyle{fancyplain} - \renewcommand{\chaptermark}[1]{% - \markboth{#1}{}% - } - \renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}% - } - % ToC, LoF, LoT, bibliography, and index - % Indices & bibliography - \usepackage{natbib} - \usepackage[titles]{tocloft} - \setcounter{tocdepth}{3} - \setcounter{secnumdepth}{5} - % creating indexes - \makeindex - \usepackage{newunicodechar} - \makeatletter - \def\doxynewunicodechar#1#2{% - \@tempswafalse - \edef\nuc@tempa{\detokenize{#1}}% - \if\relax\nuc@tempa\relax - \nuc@emptyargerr - \else - \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}% - \nuc@check - \if@tempswa - \@namedef{u8:\nuc@tempa}{#2}% - \fi - \fi - } - \makeatother - \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus - \doxynewunicodechar{²}{${}^{2}$}% Superscript two - \doxynewunicodechar{³}{${}^{3}$}% Superscript three - % Hyperlinks - % Hyperlinks (required, but should be loaded last) - \ifpdf - \usepackage[pdftex,pagebackref=true]{hyperref} - \else - \ifxetex - \usepackage[pagebackref=true]{hyperref} - \else - \usepackage[ps2pdf,pagebackref=true]{hyperref} - \fi - \fi - \hypersetup{% - colorlinks=true,% - linkcolor=blue,% - citecolor=blue,% - unicode,% - pdftitle={My Project},% - pdfsubject={}% - } - % Custom commands used by the header - % Custom commands - \newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}% - } - % caption style definition - \usepackage{caption} - \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} - % in page table of contents - \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}} - \etocsettocstyle{\doxytocparskip}{\doxynormalparskip} - \etocsetlevel{subsubsubsection}{4} - \etocsetlevel{subsubsubsubsection}{5} - \etocsetlevel{subsubsubsubsubsection}{6} - \etocsetlevel{subsubsubsubsubsubsection}{7} - \etocsetlevel{paragraph}{8} - \etocsetlevel{subparagraph}{9} - % prevent numbers overlap the titles in toc - \renewcommand{\numberline}[1]{#1~} -% End of preamble, now comes the document contents -%===== C O N T E N T S ===== -\begin{document} - \raggedbottom - % Titlepage & ToC - % To avoid duplicate page anchors due to reuse of same numbers for - % the index (be it as roman numbers) - \hypersetup{pageanchor=false, - bookmarksnumbered=true, - pdfencoding=unicode - } - \pagenumbering{alph} - \begin{titlepage} - \vspace*{7cm} - \begin{center}% - {\Large My Project}\\ - \vspace*{1cm} - {\large Generated by Doxygen 1.9.8}\\ - \end{center} - \end{titlepage} - \clearemptydoublepage - \pagenumbering{roman} - \tableofcontents - \clearemptydoublepage - \pagenumbering{arabic} - % re-enable anchors again - \hypersetup{pageanchor=true} -%--- Begin generated contents --- -\input{md_README} -\chapter{Class Index} -\input{annotated} -\chapter{File Index} -\input{files} -\chapter{Class Documentation} -\input{structdynamic__array} -\chapter{File Documentation} -\input{README_8md} -\input{main_8c} -\input{internal__marigold__dynamic__array_8c} -\input{internal__marigold__dynamic__array_8h} -\input{internal__marigold__dynamic__array_8h_source} -\input{marigold__dynamic__array_8c} -\input{marigold__dynamic__array_8h} -\input{marigold__dynamic__array_8h_source} -\input{test__marigold__dynamic__array_8c} -\input{test__marigold__dynamic__array_8h} -\input{test__marigold__dynamic__array_8h_source} -\input{test__main_8c} -%--- End generated contents --- -% Index - \backmatter - \newpage - \phantomsection - \clearemptydoublepage - \addcontentsline{toc}{chapter}{\indexname} - \printindex -% Required for some languages (in combination with latexdocumentpre from the header) -\end{document} diff --git a/documentation/latex/structdynamic__array.tex b/documentation/latex/structdynamic__array.tex deleted file mode 100644 index a2693d9..0000000 --- a/documentation/latex/structdynamic__array.tex +++ /dev/null @@ -1,81 +0,0 @@ -\doxysection{dynamic\+\_\+array Struct Reference} -\hypertarget{structdynamic__array}{}\label{structdynamic__array}\index{dynamic\_array@{dynamic\_array}} - - -{\ttfamily \#include $<$marigold\+\_\+dynamic\+\_\+array.\+h$>$} - -\doxysubsubsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -size\+\_\+t \mbox{\hyperlink{structdynamic__array_a3b19d692a6b8539bc58551e39bf6dfaa}{item\+\_\+size}} -\item -void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structdynamic__array_a2fec64b33dac49cedbc5888cd8e8a846}{memory\+\_\+block\+\_\+pointer}} -\item -unsigned int \mbox{\hyperlink{structdynamic__array_ac33ca1e3db1d4229852b9f36b62f2e08}{starting\+\_\+capacity}} -\item -unsigned int \mbox{\hyperlink{structdynamic__array_a633fcea60fb454a78a7a058e3bda0bbe}{current\+\_\+capacity}} -\item -unsigned int \mbox{\hyperlink{structdynamic__array_ae7da5f21eb2bfdeff0e05b53598185c5}{current\+\_\+size}} -\item -unsigned short \mbox{\hyperlink{structdynamic__array_a105f76026911ac2665bf25a73ecf30a6}{owner\+\_\+count}} -\item -unsigned char \mbox{\hyperlink{structdynamic__array_aa3d42a1672d2015f89d8c607124fa3e5}{growth\+\_\+factor}} -\item -bool \mbox{\hyperlink{structdynamic__array_affeb533fae8aa1d8d80abc61e3380cc1}{is\+\_\+multithread\+\_\+safe}} -\end{DoxyCompactItemize} - - -\doxysubsection{Member Data Documentation} -\Hypertarget{structdynamic__array_a633fcea60fb454a78a7a058e3bda0bbe}\label{structdynamic__array_a633fcea60fb454a78a7a058e3bda0bbe} -\index{dynamic\_array@{dynamic\_array}!current\_capacity@{current\_capacity}} -\index{current\_capacity@{current\_capacity}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{current\_capacity}{current\_capacity}} -{\footnotesize\ttfamily unsigned int dynamic\+\_\+array\+::current\+\_\+capacity} - -\Hypertarget{structdynamic__array_ae7da5f21eb2bfdeff0e05b53598185c5}\label{structdynamic__array_ae7da5f21eb2bfdeff0e05b53598185c5} -\index{dynamic\_array@{dynamic\_array}!current\_size@{current\_size}} -\index{current\_size@{current\_size}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{current\_size}{current\_size}} -{\footnotesize\ttfamily unsigned int dynamic\+\_\+array\+::current\+\_\+size} - -\Hypertarget{structdynamic__array_aa3d42a1672d2015f89d8c607124fa3e5}\label{structdynamic__array_aa3d42a1672d2015f89d8c607124fa3e5} -\index{dynamic\_array@{dynamic\_array}!growth\_factor@{growth\_factor}} -\index{growth\_factor@{growth\_factor}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{growth\_factor}{growth\_factor}} -{\footnotesize\ttfamily unsigned char dynamic\+\_\+array\+::growth\+\_\+factor} - -\Hypertarget{structdynamic__array_affeb533fae8aa1d8d80abc61e3380cc1}\label{structdynamic__array_affeb533fae8aa1d8d80abc61e3380cc1} -\index{dynamic\_array@{dynamic\_array}!is\_multithread\_safe@{is\_multithread\_safe}} -\index{is\_multithread\_safe@{is\_multithread\_safe}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{is\_multithread\_safe}{is\_multithread\_safe}} -{\footnotesize\ttfamily bool dynamic\+\_\+array\+::is\+\_\+multithread\+\_\+safe} - -\Hypertarget{structdynamic__array_a3b19d692a6b8539bc58551e39bf6dfaa}\label{structdynamic__array_a3b19d692a6b8539bc58551e39bf6dfaa} -\index{dynamic\_array@{dynamic\_array}!item\_size@{item\_size}} -\index{item\_size@{item\_size}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{item\_size}{item\_size}} -{\footnotesize\ttfamily size\+\_\+t dynamic\+\_\+array\+::item\+\_\+size} - -\Hypertarget{structdynamic__array_a2fec64b33dac49cedbc5888cd8e8a846}\label{structdynamic__array_a2fec64b33dac49cedbc5888cd8e8a846} -\index{dynamic\_array@{dynamic\_array}!memory\_block\_pointer@{memory\_block\_pointer}} -\index{memory\_block\_pointer@{memory\_block\_pointer}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{memory\_block\_pointer}{memory\_block\_pointer}} -{\footnotesize\ttfamily void\texorpdfstring{$\ast$}{*} dynamic\+\_\+array\+::memory\+\_\+block\+\_\+pointer} - -\Hypertarget{structdynamic__array_a105f76026911ac2665bf25a73ecf30a6}\label{structdynamic__array_a105f76026911ac2665bf25a73ecf30a6} -\index{dynamic\_array@{dynamic\_array}!owner\_count@{owner\_count}} -\index{owner\_count@{owner\_count}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{owner\_count}{owner\_count}} -{\footnotesize\ttfamily unsigned short dynamic\+\_\+array\+::owner\+\_\+count} - -\Hypertarget{structdynamic__array_ac33ca1e3db1d4229852b9f36b62f2e08}\label{structdynamic__array_ac33ca1e3db1d4229852b9f36b62f2e08} -\index{dynamic\_array@{dynamic\_array}!starting\_capacity@{starting\_capacity}} -\index{starting\_capacity@{starting\_capacity}!dynamic\_array@{dynamic\_array}} -\doxysubsubsection{\texorpdfstring{starting\_capacity}{starting\_capacity}} -{\footnotesize\ttfamily unsigned int dynamic\+\_\+array\+::starting\+\_\+capacity} - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/\mbox{\hyperlink{marigold__dynamic__array_8h}{marigold\+\_\+dynamic\+\_\+array.\+h}}\end{DoxyCompactItemize} diff --git a/documentation/latex/tabu_doxygen.sty b/documentation/latex/tabu_doxygen.sty deleted file mode 100644 index 3f17d1d..0000000 --- a/documentation/latex/tabu_doxygen.sty +++ /dev/null @@ -1,2557 +0,0 @@ -%% -%% This is file `tabu.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% tabu.dtx (with options: `package') -%% -%% This is a generated file. -%% Copyright (FC) 2010-2011 - lppl -%% -%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars -%% -%% ********************************************************************************************** -%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal -%% \begin{tabu} to { preamble } => target specified -%% \begin{tabu} spread { preamble } => target relative to the ``natural width'' -%% -%% tabu works in text and in math modes. -%% -%% X columns: automatic width adjustment + horizontal and vertical alignment -%% \begin{tabu} { X[4c] X[1c] X[-2ml] } -%% -%% Horizontal lines and / or leaders: -%% \hline\hline => double horizontal line -%% \firsthline\hline => for nested tabulars -%% \lasthline\hline => for nested tabulars -%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader) -%% Automatic lines / leaders : -%% \everyrow{\hline\hline} -%% -%% Vertical lines and / or leaders: -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] } -%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] } -%% -%% Fixed vertical spacing adjustment: -%% \extrarowheight= \extrarowdepth= -%% or: \extrarowsep= => may be prefixed by \global -%% -%% Dynamic vertical spacing adjustment: -%% \abovetabulinesep= \belowtabulinesep= -%% or: \tabulinesep= => may be prefixed by \global -%% -%% delarray.sty shortcuts: in math and text modes -%% \begin{tabu} .... \({ preamble }\) -%% -%% Algorithms reports: -%% \tracingtabu=1 \tracingtabu=2 -%% -%% ********************************************************************************************** -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3 of this license or (at your option) any later -%% version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% -%% This work consists of the main source file tabu.dtx -%% and the derived files -%% tabu.sty, tabu.pdf, tabu.ins -%% -%% tabu : Flexible LaTeX tabulars -%% lppl copyright 2010-2011 by FC -%% - -\NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen] -\RequirePackage{array}[2008/09/09] -\RequirePackage{varwidth}[2009/03/30] -\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} -\let\tabu@AtEnd\@empty -\def\TMP@EnsureCode#1={% - \edef\tabu@AtEnd{\tabu@AtEnd - \catcode#1 \the\catcode#1}% - \catcode#1=% -}% \TMP@EnsureCode -\TMP@EnsureCode 33 = 12 % ! -\TMP@EnsureCode 58 = 12 % : (for siunitx) -\TMP@EnsureCode124 = 12 % | -\TMP@EnsureCode 36 = 3 % $ = math shift -\TMP@EnsureCode 38 = 4 % & = tab alignment character -\TMP@EnsureCode 32 = 10 % space -\TMP@EnsureCode 94 = 7 % ^ -\TMP@EnsureCode 95 = 8 % _ -%% Constants -------------------------------------------------------- -\newcount \c@taburow \def\thetaburow {\number\c@taburow} -\newcount \tabu@nbcols -\newcount \tabu@cnt -\newcount \tabu@Xcol -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcount \tabu@alloc \tabu@alloc=\m@ne -\newcount \tabu@nested -\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc} -\newdimen \tabu@target -\newdimen \tabu@spreadtarget -\newdimen \tabu@naturalX -\newdimen \tabucolX -\let\tabu@DELTA \@tempdimc -\let\tabu@thick \@tempdima -\let\tabu@on \@tempdimb -\let\tabu@off \@tempdimc -\newdimen \tabu@Xsum -\newdimen \extrarowdepth -\newdimen \abovetabulinesep -\newdimen \belowtabulinesep -\newdimen \tabustrutrule \tabustrutrule \z@ -\newtoks \tabu@thebody -\newtoks \tabu@footnotes -\newsavebox \tabu@box -\newsavebox \tabu@arstrutbox -\newsavebox \tabu@hleads -\newsavebox \tabu@vleads -\newif \iftabu@colortbl -\newif \iftabu@siunitx -\newif \iftabu@measuring -\newif \iftabu@spread -\newif \iftabu@negcoef -\newif \iftabu@everyrow -\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue} -\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse} -\newif \iftabu@long -\newif \iftabuscantokens -\def\tabu@rescan {\tabu@verbatim \scantokens } -%% Utilities (for internal usage) ----------------------------------- -\def\tabu@gobblespace #1 {#1} -\def\tabu@gobbletoken #1#2{#1} -\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex} -\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble - \else\ifx \@sptoken\@let@token - \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX - \fi\fi -}% \tabu@gobblex -\def\tabu@X{^^J} -{\obeyspaces -\global\let\tabu@spxiii= % saves an active space (for \ifx) -\gdef\tabu@@spxiii{ }} -\def\tabu@ifenvir {% only for \multicolumn - \expandafter\tabu@if@nvir\csname\@currenvir\endcsname -}% \tabu@ifenvir -\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else - \ifx\longtabu#1first\else - second\fi\fi oftwo\endcsname -}% \tabu@ifenvir -\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi} -{\catcode`\&=3 -\gdef\tabu@strtrim #1{% #1 = control sequence to trim - \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi - \let\tabu@c@l@r \@empty \let#1\@empty - \else \expandafter \tabu@trimspaces #1\@nnil - \fi -}% \tabu@strtrim -\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }% -\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&} -\gdef\tabu@lastspace #1{\def #3{#1}% - \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi - \tabu@trimspaces #1\@nnil} -}% \catcode -\def\tabu@sanitizearg #1#2{{% - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2% - \expandafter}\expandafter\def\expandafter#2\expandafter{#2}% -}% \tabu@sanitizearg -\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}% - \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!! -}% \tabu@textbar -\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi} -\def\tabu@everyrow@egroup{% - \iftabu@everyrow \expandafter \endgroup \the\toks@ - \else \ifnum0=`{\fi}% - \fi -}% \tabu@everyrow@egroup -\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \z@}% -}% \tabu@arstrut -\def\tabu@rearstrut {% - \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax - \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax - \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima - \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi - \tabu@mkarstrut - \fi -}% \tabu@rearstrut -\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi} -\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox - \hbox to\z@{\hbox to\z@{\hss - {\tabu@DBG{cyan}\vrule - height \arraystretch \dimexpr\ht\strutbox+\extrarowheight - depth \z@ - width \tabustrutrule}\kern-\tabustrutrule - {\tabu@DBG{pink}\vrule - height \z@ - depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth - width \tabustrutrule}}}% -}% \tabu@DBG@arstrut -\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@ - \@nextchar}}% -\def\tabu@savedecl{\ifcat$\d@llarend\else - \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode -}% \tabu@savedecl -\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@} -\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k } -\let\tabu@trialh@@k \@empty -\def\tabu@nowrite #1#{{\afterassignment}\toks@} -\let\tabu@write\write -\let\tabu@immediate\immediate -\def\tabu@WRITE{\begingroup - \def\immediate\write{\aftergroup\endgroup - \tabu@immediate\tabu@write}% -}% \tabu@WRITE -\expandafter\def\expandafter\tabu@GenericError\expandafter{% - \expandafter\tabu@WRITE\GenericError} -\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}} -\def\tabu@noxfootnote [#1]{\@gobble} -\def\tabu@nocolor #1#{\@gobble} -\newcommand*\tabu@norowcolor[2][]{} -\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}% - \futurelet\@let@token \tabu@m@ybesiunitx} -\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {% - \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi - \tabu@temp}% \tabu@m@ybesiunitx -}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname -\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}% -%% Fixed vertical spacing adjustment: \extrarowsep ------------------ -\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}% - \iftabu@everyrow \aftergroup\tabu@Gextra - \else \aftergroup\tabu@n@Gextra - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra -}% \extrarowsep -\def\tabu@extra {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setextrasep \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extra -\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2} -\def\tabu@extr@ #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth - \fi \tabu@temp}% -}% \tabu@extr@ -\def\tabu@setextrasep {\extrarowheight=\extrarowdepth - \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth -}% \tabu@setextrasep -\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi} -\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi} -\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra} -\let\tabu@C@extra \z@ -\let\tabu@G@extra \@empty -%% Dynamic vertical spacing adjustment: \tabulinesep ---------------- -\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}% - \iftabu@everyrow \aftergroup\tabu@Glinesep - \else \aftergroup\tabu@n@Glinesep - \fi - \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep -}% \tabulinesep -\def\tabu@linesep {\@ifnextchar_% - {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}} - {\ifx ^\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}% - \else \let\tabu@temp \@empty - \afterassignment \tabu@setlinesep \abovetabulinesep - \fi \tabu@temp}% -}% \tabu@linesep -\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2} -\def\tabu@sets@p #1#2{\@ifnextchar^% - {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}} - {\ifx _\@let@token \def\tabu@temp{% - \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}% - \else \let\tabu@temp \@empty - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep - \fi \tabu@temp}% -}% \tabu@sets@p -\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep - \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep -}% \tabu@setlinesep -\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi} -\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi} -\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep} -\let\tabu@C@linesep \z@ -\let\tabu@G@linesep \@empty -%% \global\extrarowsep and \global\tabulinesep ------------------- -\def\tabu@Gsave #1#2#3#4{\xdef#1{#1% - \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}% -}% \tabu@Gsave -\def\tabu@Grestore#1#2{% - \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax - \ifcat$\the\toks\currentgrouplevel$\else - \global\let#1\@empty \global\let#2\z@ - \the\toks\currentgrouplevel - \fi -}% \tabu@Grestore -%% Setting code for every row --------------------------------------- -\newcommand*\everyrow{\tabu@everyrow@bgroup - \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop -}% \everyrow -\def\tabu@evrstartstop {\@ifnextchar^% - {\afterassignment \tabu@evrstartstop \tabu@stop=}% - {\ifx ^\@let@token - \afterassignment\tabu@evrstartstop \tabu@start=% - \else \afterassignment\tabu@everyr@w \toks@ - \fi}% -}% \tabu@evrstartstop -\def\tabu@everyr@w {% - \xdef\tabu@everyrow{% - \noexpand\tabu@everyrowfalse - \let\noalign \relax - \noexpand\tabu@rowfontreset - \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors - \let\noexpand\tabu@docline \noexpand\tabu@docline@evr - \the\toks@ - \noexpand\tabu@evrh@@k - \noexpand\tabu@rearstrut - \global\advance\c@taburow \@ne}% - \iftabu@everyrow \toks@\expandafter - {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}% - \else \xdef\tabu@evr@G{\the\toks@}% - \fi - \tabu@everyrow@egroup -}% \tabu@everyr@w -\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only -\tabu@evr{} -%% line style and leaders ------------------------------------------- -\newcommand*\newtabulinestyle [1]{% - {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}% -}% \newtabulinestyle -\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}% - \tabu@sanitizearg {#1}\@tempa - \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi - \global\expandafter\let - \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi -}% \tabu@newlinestyle -\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}% - \iftabu@everyrow - \toks@\expandafter{\expandafter \def \expandafter - \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}% - \gdef\tabu@ls@{\tabu@ls@L}% - \else - \global\let\tabu@ls@G \tabu@thestyle - \gdef\tabu@ls@{\tabu@ls@G}% - \fi - \tabu@everyrow@egroup -}% \tabulinestyle -\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor} -\def\tabu@rulecolor #1{\toks@{}% - \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1% - \tabu@temp - \tabu@rulearc -}% \tabu@rulecolor -\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp - \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}% - \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}% - \fi - \tabu@temp -}% \tabu@ruledrsc@ -\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}} -\def\tabu@rule@drsc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}% - \else \toks@{\def\CT@drsc@{\color #1{#2}}}% - \fi - \else - \ifx \\#1#2\\\global\let\CT@drsc@ \relax - \else \gdef\CT@drsc@{\color #1{#2}}% - \fi - \fi - \tabu@rulearc -}% \tabu@rule@drsc@ -\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}} -\def\tabu@rule@arc@ #1#2{% - \iftabu@everyrow - \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}% - \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}% - \fi - \toks@\expandafter{\the\toks@ - \let\tabu@arc@L \CT@arc@ - \let\tabu@drsc@L \CT@drsc@ - \ignorespaces}% - \else - \ifx \\#1#2\\\gdef\CT@arc@{}% - \else \gdef\CT@arc@{\color #1{#2}}% - \fi - \global\let\tabu@arc@G \CT@arc@ - \global\let\tabu@drsc@G \CT@drsc@ - \fi - \tabu@everyrow@egroup -}% \tabu@rule@arc@ -\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1} -\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}} -\def\tabu@rowc@lors #1#2#3{% - \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil - \@defaultunits \tabu@start =\number0#1\relax \@nnil - \ifnum \count@<\tw@ \count@=\tw@ \fi - \advance\tabu@start \m@ne - \ifnum \tabu@start<\z@ \tabu@start \z@ \fi - \tabu@rowcolorseries #3\in@..\in@ \@nnil -}% \tabu@rowcolors -\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {% - \ifx \in@#1\relax - \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}% - \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@ - \fi - \else - \ifx \\#2\\\tabu@rowcolorserieserror \fi - \tabu@sanitizearg{#1}\tabu@temp - \tabu@sanitizearg{#2}\@tempa - \advance\count@ \m@ne - \iftabu@everyrow - \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{% - \ifnum ##2=\c@taburow - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi - \ifnum \c@taburow<##2 \else - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@ - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}\fi}% - }\edef\x{\noexpand\tabu@rc@ {\the\count@} - {\the\tabu@start} - {\tabu@temp} - {\@tempa}% - }\x - \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}% - \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}% - \else % inside \noalign - \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}% - \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}% - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}% - \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{% - \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne - \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi - \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}% - \rowcolor{tabu@rc@\the\tabu@nested}}% - }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x - \global\let\tabu@rc@G \tabu@rc@ - \fi - \fi - \tabu@everyrow@egroup -}% \tabu@rowcolorseries -\tabuDisableCommands {\let\tabu@rc@ \@empty } -\def\tabu@rowcolorserieserror {\PackageError{tabu} - {Invalid syntax for \string\taburowcolors - \MessageBreak Please look at the documentation!}\@ehd -}% \tabu@rowcolorserieserror -\newcommand*\tabureset {% - \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@ - \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}% -}% \tabureset -%% Parsing the line styles ------------------------------------------ -\def\tabu@getline #1{\begingroup - \csname \ifcsname if@safe@actives\endcsname % - @safe@activestrue\else - relax\fi \endcsname - \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa - \let\tabu@thestyle \relax - \ifcsname tabu@linestyle@\@tempa \endcsname - \edef\tabu@thestyle{\endgroup - \def\tabu@thestyle{\expandafter\noexpand - \csname tabu@linestyle@\@tempa\endcsname}% - }\tabu@thestyle - \else \expandafter\tabu@definestyle \tabu@temp \@nil - \fi -}% \tabu@getline -\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter - \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen - \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined - \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs - \def\tabu@temp{\tabu@getparam{thick}}% - \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}% - \fi - {% - \let\tabu@ \relax - \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-)) - \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}% - \expandafter}\expandafter - \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-) - \def\;{\def\:}% - \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10) - \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-) - \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi - \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi - \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi - \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen - \tabu@on \tabulineon \fi\fi - \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen - \tabu@off \tabulineoff \fi\fi - \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi - \in@true % - \else \in@false % - \fi - \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}% - \else \edef\tabu@thick{\the\tabu@thick}% - \fi - \edef \tabu@thestyle ##1##2{\endgroup - \def\tabu@thestyle{% - \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick} - {\the\tabu@on}{##1} - {\the\tabu@off}{##2}% - \else \noexpand\tabu@rulesstyle - {##1\vrule width \tabu@thick}% - {##1\leaders \hrule height \tabu@thick \hfil}% - \fi}% - }\expandafter \expandafter - \expandafter \tabu@thestyle \expandafter - \expandafter \expandafter - {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}% -}% \tabu@definestyle -{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active - \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}} - \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space} -}% \catcode -\def\tabu@oxiii #1{% - \ifcase \ifx n#1\z@ \else - \ifx f#1\@ne\else - \tw@ \fi\fi - \expandafter\tabu@onxiii - \or \expandafter\tabu@ofxiii - \else o% - \fi#1}% -\def\tabu@onxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx \tabu@spxiii#2\@ne\else - \tw@ \fi\fi\fi - \tabu@getparam{on}#2\expandafter\@gobble - \or \expandafter\tabu@onxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}}% -\def\tabu@ofxiii #1#2{% - \ifx #2f\expandafter\tabu@offxiii - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@offxiii #1#2{% - \ifcase \ifx !#2\tw@ \else - \ifcat.\noexpand#2\z@ \else - \ifx\tabu@spxiii#2\@ne \else - \tw@ \fi\fi\fi - \tabu@getparam{off}#2\expandafter\@gobble - \or \expandafter\tabu@offxiii % (space is active) - \else o\expandafter\@firstofone - \fi{#1#2}} -\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=} -\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef - \ifx \tabu@#1\else % no more spec - \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi -}% \tabu@getcolor -\def\tabu@getc@l@r #1\tabu@ {% - \def\tabu@temp{#1}\tabu@strtrim \tabu@temp - \ifx \tabu@temp\@empty - \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists - \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r - \else \let\tabu@c@lon \tabu@c@l@r - \fi - %\else \tabu@warncolour{\tabu@temp}% - \fi%\fi - \tabu@ % next spec -}% \tabu@getc@l@r -\def\tabu@warncolour #1{\PackageWarning{tabu} - {Color #1 is not defined. Default color used}% -}% \tabu@warncolour -\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}% - \ifx \tabu@leaders\tabu@leaders@G \else - \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi -}% \tabu@leadersstyle -\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined - \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}% -}% \tabu@rulesstyle -%% The leaders boxes ------------------------------------------------ -\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color - {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor - {% % but the leaders boxes should have colors ! - \def\@therule{\vrule}\def\@thick{height}\def\@length{width}% - \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}% - \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thehleaders \tabu@theleaders - }% - {% - \def\@therule{\hrule}\def\@thick{width}\def\@length{height}% - \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}% - \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}% - \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}% - \global\let\tabu@thevleaders \tabu@theleaders - }% - \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}% - }% -}% \tabu@LEADERS -\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@} -\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color - \global\setbox \tabu@leads=\@box{% - {#3\tabu@therule{#1}{#2}}% - \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi - {#3\tabu@therule{#1}{#2}}}% - \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss - {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}% - \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {% - {##1\tabu@therule{#1}{#2}}% - \xleaders \copy\tabu@leads \@ss - \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}% - }\tabu@theleaders{#3}% -}% \tabu@l@@d@rs -%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ---------- -\newcommand*\tabu {\tabu@longfalse - \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}% - \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endtabu*\endcsname{\endtabu}% - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {tabu} -\let\tabu@tabular \tabular % -\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu} -\newcommand*\longtabu {\tabu@longtrue - \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi - \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}% - \LTchunksize=\@M - \expandafter\let\csname tabu*\endcsname \tabu - \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}% - \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts } - \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget -}% {longtabu} -\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu} -\def\tabu@nolongtabu{\PackageError{tabu} - {longtabu requires the longtable package}\@ehd} -%% Read the target and then : \tabular or \@array ------------------ -\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget } -\def\tabu@sett@rget {\tabu@target \z@ - \ifcase \ifx \bgroup\@let@token \z@ \else - \ifx \@sptoken\@let@token \@ne \else - \if t\@let@token \tw@ \else - \if s\@let@token \thr@@\else - \z@\fi\fi\fi\fi - \expandafter\tabu@begin - \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget - \or \expandafter\tabu@to - \or \expandafter\tabu@spread - \fi -}% \tabu@sett@rget -\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget} -\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget} -\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target } -\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget } -\def\tabu@linegoalt@rget {% - \ifx \tabu@temp\LNGL@setlinegoal - \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal - \tabu@begin -}% \tabu@linegoalt@rget -\def\tabu@begin #1#{% - \iftabu@measuring \expandafter\tabu@nestedmeasure \fi - \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty - \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}% - \fi - \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil -}% \tabu@begin -\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup - \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}% - \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }% -}% \tabu@tabu@ -\def\tabu@nestedmeasure {% - \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax - \tabu@spreadtrue - \else \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}% - \expandafter\tabu@collectbody\expandafter\tabu@quickrule - \expandafter\endgroup - \fi -}% \tabu@nestedmeasure -\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target} -%% \tabu@setup \tabu@init \tabu@indent -\def\tabu@setup{\tabu@alloc@ - \ifcase \tabu@nested - \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@ - \let\tabu@afterendpar \par - \fi\fi\fi - \def\tabu@aligndefault{c}\tabu@init \tabu@indent - \else % - \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth - \fi - \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined - \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}% - \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu... - \let\@endpbox \tabu@endpbox % idem " " " " " " - \let\@tabarray \tabu@tabarray % idem " " " " " " - \tabu@setcleanup \tabu@setreset -}% \tabu@setup -\def\tabu@init{\tabu@starttimer \tabu@measuringfalse - \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}% - \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline - \let\firstline \tabu@firstline \let\lastline \tabu@lastline - \let\hline \tabu@hline \let\@xhline \tabu@xhline - \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox - \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi - \tabu@trivlist % - \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext - \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering - \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft - \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering - \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft - \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont - \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x - \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar - \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok - \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn - \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!! - \let\tabu@endpbox \@endpbox % idem " " " " " " " - \let\tabu@tabarray \@tabarray % idem " " " " " " " - \tabu@adl@fix \let\endarray \tabu@endarray % colortbl & arydshln (delarray) - \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi -}% \tabu@init -\def\tabu@indent{% correction for indentation - \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget - \everypar\expandafter{% - \the\everypar\everypar\expandafter{\the\everypar}% - \setbox\z@=\lastbox - \ifdim\wd\z@>\z@ \edef\tabu@thetarget - {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi - \box\z@}% - \fi\fi -}% \tabu@indent -\def\tabu@setcleanup {% saves last global assignments - \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax - \def\tabu@aftergroupcleanup{% - \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}% - \else - \def\tabu@aftergroupcleanup{% - \aftergroup\aftergroup\aftergroup\tabu@cleanup - \let\tabu@aftergroupcleanup \relax}% - \fi - \let\tabu@arc@Gsave \tabu@arc@G - \let\tabu@arc@G \tabu@arc@L % - \let\tabu@drsc@Gsave \tabu@drsc@G - \let\tabu@drsc@G \tabu@drsc@L % - \let\tabu@ls@Gsave \tabu@ls@G - \let\tabu@ls@G \tabu@ls@L % - \let\tabu@rc@Gsave \tabu@rc@G - \let\tabu@rc@G \tabu@rc@L % - \let\tabu@evr@Gsave \tabu@evr@G - \let\tabu@evr@G \tabu@evr@L % - \let\tabu@celllalign@save \tabu@celllalign - \let\tabu@cellralign@save \tabu@cellralign - \let\tabu@cellleft@save \tabu@cellleft - \let\tabu@cellright@save \tabu@cellright - \let\tabu@@celllalign@save \tabu@@celllalign - \let\tabu@@cellralign@save \tabu@@cellralign - \let\tabu@@cellleft@save \tabu@@cellleft - \let\tabu@@cellright@save \tabu@@cellright - \let\tabu@rowfontreset@save \tabu@rowfontreset - \let\tabu@@rowfontreset@save\tabu@@rowfontreset - \let\tabu@rowfontreset \@empty - \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset - \edef\c@taburow@save {\the\c@taburow}% - \edef\tabu@naturalX@save {\the\tabu@naturalX}% - \let\tabu@naturalXmin@save \tabu@naturalXmin - \let\tabu@naturalXmax@save \tabu@naturalXmax - \let\tabu@mkarstrut@save \tabu@mkarstrut - \edef\tabu@clarstrut{% - \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax - \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax - \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}% -}% \tabu@setcleanup -\def\tabu@cleanup {\begingroup - \globaldefs\@ne \tabu@everyrowtrue - \let\tabu@arc@G \tabu@arc@Gsave - \let\CT@arc@ \tabu@arc@G - \let\tabu@drsc@G \tabu@drsc@Gsave - \let\CT@drsc@ \tabu@drsc@G - \let\tabu@ls@G \tabu@ls@Gsave - \let\tabu@ls@ \tabu@ls@G - \let\tabu@rc@G \tabu@rc@Gsave - \let\tabu@rc@ \tabu@rc@G - \let\CT@do@color \relax - \let\tabu@evr@G \tabu@evr@Gsave - \let\tabu@celllalign \tabu@celllalign@save - \let\tabu@cellralign \tabu@cellralign@save - \let\tabu@cellleft \tabu@cellleft@save - \let\tabu@cellright \tabu@cellright@save - \let\tabu@@celllalign \tabu@@celllalign@save - \let\tabu@@cellralign \tabu@@cellralign@save - \let\tabu@@cellleft \tabu@@cellleft@save - \let\tabu@@cellright \tabu@@cellright@save - \let\tabu@rowfontreset \tabu@rowfontreset@save - \let\tabu@@rowfontreset \tabu@@rowfontreset@save - \tabu@naturalX =\tabu@naturalX@save - \let\tabu@naturalXmax \tabu@naturalXmax@save - \let\tabu@naturalXmin \tabu@naturalXmin@save - \let\tabu@mkarstrut \tabu@mkarstrut@save - \c@taburow =\c@taburow@save - \ifcase \tabu@nested \tabu@alloc \m@ne\fi - \endgroup % - \ifcase \tabu@nested - \the\tabu@footnotes \global\tabu@footnotes{}% - \tabu@afterendpar \tabu@elapsedtime - \fi - \tabu@clarstrut - \everyrow\expandafter {\tabu@evr@G}% -}% \tabu@cleanup -\let\tabu@afterendpar \relax -\def\tabu@setreset {% - \edef\tabu@savedparams {% \relax for \tabu@message@save - \ifmmode \col@sep \the\arraycolsep - \else \col@sep \the\tabcolsep \fi \relax - \arrayrulewidth \the\arrayrulewidth \relax - \doublerulesep \the\doublerulesep \relax - \extratabsurround \the\extratabsurround \relax - \extrarowheight \the\extrarowheight \relax - \extrarowdepth \the\extrarowdepth \relax - \abovetabulinesep \the\abovetabulinesep \relax - \belowtabulinesep \the\belowtabulinesep \relax - \def\noexpand\arraystretch{\arraystretch}% - \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}% - \begingroup - \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu - \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi - \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi - \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L - \expandafter \endgroup \expandafter - \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena - \let\tabu@arc@G \tabu@arc@L - \let\tabu@drsc@G \tabu@drsc@L - \let\tabu@ls@G \tabu@ls@L - \let\tabu@rc@G \tabu@rc@L - \let\tabu@evr@G \tabu@evr@L}% - \def\tabu@reset{\tabu@savedparams - \tabu@everyrowtrue \c@taburow \z@ - \let\CT@arc@ \tabu@arc@L - \let\CT@drsc@ \tabu@drsc@L - \let\tabu@ls@ \tabu@ls@L - \let\tabu@rc@ \tabu@rc@L - \global\tabu@alloc \tabu@alloc@save - \everyrow\expandafter{\tabu@evr@L}}% -}% \tabu@reset -\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}} -\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}} -%% The Rewriting Process ------------------------------------------- -\def\tabu@newcolumntype #1{% - \expandafter\tabu@new@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@newcolumntype -\def\tabu@new@columntype #1#2#3{% - \def#1##1#3{\NC@{##1}}% - \let#2\relax \newcommand*#2% -}% \tabu@new@columntype -\def\tabu@privatecolumntype #1{% - \expandafter\tabu@private@columntype - \csname NC@find@\string#1\expandafter\endcsname - \csname NC@rewrite@\string#1\expandafter\endcsname - \csname tabu@NC@find@\string#1\expandafter\endcsname - \csname tabu@NC@rewrite@\string#1\endcsname - {#1}% -}% \tabu@privatecolumntype -\def\tabu@private@columntype#1#2#3#4{% - \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}% - \tabu@new@columntype#3#4% -}% \tabu@private@columntype -\let\tabu@privatecolumns \@empty -\newcommand*\tabucolumn [1]{\expandafter \def \expandafter - \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns - \NC@do #1}}% -\let\tabu@highprioritycolumns \@empty -%% The | ``column'' : rewriting process -------------------------- -\tabu@privatecolumntype |{\tabu@rewritevline} -\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}% - \expandafter \NC@find \tabu@rewritten} -\def\tabu@lines #1{% - \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi - \NC@list\expandafter{\the\NC@list \NC@do #1}% -}% \tabu@lines@ -\def\tabu@vlinearg #1{% - \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}% - \else\tabu@getline {#1}% - \fi - \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}% - }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}% - \expandafter \tabu@keepls \tabu@thestyle \@nil -}% \tabu@vlinearg -\def\tabu@keepls #1\@nil{% - \ifcat $\@cdr #1\@nil $% - \ifx \relax#1\else - \ifx \tabu@ls@#1\else - \let#1\relax - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@savels\noexpand#1}\fi\fi\fi -}% \tabu@keepls -\def\tabu@thevline {\begingroup - \ifdefined\tabu@leaders - \setbox\@tempboxa=\vtop to\dimexpr - \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}% - \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox - \box\@tempboxa - \else - \tabu@thevrule - \fi \endgroup -}% \tabu@thevline -\def\tabu@savels #1{% - \expandafter\let\csname\string#1\endcsname #1% - \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset - \tabu@resetls#1}}% -\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}% -%% \multicolumn inside tabu environment ----------------------------- -\tabu@newcolumntype \tabu@rewritemulticolumn{% - \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \tabu@savedecl - \tabu@privatecolumns - \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}% - \let\tabu@savels \relax - \NC@find -}% \tabu@rewritemulticolumn -\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup} -\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI} -\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup - \tabu@everyrowtrue - \NC@list{\NC@do \tabu@rewritemulticolumn}% - \expandafter\@gobbletwo % gobbles \multispan{#1} - \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}% - {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi - {#3}}% -}% \tabu@multic@lumn -%% The X column(s): rewriting process ----------------------------- -\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}} -\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten } -\def\tabu@siunitx #1{\@ifnextchar \bgroup - {\tabu@rewriteX@Ss{#1}} - {\tabu@nosiunitx{#1}}} -\def\tabu@rewriteX@Ss #1#2{\@temptokena{}% - \@defaultunits \let\tabu@temp =#2\relax\@nnil - \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi - \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}% - }\expandafter\NC@find \the\@temptokena \relax - }\expandafter\NC@rewrite@S \@gobble #2\relax - \else \tabu@siunitxerror - \fi - \expandafter \NC@find \tabu@rewritten -}% \tabu@rewriteX@Ss -\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column ! - \MessageBreak X column can only embed siunitx S or s columns}\@ehd -}% \tabu@siunitxerror -\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}% - \iftabu@measuring - \else \tabu@measuringtrue % first X column found in the preamble - \let\@halignto \relax \let\tabu@halignto \relax - \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@ - \else \tabu@spreadtarget \z@ \fi - \ifdim \tabu@target=\z@ - \setlength\tabu@target \tabu@thetarget - \tabu@message{\tabu@message@defaulttarget}% - \else \tabu@message{\tabu@message@target}\fi - \fi -}% \tabu@rewriteX -\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax - \def\tabu@rewritten{l}} -\def\tabu@Xarg #1#2#3{% - \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty - \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty - \ifx\\#1\\% - \def\tabu@rewritten{p}\tabucolX \p@ % - \else - \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@ - \tabu@Xparse {}#1\relax - \fi - \tabu@Xrewritten{#2}{#3}% -}% \tabu@Xarg -\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest} -\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}} -\def\tabu@Xtest{% - \ifcase \ifx \relax\@let@token \z@ \else - \if ,\@let@token \m@ne\else - \if p\@let@token 1\else - \if m\@let@token 2\else - \if b\@let@token 3\else - \if l\@let@token 4\else - \if c\@let@token 5\else - \if r\@let@token 6\else - \if j\@let@token 7\else - \if L\@let@token 8\else - \if C\@let@token 9\else - \if R\@let@token 10\else - \if J\@let@token 11\else - \ifx \@sptoken\@let@token 12\else - \if .\@let@token 13\else - \if -\@let@token 13\else - \ifcat $\@let@token 14\else - 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \or \tabu@Xtype {p}% - \or \tabu@Xtype {m}% - \or \tabu@Xtype {b}% - \or \tabu@Xalign \raggedright\relax - \or \tabu@Xalign \centering\relax - \or \tabu@Xalign \raggedleft\relax - \or \tabu@Xalign \tabu@justify\relax - \or \tabu@Xalign \RaggedRight\raggedright - \or \tabu@Xalign \Centering\centering - \or \tabu@Xalign \RaggedLeft\raggedleft - \or \tabu@Xalign \justifying\tabu@justify - \or \expandafter \tabu@Xparsespace - \or \expandafter \tabu@Xcoef - \or \expandafter \tabu@Xm@th - \or \tabu@Xcoef{}% - \else\expandafter \tabu@Xparse - \fi -}% \tabu@Xtest -\def\tabu@Xalign #1#2{% - \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu} - {Duplicate horizontal alignment specification}\fi - \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax - \else \def\tabu@Xlcr{#2}\let#2\relax\fi - \expandafter\tabu@Xparse -}% \tabu@Xalign -\def\tabu@Xtype #1{% - \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu} - {Duplicate vertical alignment specification}\fi - \def\tabu@rewritten{#1}\expandafter\tabu@Xparse -}% \tabu@Xtype -\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}% - \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi -}% \tabu@Xcoef -\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@ - \tabu@Xparse{}% -}% \tabu@Xc@ef -\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp} -\def\tabu@Xd@sp{\let\tabu@Xmath=$% - \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}% - \expandafter\tabu@Xparse - \else \expandafter\tabu@Xparse\expandafter{\expandafter}% - \fi -}% \tabu@Xd@sp -\def\tabu@Xrewritten {% - \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi - \ifdim \tabucolX<\z@ \tabu@negcoeftrue - \else\ifdim \tabucolX=\z@ \tabucolX \p@ - \fi\fi - \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}% - \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}% - \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{% - >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}% - \tabu@rewritten {\tabu@hsize \tabu@temp}% - <{##2\ifx$\tabu@Xmath$\fi}}% - }\tabu@rewritten -}% \tabu@Xrewritten -\def\tabu@hsize #1#2{% - \ifdim #2\p@<\z@ - \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else - \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi - \fi - \else #2\tabucolX - \fi -}% \tabu@hsize -%% \usetabu and \preamble: rewriting process --------------------- -\tabu@privatecolumntype \usetabu [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\let\tabu@rewriteX \tabu@rewriteXrestore - \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}% - \fi -}% \NC@rewrite@\usetabu -\tabu@privatecolumntype \preamble [1]{% - \ifx\\#1\\\tabu@saveerr{}\else - \@ifundefined{tabu@saved@\string#1} - {\tabu@saveerr{#1}} - {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}% - \fi -}% \NC@rewrite@\preamble -%% Controlling the rewriting process ------------------------------- -\tabu@newcolumntype \tabu@rewritefirst{% - \iftabu@long \aftergroup \tabu@longpream % - \else \aftergroup \tabu@pream - \fi - \let\tabu@ \relax \let\tabu@hsize \relax - \let\tabu@Xcoefs \@empty \let\tabu@savels \relax - \tabu@Xcol \z@ \tabu@cnt \tw@ - \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse - \global\setbox\@arstrutbox \box\@arstrutbox - \NC@list{\NC@do *}\tabu@textbar \tabu@lines - \NC@list\expandafter{\the\NC@list \NC@do X}% - \iftabu@siunitx % - \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi - \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}% - \expandafter\def\expandafter\tabu@NC@list\expandafter{% - \the\expandafter\NC@list \tabu@NC@list}% % * | X S - \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu - \expandafter \NC@do \expandafter\preamble - \the\NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \tabu@savedecl - \tabu@privatecolumns - \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle -}% NC@rewrite@\tabu@rewritefirst -\tabu@newcolumntype \tabu@rewritemiddle{% - \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast -}% \NC@rewrite@\tabu@rewritemiddle -\tabu@newcolumntype \tabu@rewritelast{% - \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne - \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle - \NC@do \tabu@rewritelast}% - \else \let\tabu@prev\tabu@temp - \fi - \ifcase \tabu@cnt \expandafter\tabu@endrewrite - \else \expandafter\NC@find \expandafter\tabu@rewritemiddle - \fi -}% \NC@rewrite@\tabu@rewritelast -%% Choosing the strategy -------------------------------------------- -\def\tabu@endrewrite {% - \let\tabu@temp \NC@find - \ifx \@arrayright\relax \let\@arrayright \@empty \fi - \count@=% - \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print - \iftabu@measuring - \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer - \tabu@target \csname tabu@\the\tabu@nested.T\endcsname - \tabucolX \csname tabu@\the\tabu@nested.X\endcsname - \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}% - \fi - \else\iftabu@measuring 4 % X columns - \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer - \tabu@target \the\tabu@target - \tabu@spreadtarget \the\tabu@spreadtarget}% - \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}% - \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}% - \let\tabu@Xcoefs \relax - \else\ifcase\tabu@nested \thr@@ % outer, no X - \global\let\tabu@afterendpar \relax - \else \@ne % inner, no X, outer in mode 1 or 2 - \fi - \ifdefined\tabu@usetabu - \else \ifdim\tabu@target=\z@ - \else \let\tabu@temp \tabu@extracolsep - \fi\fi - \fi - \fi - \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}% - \tabu@temp -}% \tabu@endrewrite -\def\tabu@extracolsep{\@defaultunits \expandafter\let - \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil - \ifx \tabu@temp\@sptoken - \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep - \else - \edef\tabu@temp{\noexpand\NC@find - \if |\noexpand\tabu@temp @% - \else\if !\noexpand\tabu@temp @% - \else !% - \fi\fi - {\noexpand\extracolsep\noexpand\@flushglue}}% - \fi - \tabu@temp -}% \tabu@extrac@lsep -%% Implementing the strategy ---------------------------------------- -\long\def\tabu@pream #1\@preamble {% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\tabu@aftergroupcleanup}% - \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody - \@preamble}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@pream -\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{% - \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup - \NC@list\expandafter {\tabu@NC@list}% in case of nesting... - \let\tabu@savedpreamble \@preamble - \global\let\tabu@elapsedtime \relax - \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}% - \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens ) - \tabu@select -}% \tabu@longpream -\def\tabu@select {% - \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi - \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi - \ifcase \count@ - \global\let\tabu@elapsedtime \relax - \tabu@seteverycr - \expandafter \tabuthepreamble % vertical adjustment (inherited from outer) - \or % exit in vertical measure + struts per cell because no X and outer in mode 3 - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \tabu@seteverycr - \expandafter \tabuthepreamble - \or % exit without measure because no X and outer in mode 4 - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@seteverycr - \expandafter \tabuthepreamble - \else % needs trials - \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty - \tabu@savecounters - \expandafter \tabu@setstrategy - \fi -}% \tabu@select -\def\tabu@@ {\gdef\tabu@mkpreambuffer} -%% Protections to set up before trials ------------------------------ -\def\tabu@setstrategy {\begingroup % - \tabu@trialh@@k \tabu@cnt \z@ % number of trials - \hbadness \@M \let\hbadness \@tempcnta - \hfuzz \maxdimen \let\hfuzz \@tempdima - \let\write \tabu@nowrite\let\GenericError \tabu@GenericError - \let\savetabu \@gobble \let\tabudefaulttarget \linewidth - \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote - \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor - \let\tabu@aftergroupcleanup \relax % only after the last trial - \tabu@mkpreambuffer - \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init - \def\tabu@lasttry{\m@ne\p@}\fi - \begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi % - \tabu@collectbody \tabu@strategy % -}% \tabu@setstrategy -\def\tabu@savecounters{% - \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}% - \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax -}% \tabu@savecounters -\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0) - \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs - \ifdim \dimen@>\z@ - \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \fi -}% \tabucolX@init -\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum - \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@ - \else -#2\p@ \tabu@negcoeftrue - \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax - \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi - \tabu@wddef{#1}{0pt}% - \fi -}% \tabu@Xinit -%% Collecting the environment body ---------------------------------- -\long\def\tabu@collectbody #1#2\end #3{% - \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}% - \ifx \tabu@stack\@empty - \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}% - \def\tabu@end@envir{\end{#3}}% - \iftabuscantokens - \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}% - \else \def\tabu@endenvir {\let\endarray \@empty - \end{#3}\tabu@gobbleX}% - \fi - \else \def\tabu@endenvir {\end{#3}}\fi}% - \let\tabu@collectbody \tabu@endofcollect - \else\def\tabu@temp{#3}% - \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }% - \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}% - \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}% - \else \toks@\expandafter{\the\toks@ #2\end{#3}}% - \fi\fi\fi - \fi - \tabu@collectbody{#1}% -}% \tabu@collectbody -\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}% -\def\tabu@endofcollect #1{\ifnum0=`{}\fi - \expandafter\endgroup \the\toks@ #1% -}% \tabu@endofcollect -%% The trials: switching between strategies ------------------------- -\def\tabu@strategy {\relax % stops \count@ assignment ! - \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished) - \expandafter \tabu@endoftrials - \or % case 1 = exit in vertical measure (outer in mode 3) - \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}% - \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}% - \expandafter \tabu@endoftrials - \or % case 2 = exit with a rule replacing the table (outer in mode 4) - \expandafter \tabu@quickend - \or % case 3 = outer is in mode 3 because of no X - \begingroup - \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \expandafter \tabu@measuring - \else % case 4 = horizontal measure - \begingroup - \global\let\tabu@elapsedtime \tabu@message@etime - \long\def\multicolumn##1##2##3{\multispan{##1}}% - \let\tabu@startpboxORI \@startpbox - \iftabu@spread - \def\tabu@naturalXmax {\z@}% - \let\tabu@naturalXmin \tabu@naturalXmax - \tabu@evr{\global\tabu@naturalX \z@}% - \let\@startpbox \tabu@startpboxmeasure - \else\iftabu@negcoef - \let\@startpbox \tabu@startpboxmeasure - \else \let\@startpbox \tabu@startpboxquick - \fi\fi - \expandafter \tabu@measuring - \fi -}% \tabu@strategy -\def\tabu@measuring{\expandafter \tabu@trial \expandafter - \count@ \the\count@ \tabu@endtrial -}% \tabu@measuring -\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi} -\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \csname tabu@adl@endtrial\endcsname - \endarray}$\egroup % got \tabu@box -}% \tabu@shorttrial -\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr - \ifx \tabu@savecounters\relax \else - \let\tabu@savecounters \relax \tabu@clckpt \fi - \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi - \expandafter{\expandafter \tabuthepreamble - \the\tabu@thebody - \tabuendlongtrial}\egroup % got \tabu@box -}% \tabu@longtrial -\def\tabuendlongtrial{% no @ allowed for \scantokens - \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne - \LT@get@widths -}% \tabuendlongtrial -\def\tabu@adl@endtrial{% - \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails ! -\def\tabu@seteverycr {\tabu@reset - \everycr \expandafter{\the\everycr \tabu@everycr}% - \let\everycr \tabu@noeverycr % -}% \tabu@seteverycr -\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@} -\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr} -\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi} -\def\tabu@endoftrials {% - \iftabuscantokens \expandafter\@firstoftwo - \else \expandafter\@secondoftwo - \fi - {\expandafter \tabu@closetrialsgroup \expandafter - \tabu@rescan \expandafter{% - \expandafter\tabuthepreamble - \the\expandafter\tabu@thebody - \iftabu@long \else \endarray \fi}} - {\expandafter\tabu@closetrialsgroup \expandafter - \tabuthepreamble - \the\tabu@thebody}% - \tabu@endenvir % Finish ! -}% \tabu@endoftrials -\def\tabu@closetrialsgroup {% - \toks@\expandafter{\tabu@endenvir}% - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target - \tabu@cnt \the\tabu@cnt - \def\noexpand\tabu@endenvir{\the\toks@}% - %Quid de \@halignto = \tabu@halignto ?? - }% \tabu@bufferX - \tabu@bufferX - \ifcase\tabu@nested % print out (outer in mode 0) - \global\tabu@cnt \tabu@cnt - \tabu@evr{\tabu@verticaldynamicadjustment}% - \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty - \let\@finalstrut \tabu@finalstrut - \else % vertical measure of nested tabu - \tabu@evr{\tabu@verticalinit}% - \tabu@celllalign@def{\tabu@verticalmeasure}% - \def\tabu@cellralign{\tabu@verticalspacing}% - \fi - \tabu@clckpt \let\@halignto \tabu@halignto - \let\@halignto \@empty - \tabu@seteverycr - \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@ - \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts) - \fi\fi -}% \tabu@closetrialsgroup -\def\tabu@quickend {\expandafter \endgroup \expandafter - \tabu@target \the\tabu@target \tabu@quickrule - \let\endarray \relax \tabu@endenvir -}% \tabu@quickend -\def\tabu@endtrial {\relax % stops \count@ assignment ! - \ifcase \count@ \tabu@err % case 0 = impossible here - \or \tabu@err % case 1 = impossible here - \or \tabu@err % case 2 = impossible here - \or % case 3 = outer goes into mode 0 - \def\tabu@bufferX{\endgroup}\count@ \z@ - \else % case 4 = outer goes into mode 3 - \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3) - \else \tabu@arith % or 2 (outer in mode 4) - \fi - \count@=% - \ifcase\tabu@nested \thr@@ % outer goes into mode 3 - \else\iftabu@measuring \tw@ % outer is in mode 4 - \else \@ne % outer is in mode 3 - \fi\fi - \edef\tabu@bufferX{\endgroup - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% - \fi - \expandafter \tabu@bufferX \expandafter - \count@ \the\count@ \tabu@strategy -}% \tabu@endtrial -\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}} -%% The algorithms: compute the widths / stop or go on --------------- -\def\tabu@arithnegcoef {% - \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs -}% \tabu@arithnegcoef -\def\tabu@arith@negcoef #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition - \advance\@tempdima #2\tabucolX - \else - \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated - \advance\dimen@ -#2\p@ - \advance\@tempdima -#2\tabucolX - \else - \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised - \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised - \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target) - \fi - \fi - \fi -}% \tabu@arith@negcoef -\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@ - \ifdim \@tempdima=\z@ - \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}% - \else - \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2} - *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}% - \fi -}% \tabu@givespace -\def\tabu@arith {\advance\tabu@cnt \@ne - \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi - \tabu@arithnegcoef - \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax % - \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax - \tabu@message{\tabu@message@arith}% - \ifdim \tabu@DELTA <\tabu@hfuzz - \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ? - \let\tabu@ \tabu@givespace \tabu@Xcoefs - \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message - \else % already converged: nothing to do but nearly impossible... - \fi - \tabucolX \maxdimen - \tabu@measuringfalse - \else % need for narrower X columns - \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax - \tabu@measuringtrue - \@whilesw \iftabu@measuring\fi {% - \advance\tabu@cnt \@ne - \tabu@arithnegcoef - \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here - \tabu@message{\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else - \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@ - \fi}% - \ifdim -\tabu@DELTA<\tabu@hfuzz - \advance\@tempdima \@tempdimb % for message - \tabu@measuringfalse - \else - \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax - \fi - }% - \fi - \tabu@message{\tabu@message@reached}% - \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt - \tabucolX \the\tabucolX - \tabu@target \the\tabu@target}% -}% \tabu@arith -\def\tabu@spreadarith {% - \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs - \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}% - \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax - \iftabu@measuring - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}% - \else - \tabu@message{\tabu@message@spreadarith}% - \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target - \tabu@message{(tabu) spread - \ifdim \@tempdimc>\tabu@target useless here: default target used% - \else too large: reduced to fit default target\fi.}% - \else - \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax - \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}% - \fi - \begingroup \let\tabu@wddef \@gobbletwo - \@tempdimb \@tempdima - \tabucolX@init - \tabu@arithnegcoef - \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax - \expandafter\endgroup \expandafter\tabucolX \the\tabucolX - \tabu@arith - \fi -}% \tabu@spreadarith -\def\tabu@spread@arith #1#2{% - \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ - \else \advance\@tempdima \tabu@wd{#1}\relax - \fi -}% \tabu@spread@arith -%% Reporting in the .log file --------------------------------------- -\def\tabu@message@defaulttarget{% - \ifnum\tabu@nested=\z@^^J(tabu) Default target: - \ifx\tabudefaulttarget\linewidth \string\linewidth - \ifdim \tabu@thetarget=\linewidth \else - -\the\dimexpr\linewidth-\tabu@thetarget\fi = - \else\ifx\tabudefaulttarget\linegoal\string\linegoal= - \fi\fi - \else (tabu) Default target (nested): \fi - \the\tabu@target \on@line - \ifnum\tabu@nested=\z@ , page \the\c@page\fi} -\def\tabu@message@target {^^J(tabu) Target specified: - \the\tabu@target \on@line, page \the\c@page} -\def\tabu@message@arith {\tabu@header - \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@ - \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@ - \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@ - \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else - \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@ - \fi -}% \tabu@message@arith -\def\tabu@message@spreadarith {\tabu@spreadheader - \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@ - \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@ - \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@ - \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@ - \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target - \else \@tempdimc+\tabu@spreadtarget \fi - {}{}{}{}{}\@@} -\def\tabu@message@negcoef #1#2{ - \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]: - \space width = \tabu@wd {#1} - \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname - \ifdim -\tabu@pt#2\tabucolX<\tabu@target - < \number-\rem@pt#2 X - = \the\dimexpr -\tabu@pt#2\tabucolX \relax - \else - <= \the\tabu@target\space < \number-\rem@pt#2 X\fi} -\def\tabu@message@reached{\tabu@header - ******* Reached Target: - hfuzz = \tabu@hfuzz\on@line\space *******} -\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}% - \tabu@message{(tabu)\tabu@spaces Time elapsed during measure: - \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec - \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime) - -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax - *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space - cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}} -\def\tabu@message@verticalsp {% - \ifdim \@tempdima>\tabu@ht - \ifdim \@tempdimb>\tabu@dp - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@ - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J% - \else - \expandafter\expandafter\expandafter\string\tabu@ht = - \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J% - \fi - \else\ifdim \@tempdimb>\tabu@dp - \tabu@spaces\tabu@spaces\tabu@spaces - \expandafter\expandafter\expandafter\string\tabu@dp = - \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi - \fi -}% \tabu@message@verticalsp -\edef\tabu@spaces{\@spaces} -\def\tabu@strippt{\expandafter\tabu@pt\the} -{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}} -\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr} -\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt} -\def\do #1{% - \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{% - \ifnum##1<10 #1 #1\else - \ifnum##1<100 #1 \else - \ifnum##1<\@m #1\fi\fi\fi - ##1.##2##3##4##5##6##7##8#1}% - \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }% - \def\tabu@titles{\ifnum \tabu@nested=\z@ - (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target - #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}% - \def\tabu@spreadheader{% - (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min. - #1 New Target^^J% - (tabu) sprd} - \def\tabu@message@save {\begingroup - \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@} - \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt - \dimexpr####1\p@{ }{ }}}% - \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}% - \let\CT@arc@ \relax \let\@preamble \@gobble - \let\tabu@savedpream \@firstofone - \let\tabu@savedparams \@firstofone - \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}% - \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}% - \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}% - \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}% - \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}% - \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}% - \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}% - \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}% - \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}% - \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}% - \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }% - \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}% - \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}% - \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}% - \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}% - \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}% - \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}% - \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}% - \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}% - \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}% - \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo - \tabu@message{% - (tabu) \string\savetabu{\tabu@temp}: \on@line^^J% - \tabu@usetabu \@nil^^J}% - \endgroup} -}\do{ } -%% Measuring the natural width (varwidth) - store the results ------- -\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop - \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}% - \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ? - \iftabu@spread \else % if spread -> measure - \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure - \let\@startpbox \tabu@startpboxORI % restore immediately (nesting) - \tabu@measuringtrue % for the quick option... - \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi - \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target - \tabu@target=\tabu@temp\tabucolX \fi\fi - \setbox\tabu@box \hbox \bgroup - \begin{varwidth}\tabu@target - \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... - \narrowragged \arraybackslash \parfillskip \@flushglue - \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi - \bgroup \aftergroup\tabu@endpboxmeasure - \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi - \else \expandafter\@gobble - \tabu@startpboxquick{#1}% \@gobble \bgroup - \fi -}% \tabu@startpboxmeasure -\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty - \bgroup\color@begingroup} -\def\tabu@endpboxmeasure {% - \@finalstrut \@arstrutbox - \end{varwidth}\egroup % - \ifdim \tabu@temp\p@ <\z@ % neg coef - \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box - \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}% - \tabu@debug{\tabu@message@endpboxmeasure}% - \fi - \else % spread coef>0 - \global\advance \tabu@naturalX \wd\tabu@box - \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax - \ifdim \tabu@naturalXmax <\tabu@naturalX - \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi - \ifdim \tabu@naturalXmin <\@tempdima - \xdef\tabu@naturalXmin {\the\@tempdima}\fi - \fi - \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target -}% \tabu@endpboxmeasure -\def\tabu@wddef #1{\expandafter\xdef - \csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname} -\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd - \the\tabu@Xcol. X[\tabu@temp]: - target = \the\tabucolX \space - \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol - =\tabu@wd\tabu@Xcol -}% \tabu@message@endpboxmeasure -\def\tabu@startpboxquick {\bgroup - \let\@startpbox \tabu@startpboxORI % restore immediately - \let\tabu \tabu@quick % \begin is expanded before... - \expandafter\@gobble \@startpbox % gobbles \bgroup -}% \tabu@startpboxquick -\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi - \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick -}% \tabu@quick -\def\tabu@endquick {% - \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else - \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax - \endgroup - \else \let\endtabu \relax - \tabu@end@envir - \fi -}% \tabu@quick -\def\tabu@endtabu {\end{tabu}} -\def\tabu@endtabus {\end{tabu*}} -%% Measuring the heights and depths - store the results ------------- -\def\tabu@verticalmeasure{\everypar{}% - \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group - \setbox\tabu@box =\hbox\bgroup - \let\tabu@verticalspacing \tabu@verticalsp@lcr - \d@llarbegin % after \hbox ... - \else - \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop - \else\ifnum\currentgrouptype=12\vcenter - \else\vbox\fi\fi}% - \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup - \let\tabu@verticalspacing \tabu@verticalsp@pmb - \fi -}% \tabu@verticalmeasure -\def\tabu@verticalsp@lcr{% - \d@llarend \egroup % - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \noindent\vrule height\@tempdima depth\@tempdimb -}% \tabu@verticalsp@lcr -\def\tabu@verticalsp@pmb{% inserts struts as needed - \par \expandafter\egroup - \expandafter$\expandafter - \egroup \expandafter - \@tempdimc \the\prevdepth - \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep - \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax - \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi - \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi - \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi - \let\@finalstrut \@gobble - \hrule height\@tempdima depth\@tempdimb width\hsize -%% \box\tabu@box -}% \tabu@verticalsp@pmb - -\def\tabu@verticalinit{% - \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset ! - \advance\c@taburow \@ne - \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}% - \advance\c@taburow \m@ne -}% \tabu@verticalinit -\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname} -\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname} -\def\tabu@verticaldynamicadjustment {% - \advance\c@taburow \@ne - \extrarowheight \dimexpr\tabu@ht - \ht\strutbox - \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox - \let\arraystretch \@empty - \advance\c@taburow \m@ne -}% \tabu@verticaldynamicadjustment -\def\tabuphantomline{\crcr \noalign{% - {\globaldefs \@ne - \setbox\@arstrutbox \box\voidb@x - \let\tabu@@celllalign \tabu@celllalign - \let\tabu@@cellralign \tabu@cellralign - \let\tabu@@cellleft \tabu@cellleft - \let\tabu@@cellright \tabu@cellright - \let\tabu@@thevline \tabu@thevline - \let\tabu@celllalign \@empty - \let\tabu@cellralign \@empty - \let\tabu@cellright \@empty - \let\tabu@cellleft \@empty - \let\tabu@thevline \relax}% - \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}% - \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr - \noalign{\tabu@rearstrut - {\globaldefs\@ne - \let\tabu@celllalign \tabu@@celllalign - \let\tabu@cellralign \tabu@@cellralign - \let\tabu@cellleft \tabu@@cellleft - \let\tabu@cellright \tabu@@cellright - \let\tabu@thevline \tabu@@thevline}}}% - \expandafter}\the\toks@ -}% \tabuphantomline -%% \firsthline and \lasthline corrections --------------------------- -\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}} -\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline} -\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}} -\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline} -\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument) - \noalign{\ifnum0=`}\fi - {\CT@arc@\hrule height\arrayrulewidth}% - \futurelet \tabu@temp \tabu@xhline -}% \tabu@hline -\def\tabu@xhline{% - \ifx \tabu@temp \hline - {\ifx \CT@drsc@\relax \vskip - \else\ifx \CT@drsc@\@empty \vskip - \else \CT@drsc@\hrule height - \fi\fi - \doublerulesep}% - \fi - \ifnum0=`{\fi}% -}% \tabu@xhline -\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@ - \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}% - \tabu@hlineAZsurround -}% \tabu@hlineAZ -\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{% - \extratabsurround #1\let\tabucline \tabucline@scan - \let\hline \tabu@hlinescan \let\firsthline \hline - \let\cline \tabu@clinescan \let\lasthline \hline - \expandafter \futurelet \expandafter \tabu@temp - \expandafter \tabu@nexthlineAZ \tabu@temp -}% \tabu@hlineAZsurround -\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline} -\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}} -\def\tabucline@scan{\@testopt \tabucline@sc@n {}} -\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}} -\def\tabu@nexthlineAZ{% - \ifx \tabu@temp\hline \else - \ifx \tabu@temp\cline \else - \ifx \tabu@temp\tabucline \else - \tabu@hlinecorrection - \fi\fi\fi -}% \tabu@nexthlineAZ -\def\tabu@xhlineAZ #1{% - \toks@\expandafter{\the\toks@ #1}% - \@tempdimc \tabu@thick % The last line width - \ifcase\count@ \@tempdimb \tabu@thick % The first line width - \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax - \fi - \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ -}% \tabu@xhlineAZ -\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1 - \@tempdima \dimexpr \ht\@arstrutbox+\dimen@ - \edef\firsthline{% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - height \the\dimexpr\@tempdima+\extratabsurround - depth \dp\@arstrutbox - width \tabustrutrule}\hss}\cr - \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb - +\dp\@arstrutbox \relax}% - \the\toks@ - }\ifnum0=`{\fi - \expandafter}\firsthline % we are then ! -}% \tabu@firsthlinecorrection -\def\tabu@lasthlinecorrection{% - \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc - \edef\lasthline{% - \the\toks@ - \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}% - \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule - depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@ - +\extratabsurround-\@tempdimc - height \z@ - width \tabustrutrule}\hss}\cr - }\ifnum0=`{\fi - \expandafter}\lasthline % we are then ! -}% \tabu@lasthlinecorrection -\def\tabu@LT@@hline{% - \ifx\LT@next\hline - \global\let\LT@next \@gobble - \ifx \CT@drsc@\relax - \gdef\CT@LT@sep{% - \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}% - \else - \gdef\CT@LT@sep{% - \multispan\LT@cols{% - \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}% - \fi - \else - \global\let\LT@next\empty - \gdef\CT@LT@sep{% - \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}% - \fi - \ifnum0=`{\fi}% - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \CT@LT@sep - \multispan\LT@cols - {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr - \noalign{\penalty\@M}% - \LT@next -}% \tabu@LT@@hline -%% Horizontal lines : \tabucline ------------------------------------ -\let\tabu@start \@tempcnta -\let\tabu@stop \@tempcntb -\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline} -\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}% - \ifnum \tabu@stop<\z@ \toks@{}% - \else \tabu@clinearg{#1}\tabu@thestyle - \edef\tabucline{\toks@{% - \ifnum \tabu@start>\z@ \omit - \tabu@multispan\tabu@start {\span\omit}&\fi - \omit \tabu@multispan\tabu@stop {\span\omit}% - \tabu@thehline\cr - }}\tabucline - \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}% - \fi - \futurelet \tabu@temp \tabu@xcline -}% \tabu@cline -\def\tabu@clinearg #1{% - \ifx\\#1\\\let\tabu@thestyle \tabu@ls@ - \else \@defaultunits \expandafter\let\expandafter\@tempa - \romannumeral-`\0#1\relax \@nnil - \ifx \hbox\@tempa \tabu@clinebox{#1}% - \else\ifx \box\@tempa \tabu@clinebox{#1}% - \else\ifx \vbox\@tempa \tabu@clinebox{#1}% - \else\ifx \vtop\@tempa \tabu@clinebox{#1}% - \else\ifx \copy\@tempa \tabu@clinebox{#1}% - \else\ifx \leaders\@tempa \tabu@clineleads{#1}% - \else\ifx \cleaders\@tempa \tabu@clineleads{#1}% - \else\ifx \xleaders\@tempa \tabu@clineleads{#1}% - \else\tabu@getline {#1}% - \fi\fi\fi\fi\fi\fi\fi\fi - \fi -}% \tabu@clinearg -\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}} -\def\tabu@clineleads #1{% - \let\tabu@thestyle \relax \let\tabu@leaders \@undefined - \gdef\tabu@thehrule{#1}} -\def\tabu@thehline{\begingroup - \ifdefined\tabu@leaders - \noexpand\tabu@thehleaders - \else \noexpand\tabu@thehrule - \fi \endgroup -}% \tabu@thehline -\def\tabu@xcline{% - \ifx \tabu@temp\tabucline - \toks@\expandafter{\the\toks@ \noalign - {\ifx\CT@drsc@\relax \vskip - \else \CT@drsc@\hrule height - \fi - \doublerulesep}}% - \fi - \tabu@docline -}% \tabu@xcline -\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@} -\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}% - \ifnum0=`{\fi}\aftergroup\tabu@doclineafter} -\def\tabu@multispan #1#2{% - \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan - \else \expandafter\@gobbletwo - \fi {#1-1}{#2}% -}% \tabu@multispan -\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil} -\def\tabu@start@stop #1-#2\@nnil{% - \@defaultunits \tabu@start\number 0#1\relax \@nnil - \@defaultunits \tabu@stop \number 0#2\relax \@nnil - \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne - \else\ifnum \tabu@stop=\z@ \tabu@nbcols - \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols - \else \tabu@stop - \fi\fi\fi - \advance\tabu@start \m@ne - \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi -}% \tabu@start@stop -%% Numbers: siunitx S columns (and \tabudecimal) ------------------- -\def\tabu@tabudecimal #1{% - \def\tabu@decimal{#1}\@temptokena{}% - \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces - \tabu@scandecimal -}% \tabu@tabudecimal -\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@} -\def\tabu@skipdecimal#1{#1\tabu@scandecimal} -\def\tabu@getdecimal@ignorespaces{% - \ifcase 0\ifx\tabu@temp\ignorespaces\else - \ifx\tabu@temp\@sptoken1\else - 2\fi\fi\relax - \let\tabu@getdecimal@ \tabu@getdecimal - \expandafter\tabu@skipdecimal - \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal - \else \expandafter\tabu@skipdecimal - \fi -}% \tabu@getdecimal@ignorespaces -\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}% - \tabu@scandecimal} -\def\do#1{% - \def\tabu@get@decimalspace#1{% - \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}% -}\do{ } -\let\tabu@@tabudecimal \tabu@tabudecimal -\def\tabu@getdecimal{% - \ifcase 0\ifx 0\tabu@temp\else - \ifx 1\tabu@temp\else - \ifx 2\tabu@temp\else - \ifx 3\tabu@temp\else - \ifx 4\tabu@temp\else - \ifx 5\tabu@temp\else - \ifx 6\tabu@temp\else - \ifx 7\tabu@temp\else - \ifx 8\tabu@temp\else - \ifx 9\tabu@temp\else - \ifx .\tabu@temp\else - \ifx ,\tabu@temp\else - \ifx -\tabu@temp\else - \ifx +\tabu@temp\else - \ifx e\tabu@temp\else - \ifx E\tabu@temp\else - \ifx\tabu@cellleft\tabu@temp1\else - \ifx\ignorespaces\tabu@temp1\else - \ifx\@sptoken\tabu@temp2\else - 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax - \expandafter\tabu@get@decimal - \or \expandafter\tabu@skipdecimal - \or \expandafter\tabu@get@decimalspace - \else\expandafter\tabu@printdecimal - \fi -}% \tabu@getdecimal -\def\tabu@printdecimal{% - \edef\tabu@temp{\the\@temptokena}% - \ifx\tabu@temp\@empty\else - \ifx\tabu@temp\space\else - \expandafter\tabu@decimal\expandafter{\the\@temptokena}% - \fi\fi -}% \tabu@printdecimal -%% Verbatim inside X columns ---------------------------------------- -\def\tabu@verbatim{% - \let\verb \tabu@verb - \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd -}% \tabu@verbatim -\let\tabu@ltx@verb \verb -\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb} -\def\tabu@fancyvrb {% - \def\tabu@FV@DefineCheckEnd ##1{% - \def\tabu@FV@DefineCheckEnd{% - ##1% - \let\FV@CheckEnd \tabu@FV@CheckEnd - \let\FV@@CheckEnd \tabu@FV@@CheckEnd - \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd - \edef\FV@EndScanning{% - \def\noexpand\next{\noexpand\end{\FV@EnvironName}}% - \global\let\noexpand\FV@EnvironName\relax - \noexpand\next}% - \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}% - }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd} -}% \tabu@fancyvrb -\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil} -\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}} -\begingroup -\catcode`\[1 \catcode`\]2 -\@makeother\{ \@makeother\} - \edef\x[\endgroup - \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3% - ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}} -\def\tabu@FV@ListProcessLine #1{% - \hbox {%to \hsize{% - \kern\leftmargin - \hbox {%to \linewidth{% - \FV@LeftListNumber - \FV@LeftListFrame - \FancyVerbFormatLine{#1}\hss -%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) -%% \FV@RightListFrame}% - \FV@RightListFrame - \FV@RightListNumber}% -%% DG/SR modification end - \hss}} -%% \savetabu -------------------------------------------------------- -\newcommand*\savetabu[1]{\noalign{% - \tabu@sanitizearg{#1}\tabu@temp - \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else - \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}% - \ifdefined\tabu@restored \expandafter\let - \csname tabu@saved@\tabu@temp \endcsname \tabu@restored - \else {\tabu@save}% - \fi - \fi}% -}% \savetabu -\def\tabu@save {% - \toks0\expandafter{\tabu@saved@}% - \iftabu@negcoef - \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}% - \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi - \toks1\expandafter{\tabu@savedpream}% - \toks2\expandafter{\tabu@savedpreamble}% - \let\@preamble \relax - \let\tabu@savedpream \relax \let\tabu@savedparams \relax - \edef\tabu@preamble{% - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \edef\tabu@usetabu{% - \def\@preamble {\noexpand\the\toks2}% - \tabu@target \the\tabu@target \relax - \tabucolX \the\tabucolX \relax - \tabu@nbcols \the\tabu@nbcols \relax - \def\noexpand\tabu@aligndefault{\tabu@align}% - \def\tabu@savedparams {\noexpand\the\toks0}% - \def\tabu@savedpream {\noexpand\the\toks1}}% - \let\tabu@aligndefault \relax \let\@sharp \relax - \edef\@tempa{\noexpand\tabu@s@ved - {\tabu@usetabu} - {\tabu@preamble} - {\the\toks1}}\@tempa - \tabu@message@save -}% \tabu@save -\long\def\tabu@s@ved #1#2#3{% - \def\tabu@usetabu{#1}% - \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{% - \ifodd ##1% \usetabu - \tabu@measuringfalse \tabu@spreadfalse % Just in case... - \gdef\tabu@usetabu {% - \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi - \global\let\tabu@usetabu \@undefined - \def\@halignto {to\tabu@target}% - #1% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \else % \preamble - \gdef\tabu@preamble {% - \global\let\tabu@preamble \@undefined - #2% - \ifx \tabu@align\tabu@aligndefault@text - \ifnum \tabu@nested=\z@ - \let\tabu@align \tabu@aligndefault \fi\fi}% - \fi - #3}% -}% \tabu@s@ved -\def\tabu@aligndefault@text {\tabu@aligndefault}% -\def\tabu@warn@usetabu {\PackageWarning{tabu} - {Specifying a target with \string\usetabu\space is useless - \MessageBreak The target cannot be changed!}} -\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi} -\def\tabu@savewarn#1#2{\PackageInfo{tabu} - {User-name `#1' already used for \string\savetabu - \MessageBreak #2}}% -\def\tabu@saveerr#1{\PackageError{tabu} - {User-name `#1' is unknown for \string\usetabu - \MessageBreak I cannot restore an unknown preamble!}\@ehd} -%% \rowfont --------------------------------------------------------- -\newskip \tabu@cellskip -\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi - {\ifnum0=`}\fi \tabu@row@font} -\newcommand*\tabu@row@font[2][]{% - \ifnum7=\currentgrouptype - \global\let\tabu@@cellleft \tabu@cellleft - \global\let\tabu@@cellright \tabu@cellright - \global\let\tabu@@celllalign \tabu@celllalign - \global\let\tabu@@cellralign \tabu@cellralign - \global\let\tabu@@rowfontreset\tabu@rowfontreset - \fi - \global\let\tabu@rowfontreset \tabu@rowfont@reset - \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}% - \ifcsname tabu@cell@#1\endcsname % row alignment - \csname tabu@cell@#1\endcsname \fi - \ifnum0=`{\fi}% end of group / noalign group -}% \rowfont -\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}% -\def\tabu@rowfont@reset{% - \global\let\tabu@rowfontreset \tabu@@rowfontreset - \global\let\tabu@cellleft \tabu@@cellleft - \global\let\tabu@cellright \tabu@@cellright - \global\let\tabu@cellfont \@empty - \global\let\tabu@celllalign \tabu@@celllalign - \global\let\tabu@cellralign \tabu@@cellralign -}% \tabu@@rowfontreset -\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl -%% \tabu@prepnext@tok ----------------------------------------------- -\newif \iftabu@cellright -\def\tabu@prepnext@tok{% - \ifnum \count@<\z@ % - \@tempcnta \@M % - \tabu@nbcols\z@ - \let\tabu@fornoopORI \@fornoop - \tabu@cellrightfalse - \else - \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left - \advance \tabu@nbcols \@ne - \iftabu@cellright % before-previous token is right and is finished - \tabu@cellrightfalse % - \tabu@righttok - \fi - \tabu@lefttok - \or % (case 1) previous token is right - \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop - \else % special column: do not change the token - \iftabu@cellright % before-previous token is right - \tabu@cellrightfalse - \tabu@righttok - \fi - \fi % \ifcase - \fi - \tabu@prepnext@tokORI -}% \tabu@prepnext@tok -\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@} -\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{% - \ifx \in@#2\else - \let\@fornoop \tabu@fornoopORI - \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}% - \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}% - \expandafter\prepnext@tok - \fi -}% \tabu@lastnoop -\def\tabu@righttok{% - \advance \count@ \m@ne - \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}% - \advance \count@ \@ne -}% \tabu@righttok -\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign - \the\toks\count@ \tabu@cellleft}% after because of $ -}% \tabu@lefttok -%% Neutralisation of glues ------------------------------------------ -\let\tabu@cellleft \@empty -\let\tabu@cellright \@empty -\tabu@celllalign@def{\tabu@cellleft}% -\let\tabu@cellralign \@empty -\def\tabu@cell@align #1#2#3{% - \let\tabu@maybesiunitx \toks@ \tabu@celllalign - \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}% - \toks@\expandafter{\tabu@cellralign #2}% - \xdef\tabu@cellralign{\the\toks@}% - \toks@\expandafter{\tabu@cellleft #3}% - \xdef\tabu@cellleft{\the\toks@}% -}% \tabu@cell@align -\def\tabu@cell@l{% force alignment to left - \tabu@cell@align - {\tabu@removehfil \raggedright \tabu@cellleft}% left - {\tabu@flush1\tabu@ignorehfil}% right - \raggedright -}% \tabu@cell@l -\def\tabu@cell@c{% force alignment to center - \tabu@cell@align - {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \centering -}% \tabu@cell@c -\def\tabu@cell@r{% force alignment to right - \tabu@cell@align - {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft} - \tabu@ignorehfil - \raggedleft -}% \tabu@cell@r -\def\tabu@cell@j{% force justification (for p, m, b columns) - \tabu@cell@align - {\tabu@justify\tabu@cellleft} - {} - \tabu@justify -}% \tabu@cell@j -\def\tabu@justify{% - \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip - \parfillskip\@flushglue -}% \tabu@justify -%% ragged2e settings -\def\tabu@cell@L{% force alignment to left (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedRight \tabu@cellleft} - {\tabu@flush 1\tabu@ignorehfil} - \RaggedRight -}% \tabu@cell@L -\def\tabu@cell@C{% force alignment to center (ragged2e) - \tabu@cell@align - {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft} - {\tabu@flush{.5}\tabu@ignorehfil} - \Centering -}% \tabu@cell@C -\def\tabu@cell@R{% force alignment to right (ragged2e) - \tabu@cell@align - {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft} - \tabu@ignorehfil - \RaggedLeft -}% \tabu@cell@R -\def\tabu@cell@J{% force justification (ragged2e) - \tabu@cell@align - {\justifying \tabu@cellleft} - {} - \justifying -}% \tabu@cell@J -\def\tabu@flush#1{% - \iftabu@colortbl % colortbl uses \hfill rather than \hfil - \hskip \ifnum13<\currentgrouptype \stretch{#1}% - \else \ifdim#1pt<\p@ \tabu@cellskip - \else \stretch{#1} - \fi\fi \relax - \else % array.sty - \ifnum 13<\currentgrouptype - \hfil \hskip1sp \relax \fi - \fi -}% \tabu@flush -\let\tabu@hfil \hfil -\let\tabu@hfill \hfill -\let\tabu@hskip \hskip -\def\tabu@removehfil{% - \iftabu@colortbl - \unkern \tabu@cellskip =\lastskip - \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip - \else \tabu@cellskip \z@skip - \fi - \else - \ifdim\lastskip=1sp\unskip\fi - \ifnum\gluestretchorder\lastskip =\@ne - \hfilneg % \hfilneg for array.sty but not for colortbl... - \fi - \fi -}% \tabu@removehfil -\def\tabu@ignorehfil{\aftergroup \tabu@nohfil} -\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil - \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group -}% \tabu@nohfil -\def\tabu@colortblalignments {% if colortbl - \def\tabu@nohfil{% - \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group - \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff... - \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local -}% \tabu@colortblalignments -%% Taking care of footnotes and hyperfootnotes ---------------------- -\long\def\tabu@footnotetext #1{% - \edef\@tempa{\the\tabu@footnotes - \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}% - \global\tabu@footnotes\expandafter{\@tempa {#1}}}% -\long\def\tabu@xfootnotetext [#1]#2{% - \global\tabu@footnotes\expandafter{\the\tabu@footnotes - \footnotetext [{#1}]{#2}}} -\let\tabu@xfootnote \@xfootnote -\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }} -\long\def\tabu@Hy@xfootnote [#1]{% - \begingroup - \value\@mpfn #1\relax - \protected@xdef \@thefnmark {\thempfn}% - \endgroup - \@footnotemark \tabu@Hy@ftntxt {#1}% -}% \tabu@Hy@xfootnote -\long\def\tabu@Hy@ftntxt #1#2{% - \edef\@tempa{% - \the\tabu@footnotes - \begingroup - \value\@mpfn #1\relax - \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}% - \expandafter \noexpand \expandafter - \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}% - }% - \global\tabu@footnotes\expandafter{\@tempa {#2}% - \endgroup}% -}% \tabu@Hy@ftntxt -\long\def\tabu@Hy@footnotetext #1#2{% - \H@@footnotetext{% - \ifHy@nesting - \hyper@@anchor {#1}{#2}% - \else - \Hy@raisedlink{% - \hyper@@anchor {#1}{\relax}% - }% - \def\@currentHref {#1}% - \let\@currentlabelname \@empty - #2% - \fi - }% -}% \tabu@Hy@footnotetext -%% No need for \arraybackslash ! ------------------------------------ -\def\tabu@latextwoe {% -\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@centering \centering \arraybackslash -\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash -\tabu@temp \tabu@raggedright \raggedright \arraybackslash -}% \tabu@latextwoe -\def\tabu@raggedtwoe {% -\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}} -\tabu@temp \tabu@Centering \Centering \arraybackslash -\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash -\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash -\tabu@temp \tabu@justifying \justifying \arraybackslash -}% \tabu@raggedtwoe -\def\tabu@normalcrbackslash{\let\\\@normalcr} -\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{% - \expandafter\tabu@normalcrbackslash \@trivlist}} -%% Utilities: \fbox \fcolorbox and \tabudecimal ------------------- -\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox} -\def\tabu@beginfbox {\bgroup \kern\fboxsep - \bgroup\aftergroup\tabu@endfbox} -\def\tabu@endfbox {\kern\fboxsep\egroup\egroup - \@frameb@x\relax} -\def\tabu@color@b@x #1#2{\leavevmode \bgroup - \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}% - \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox -}% \tabu@color@b@x -\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup - \aftergroup\tabu@endcolor@b@x \set@color} -\def\tabu@endcolor@b@x {\kern\fboxsep \egroup - \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@ - \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@ - \tabu@docolor@b@x \egroup -}% \tabu@endcolor@b@x -%% Corrections (arydshln, delarray, colortbl) ----------------------- -\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray - \iftabu@colortbl - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \def\tabu@endarray{% - \crcr \egroup \egroup % - \@arrayright % - \gdef\@preamble{}\CT@end}% - \fi - \else - \ifdefined\adl@array % - \def\tabu@endarray{% - \adl@endarray \egroup \adl@arrayrestore \egroup % - \@arrayright % - \gdef\@preamble{}}% - \else % - \PackageWarning{tabu} - {\string\@arrayright\space is missing from the - \MessageBreak definition of \string\endarray. - \MessageBreak Compatibility with delarray.sty is broken.}% - \fi\fi -}% \tabu@fix@arrayright -\def\tabu@adl@xarraydashrule #1#2#3{% - \ifnum\@lastchclass=\adl@class@start\else - \ifnum\@lastchclass=\@ne\else - \ifnum\@lastchclass=5 \else % @-arg (class 5) and !-arg (class 1) - \adl@leftrulefalse \fi\fi % must be treated the same - \fi - \ifadl@zwvrule\else \ifadl@inactive\else - \@addtopreamble{\vrule\@width\arrayrulewidth - \@height\z@ \@depth\z@}\fi \fi - \ifadl@leftrule - \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}% - {\number#1}#3}% - \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}% - {\number#2}#3} - \fi -}% \tabu@adl@xarraydashrule -\def\tabu@adl@act@endpbox {% - \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox - \egroup \egroup - \adl@colhtdp \box\adl@box \hfil -}% \tabu@adl@act@endpbox -\def\tabu@adl@fix {% - \let\adl@xarraydashrule \tabu@adl@xarraydashrule % arydshln - \let\adl@act@endpbox \tabu@adl@act@endpbox % arydshln - \let\adl@act@@endpbox \tabu@adl@act@endpbox % arydshln - \let\@preamerror \@preamerr % arydshln -}% \tabu@adl@fix -%% Correction for longtable' \@startbox definition ------------------ -%% => \everypar is ``missing'' : TeX should be in vertical mode -\def\tabu@LT@startpbox #1{% - \bgroup - \let\@footnotetext\LT@p@ftntext - \setlength\hsize{#1}% - \@arrayparboxrestore - \everypar{% - \vrule \@height \ht\@arstrutbox \@width \z@ - \everypar{}}% -}% \tabu@LT@startpbox -%% \tracingtabu and the package options ------------------ -\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}} -\DeclareOption{linegoal}{% - \AtEndOfPackage{% - \RequirePackage{linegoal}[2010/12/07]% - \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX -}} -\DeclareOption{scantokens}{\tabuscantokenstrue} -\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}} -\def\tracingtabu {\begingroup\@ifnextchar=% - {\afterassignment\tabu@tracing\count@} - {\afterassignment\tabu@tracing\count@1\relax}} -\def\tabu@tracing{\expandafter\endgroup - \expandafter\tabu@tr@cing \the\count@ \relax -}% \tabu@tracing -\def\tabu@tr@cing #1\relax {% - \ifnum#1>\thr@@ \let\tabu@tracinglines\message - \else \let\tabu@tracinglines\@gobble - \fi - \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG - \def\tabu@mkarstrut {\tabu@DBG@arstrut}% - \tabustrutrule 1.5\p@ - \else \let\tabu@DBG \@gobble - \def\tabu@mkarstrut {\tabu@arstrut}% - \tabustrutrule \z@ - \fi - \ifnum#1>\@ne \let\tabu@debug \message - \else \let\tabu@debug \@gobble - \fi - \ifnum#1>\z@ - \let\tabu@message \message - \let\tabu@tracing@save \tabu@message@save - \let\tabu@starttimer \tabu@pdftimer - \else - \let\tabu@message \@gobble - \let\tabu@tracing@save \@gobble - \let\tabu@starttimer \relax - \fi -}% \tabu@tr@cing -%% Setup \AtBeginDocument -\AtBeginDocument{\tabu@AtBeginDocument} -\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined - \ifdefined\arrayrulecolor \tabu@colortbltrue % - \tabu@colortblalignments % different glues are used - \else \tabu@colortblfalse \fi - \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi - \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi - \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@ - \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname % - \expandafter\ifx - \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax - \tabu@siunitxtrue - \else \let\tabu@maybesiunitx \@firstofone % - \let\tabu@siunitx \tabu@nosiunitx - \tabu@siunitxfalse - \fi - \ifdefined\adl@array % - \else \let\tabu@adl@fix \relax - \let\tabu@adl@endtrial \@empty \fi - \ifdefined\longtable % - \else \let\longtabu \tabu@nolongtabu \fi - \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi - \csname\ifcsname ifHy@hyperfootnotes\endcsname % - ifHy@hyperfootnotes\else iffalse\fi\endcsname - \let\tabu@footnotetext \tabu@Hy@ftntext - \let\tabu@xfootnote \tabu@Hy@xfootnote \fi - \ifdefined\FV@DefineCheckEnd% - \tabu@fancyvrb \fi - \ifdefined\color % - \let\tabu@color \color - \def\tabu@leavevmodecolor ##1{% - \def\tabu@leavevmodecolor {\leavevmode ##1}% - }\expandafter\tabu@leavevmodecolor\expandafter{\color}% - \else - \let\tabu@color \tabu@nocolor - \let\tabu@leavevmodecolor \@firstofone \fi - \tabu@latextwoe - \ifdefined\@raggedtwoe@everyselectfont % - \tabu@raggedtwoe - \else - \let\tabu@cell@L \tabu@cell@l - \let\tabu@cell@R \tabu@cell@r - \let\tabu@cell@C \tabu@cell@c - \let\tabu@cell@J \tabu@cell@j \fi - \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}% - \ifin@ \let\tabu@endarray \endarray - \else \tabu@fix@arrayright \fi% - \everyrow{}% -}% \tabu@AtBeginDocument -\def\tabu@warn@cellspace{% - \PackageWarning{tabu}{% - Package cellspace has some limitations - \MessageBreak And redefines some macros of array.sty. - \MessageBreak Please use \string\tabulinesep\space to control - \MessageBreak vertical spacing of lines inside tabu environment}% -}% \tabu@warn@cellspace -%% tabu Package initialisation -\tabuscantokensfalse -\let\tabu@arc@G \relax -\let\tabu@drsc@G \relax -\let\tabu@evr@G \@empty -\let\tabu@rc@G \@empty -\def\tabu@ls@G {\tabu@linestyle@}% -\let\tabu@@rowfontreset \@empty % -\let\tabu@@celllalign \@empty -\let\tabu@@cellralign \@empty -\let\tabu@@cellleft \@empty -\let\tabu@@cellright \@empty -\def\tabu@naturalXmin {\z@} -\def\tabu@naturalXmax {\z@} -\let\tabu@rowfontreset \@empty -\def\tabulineon {4pt}\let\tabulineoff \tabulineon -\tabu@everyrowtrue -\ifdefined\pdfelapsedtime % - \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}% -\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax -\fi -\tracingtabu=\z@ -\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@ -\tabulinestyle{} -\taburowcolors{} -\let\tabudefaulttarget \linewidth -\ProcessOptions* % \ProcessOptions* is quicker ! -\endinput -%% -%% End of file `tabu.sty'. diff --git a/documentation/latex/test__main_8c.tex b/documentation/latex/test__main_8c.tex deleted file mode 100644 index 06e9ed4..0000000 --- a/documentation/latex/test__main_8c.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{source\+\_\+code/test\+\_\+main.c File Reference} -\hypertarget{test__main_8c}{}\label{test__main_8c}\index{source\_code/test\_main.c@{source\_code/test\_main.c}} diff --git a/documentation/latex/test__marigold__dynamic__array_8c.tex b/documentation/latex/test__marigold__dynamic__array_8c.tex deleted file mode 100644 index 95a78ff..0000000 --- a/documentation/latex/test__marigold__dynamic__array_8c.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/tests/test\+\_\+marigold\+\_\+dynamic\+\_\+array.c File Reference} -\hypertarget{test__marigold__dynamic__array_8c}{}\label{test__marigold__dynamic__array_8c}\index{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.c@{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.c}} diff --git a/documentation/latex/test__marigold__dynamic__array_8h.tex b/documentation/latex/test__marigold__dynamic__array_8h.tex deleted file mode 100644 index f8275b9..0000000 --- a/documentation/latex/test__marigold__dynamic__array_8h.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{source\+\_\+code/\+MODULE\+\_\+marigold\+\_\+dynamic\+\_\+array/tests/test\+\_\+marigold\+\_\+dynamic\+\_\+array.h File Reference} -\hypertarget{test__marigold__dynamic__array_8h}{}\label{test__marigold__dynamic__array_8h}\index{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.h@{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.h}} diff --git a/documentation/latex/test__marigold__dynamic__array_8h_source.tex b/documentation/latex/test__marigold__dynamic__array_8h_source.tex deleted file mode 100644 index b7e6c4b..0000000 --- a/documentation/latex/test__marigold__dynamic__array_8h_source.tex +++ /dev/null @@ -1,6 +0,0 @@ -\doxysection{test\+\_\+marigold\+\_\+dynamic\+\_\+array.\+h} -\hypertarget{test__marigold__dynamic__array_8h_source}{}\label{test__marigold__dynamic__array_8h_source}\index{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.h@{source\_code/MODULE\_marigold\_dynamic\_array/tests/test\_marigold\_dynamic\_array.h}} -\mbox{\hyperlink{test__marigold__dynamic__array_8h}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} - -\end{DoxyCode} diff --git a/intermediate_code/main.o b/intermediate_code/main.o deleted file mode 100644 index e3260cf08c7a2a8c7cb611202f799938adb3df8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1560 zcmbtUzi-n}5I!fRh0>t#V?ZhbGZcYnA8|p5RtSX#NCw1EslbAwm&BzOv0d378WuKC z2c-TfjO>+wKY<+~b!A5?clKTK@?ByC6ySSh zVmEWM2{l-Nt&c_pkboRfDt*@U6Im+R`M)SN^hoMe_*YR-B9gHF!2K}y15seZo74lq zg+hVzb`zYvy0f@2ck%#V^b+ED)aX;Py?N5P`xw-mBfY9 zkHgT9Fc!s`uiDSHR?~n=4!Q?o-~>dV{_%Ehj~hA3f; zB0PQ`vgMAE!Vtdb4TQxuQ-7F_VcWScm~Z!g#GHEumrOZ-fj7}8o8L>`Q07GQBd+iT wr+)0(2!YFu%KT3wMs;ldDa7pAAq1b8FaI;bNbL8g@4k$`%T4K=HF?