From aef4cc81bcc70ec38bd4102538f1ccd824fc9840 Mon Sep 17 00:00:00 2001 From: xbazzi Date: Thu, 21 Aug 2025 23:56:43 -0600 Subject: [PATCH] chore: I'm allergic to latex --- .gitignore | 3 +- latex/Algo_8cc.tex | 13 - latex/Algo_8cc__incl.md5 | 1 - latex/Algo_8cc__incl.pdf | Bin 12972 -> 0 bytes latex/Algo_8hh.tex | 29 - latex/Algo_8hh__dep__incl.md5 | 1 - latex/Algo_8hh__dep__incl.pdf | Bin 8403 -> 0 bytes latex/Algo_8hh__incl.md5 | 1 - latex/Algo_8hh__incl.pdf | Bin 11281 -> 0 bytes latex/Algo_8hh_source.tex | 46 - latex/Controller_8cc.tex | 10 - latex/Controller_8cc__incl.md5 | 1 - latex/Controller_8cc__incl.pdf | Bin 11734 -> 0 bytes latex/Controller_8hh.tex | 22 - latex/Controller_8hh__dep__incl.md5 | 1 - latex/Controller_8hh__dep__incl.pdf | Bin 6431 -> 0 bytes latex/Controller_8hh__incl.md5 | 1 - latex/Controller_8hh__incl.pdf | Bin 11595 -> 0 bytes latex/Controller_8hh_source.tex | 15 - latex/JSONReader_8cc.tex | 26 - latex/JSONReader_8cc__incl.md5 | 1 - latex/JSONReader_8cc__incl.pdf | Bin 12967 -> 0 bytes latex/JSONReader_8hh.tex | 40 - latex/JSONReader_8hh__dep__incl.md5 | 1 - latex/JSONReader_8hh__dep__incl.pdf | Bin 7850 -> 0 bytes latex/JSONReader_8hh__incl.md5 | 1 - latex/JSONReader_8hh__incl.pdf | Bin 8763 -> 0 bytes latex/JSONReader_8hh_source.tex | 23 - latex/Makefile | 42 - latex/Publisher_8cc.tex | 11 - latex/Publisher_8cc__incl.md5 | 1 - latex/Publisher_8cc__incl.pdf | Bin 8088 -> 0 bytes latex/Publisher_8hh.tex | 24 - latex/Publisher_8hh__dep__incl.md5 | 1 - latex/Publisher_8hh__dep__incl.pdf | Bin 8935 -> 0 bytes latex/Publisher_8hh__incl.md5 | 1 - latex/Publisher_8hh__incl.pdf | Bin 7678 -> 0 bytes latex/Publisher_8hh_source.tex | 20 - latex/ThreadPool_8cc.tex | 22 - latex/ThreadPool_8cc__incl.md5 | 1 - latex/ThreadPool_8cc__incl.pdf | Bin 9242 -> 0 bytes latex/ThreadPool_8hh.tex | 33 - latex/ThreadPool_8hh__dep__incl.md5 | 1 - latex/ThreadPool_8hh__dep__incl.pdf | Bin 8957 -> 0 bytes latex/ThreadPool_8hh__incl.md5 | 1 - latex/ThreadPool_8hh__incl.pdf | Bin 8316 -> 0 bytes latex/ThreadPool_8hh_source.tex | 52 - latex/ThreadSafeQueue_8cc.tex | 2 - latex/ThreadSafeQueue_8hh.tex | 31 - latex/ThreadSafeQueue_8hh__dep__incl.md5 | 1 - latex/ThreadSafeQueue_8hh__dep__incl.pdf | Bin 8953 -> 0 bytes latex/ThreadSafeQueue_8hh__incl.md5 | 1 - latex/ThreadSafeQueue_8hh__incl.pdf | Bin 8373 -> 0 bytes latex/ThreadSafeQueue_8hh_source.tex | 41 - latex/annotated.tex | 10 - latex/classAlgo.tex | 246 -- latex/classAlgo__coll__graph.md5 | 1 - latex/classAlgo__coll__graph.pdf | Bin 11206 -> 0 bytes ...fcaaeaa5ad212a126490a19370c9b7e_cgraph.md5 | 1 - ...fcaaeaa5ad212a126490a19370c9b7e_cgraph.pdf | Bin 7203 -> 0 bytes ...223b246cd2f8851c4e0893ff41547fa_cgraph.md5 | 1 - ...223b246cd2f8851c4e0893ff41547fa_cgraph.pdf | Bin 7078 -> 0 bytes latex/classController.tex | 72 - latex/classController__coll__graph.md5 | 1 - latex/classController__coll__graph.pdf | Bin 6411 -> 0 bytes latex/classPublisher.tex | 72 - latex/classPublisher__coll__graph.md5 | 1 - latex/classPublisher__coll__graph.pdf | Bin 6447 -> 0 bytes latex/classTraderClient.tex | 52 - latex/classTraderClient__coll__graph.md5 | 1 - latex/classTraderClient__coll__graph.pdf | Bin 6624 -> 0 bytes latex/classTradingServiceImpl.eps | 197 -- latex/classTradingServiceImpl.tex | 47 - .../classTradingServiceImpl__coll__graph.md5 | 1 - .../classTradingServiceImpl__coll__graph.pdf | Bin 10767 -> 0 bytes ...lassTradingServiceImpl__inherit__graph.md5 | 1 - ...lassTradingServiceImpl__inherit__graph.pdf | Bin 10767 -> 0 bytes latex/classutils_1_1ThreadPool.tex | 133 - .../classutils_1_1ThreadPool__coll__graph.md5 | 1 - .../classutils_1_1ThreadPool__coll__graph.pdf | Bin 8746 -> 0 bytes latex/classutils_1_1ThreadSafeQueue.tex | 97 - ...sutils_1_1ThreadSafeQueue__coll__graph.md5 | 1 - ...sutils_1_1ThreadSafeQueue__coll__graph.pdf | Bin 8971 -> 0 bytes .../dir_313caf1132e152dd9b58bea13a4052ca.tex | 16 - ...r_313caf1132e152dd9b58bea13a4052ca_dep.md5 | 1 - ...r_313caf1132e152dd9b58bea13a4052ca_dep.pdf | Bin 6354 -> 0 bytes .../dir_61c57797386c8fb992d55e625d187773.tex | 14 - ...r_61c57797386c8fb992d55e625d187773_dep.md5 | 1 - ...r_61c57797386c8fb992d55e625d187773_dep.pdf | Bin 6115 -> 0 bytes .../dir_68267d1309a1af8e8297ef4c3efbcdba.tex | 29 - ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 | 1 - ...r_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf | Bin 7397 -> 0 bytes .../dir_821002d4f10779a80d4fb17bc32f21f1.tex | 16 - ...r_821002d4f10779a80d4fb17bc32f21f1_dep.md5 | 1 - ...r_821002d4f10779a80d4fb17bc32f21f1_dep.pdf | Bin 5846 -> 0 bytes .../dir_d44c64559bbebec7f509842c48db8b23.tex | 25 - ...r_d44c64559bbebec7f509842c48db8b23_dep.md5 | 1 - ...r_d44c64559bbebec7f509842c48db8b23_dep.pdf | Bin 6760 -> 0 bytes .../dir_e509a0fe39cd155e5ddab576f8fee000.tex | 14 - ...r_e509a0fe39cd155e5ddab576f8fee000_dep.md5 | 1 - ...r_e509a0fe39cd155e5ddab576f8fee000_dep.pdf | Bin 6634 -> 0 bytes latex/doxygen.sty | 714 ----- latex/etoc_doxygen.sty | 2178 -------------- latex/files.tex | 17 - latex/grpc__client_8cc.tex | 17 - latex/grpc__client_8cc__incl.md5 | 1 - latex/grpc__client_8cc__incl.pdf | Bin 7051 -> 0 bytes latex/grpc__server_8cc.tex | 32 - latex/grpc__server_8cc__incl.md5 | 1 - latex/grpc__server_8cc__incl.pdf | Bin 7352 -> 0 bytes latex/hierarchy.tex | 13 - latex/longtable_doxygen.sty | 459 --- latex/namespacereaders.tex | 7 - latex/namespacereaders_1_1json.tex | 50 - ...735378dfc87c287094d7aa33ac8209_icgraph.md5 | 1 - ...735378dfc87c287094d7aa33ac8209_icgraph.pdf | Bin 7510 -> 0 bytes latex/namespaces.tex | 6 - latex/namespaceutils.tex | 9 - latex/refman.tex | 285 -- latex/tabu_doxygen.sty | 2557 ----------------- test | Bin 44440 -> 0 bytes 121 files changed, 2 insertions(+), 7923 deletions(-) delete mode 100644 latex/Algo_8cc.tex delete mode 100644 latex/Algo_8cc__incl.md5 delete mode 100644 latex/Algo_8cc__incl.pdf delete mode 100644 latex/Algo_8hh.tex delete mode 100644 latex/Algo_8hh__dep__incl.md5 delete mode 100644 latex/Algo_8hh__dep__incl.pdf delete mode 100644 latex/Algo_8hh__incl.md5 delete mode 100644 latex/Algo_8hh__incl.pdf delete mode 100644 latex/Algo_8hh_source.tex delete mode 100644 latex/Controller_8cc.tex delete mode 100644 latex/Controller_8cc__incl.md5 delete mode 100644 latex/Controller_8cc__incl.pdf delete mode 100644 latex/Controller_8hh.tex delete mode 100644 latex/Controller_8hh__dep__incl.md5 delete mode 100644 latex/Controller_8hh__dep__incl.pdf delete mode 100644 latex/Controller_8hh__incl.md5 delete mode 100644 latex/Controller_8hh__incl.pdf delete mode 100644 latex/Controller_8hh_source.tex delete mode 100644 latex/JSONReader_8cc.tex delete mode 100644 latex/JSONReader_8cc__incl.md5 delete mode 100644 latex/JSONReader_8cc__incl.pdf delete mode 100644 latex/JSONReader_8hh.tex delete mode 100644 latex/JSONReader_8hh__dep__incl.md5 delete mode 100644 latex/JSONReader_8hh__dep__incl.pdf delete mode 100644 latex/JSONReader_8hh__incl.md5 delete mode 100644 latex/JSONReader_8hh__incl.pdf delete mode 100644 latex/JSONReader_8hh_source.tex delete mode 100644 latex/Makefile delete mode 100644 latex/Publisher_8cc.tex delete mode 100644 latex/Publisher_8cc__incl.md5 delete mode 100644 latex/Publisher_8cc__incl.pdf delete mode 100644 latex/Publisher_8hh.tex delete mode 100644 latex/Publisher_8hh__dep__incl.md5 delete mode 100644 latex/Publisher_8hh__dep__incl.pdf delete mode 100644 latex/Publisher_8hh__incl.md5 delete mode 100644 latex/Publisher_8hh__incl.pdf delete mode 100644 latex/Publisher_8hh_source.tex delete mode 100644 latex/ThreadPool_8cc.tex delete mode 100644 latex/ThreadPool_8cc__incl.md5 delete mode 100644 latex/ThreadPool_8cc__incl.pdf delete mode 100644 latex/ThreadPool_8hh.tex delete mode 100644 latex/ThreadPool_8hh__dep__incl.md5 delete mode 100644 latex/ThreadPool_8hh__dep__incl.pdf delete mode 100644 latex/ThreadPool_8hh__incl.md5 delete mode 100644 latex/ThreadPool_8hh__incl.pdf delete mode 100644 latex/ThreadPool_8hh_source.tex delete mode 100644 latex/ThreadSafeQueue_8cc.tex delete mode 100644 latex/ThreadSafeQueue_8hh.tex delete mode 100644 latex/ThreadSafeQueue_8hh__dep__incl.md5 delete mode 100644 latex/ThreadSafeQueue_8hh__dep__incl.pdf delete mode 100644 latex/ThreadSafeQueue_8hh__incl.md5 delete mode 100644 latex/ThreadSafeQueue_8hh__incl.pdf delete mode 100644 latex/ThreadSafeQueue_8hh_source.tex delete mode 100644 latex/annotated.tex delete mode 100644 latex/classAlgo.tex delete mode 100644 latex/classAlgo__coll__graph.md5 delete mode 100644 latex/classAlgo__coll__graph.pdf delete mode 100644 latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.md5 delete mode 100644 latex/classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph.pdf delete mode 100644 latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 delete mode 100644 latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf delete mode 100644 latex/classController.tex delete mode 100644 latex/classController__coll__graph.md5 delete mode 100644 latex/classController__coll__graph.pdf delete mode 100644 latex/classPublisher.tex delete mode 100644 latex/classPublisher__coll__graph.md5 delete mode 100644 latex/classPublisher__coll__graph.pdf delete mode 100644 latex/classTraderClient.tex delete mode 100644 latex/classTraderClient__coll__graph.md5 delete mode 100644 latex/classTraderClient__coll__graph.pdf delete mode 100644 latex/classTradingServiceImpl.eps delete mode 100644 latex/classTradingServiceImpl.tex delete mode 100644 latex/classTradingServiceImpl__coll__graph.md5 delete mode 100644 latex/classTradingServiceImpl__coll__graph.pdf delete mode 100644 latex/classTradingServiceImpl__inherit__graph.md5 delete mode 100644 latex/classTradingServiceImpl__inherit__graph.pdf delete mode 100644 latex/classutils_1_1ThreadPool.tex delete mode 100644 latex/classutils_1_1ThreadPool__coll__graph.md5 delete mode 100644 latex/classutils_1_1ThreadPool__coll__graph.pdf delete mode 100644 latex/classutils_1_1ThreadSafeQueue.tex delete mode 100644 latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 delete mode 100644 latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf delete mode 100644 latex/dir_313caf1132e152dd9b58bea13a4052ca.tex delete mode 100644 latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.md5 delete mode 100644 latex/dir_313caf1132e152dd9b58bea13a4052ca_dep.pdf delete mode 100644 latex/dir_61c57797386c8fb992d55e625d187773.tex delete mode 100644 latex/dir_61c57797386c8fb992d55e625d187773_dep.md5 delete mode 100644 latex/dir_61c57797386c8fb992d55e625d187773_dep.pdf delete mode 100644 latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex delete mode 100644 latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 delete mode 100644 latex/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.pdf delete mode 100644 latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex delete mode 100644 latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 delete mode 100644 latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf delete mode 100644 latex/dir_d44c64559bbebec7f509842c48db8b23.tex delete mode 100644 latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 delete mode 100644 latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf delete mode 100644 latex/dir_e509a0fe39cd155e5ddab576f8fee000.tex delete mode 100644 latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.md5 delete mode 100644 latex/dir_e509a0fe39cd155e5ddab576f8fee000_dep.pdf delete mode 100644 latex/doxygen.sty delete mode 100644 latex/etoc_doxygen.sty delete mode 100644 latex/files.tex delete mode 100644 latex/grpc__client_8cc.tex delete mode 100644 latex/grpc__client_8cc__incl.md5 delete mode 100644 latex/grpc__client_8cc__incl.pdf delete mode 100644 latex/grpc__server_8cc.tex delete mode 100644 latex/grpc__server_8cc__incl.md5 delete mode 100644 latex/grpc__server_8cc__incl.pdf delete mode 100644 latex/hierarchy.tex delete mode 100644 latex/longtable_doxygen.sty delete mode 100644 latex/namespacereaders.tex delete mode 100644 latex/namespacereaders_1_1json.tex delete mode 100644 latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 delete mode 100644 latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf delete mode 100644 latex/namespaces.tex delete mode 100644 latex/namespaceutils.tex delete mode 100644 latex/refman.tex delete mode 100644 latex/tabu_doxygen.sty delete mode 100755 test diff --git a/.gitignore b/.gitignore index a1ce335..ad14b3c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ build/ .direnv/ .vscode -html/ \ No newline at end of file +html/ +latex/ \ No newline at end of file diff --git a/latex/Algo_8cc.tex b/latex/Algo_8cc.tex deleted file mode 100644 index 70389af..0000000 --- a/latex/Algo_8cc.tex +++ /dev/null @@ -1,13 +0,0 @@ -\doxysection{src/\+Algo.cc File Reference} -\hypertarget{Algo_8cc}{}\label{Algo_8cc}\index{src/Algo.cc@{src/Algo.cc}} -{\ttfamily \#include $<$sstream$>$}\newline -{\ttfamily \#include $<$Algo.\+hh$>$}\newline -{\ttfamily \#include $<$readers/\+JSONReader.\+hh$>$}\newline -{\ttfamily \#include $<$nlohmann/json.\+hpp$>$}\newline -Include dependency graph for Algo.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Algo_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Algo_8cc__incl.md5 b/latex/Algo_8cc__incl.md5 deleted file mode 100644 index f45d4e8..0000000 --- a/latex/Algo_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -211613c6e72476857da5ac76c9123075 \ No newline at end of file diff --git a/latex/Algo_8cc__incl.pdf b/latex/Algo_8cc__incl.pdf deleted file mode 100644 index 4e431da251fb9b79828e6bdc0988d1e057d13139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12972 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 XM`w4(r!j-ToKIXMT3T^=3FQ9+mkW1? diff --git a/latex/Algo_8hh.tex b/latex/Algo_8hh.tex deleted file mode 100644 index 6a8bc32..0000000 --- a/latex/Algo_8hh.tex +++ /dev/null @@ -1,29 +0,0 @@ -\doxysection{include/\+Algo.hh File Reference} -\hypertarget{Algo_8hh}{}\label{Algo_8hh}\index{include/Algo.hh@{include/Algo.hh}} -{\ttfamily \#include $<$memory$>$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$atomic$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -{\ttfamily \#include "{}Publisher.\+hh"{}}\newline -{\ttfamily \#include "{}utils/\+Thread\+Safe\+Queue.\+hh"{}}\newline -{\ttfamily \#include "{}utils/\+Thread\+Pool.\+hh"{}}\newline -Include dependency graph for Algo.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Algo_8hh__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=350pt]{Algo_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classAlgo}{Algo}} -\end{DoxyCompactItemize} diff --git a/latex/Algo_8hh__dep__incl.md5 b/latex/Algo_8hh__dep__incl.md5 deleted file mode 100644 index 4a28561..0000000 --- a/latex/Algo_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2324aef205f53e56df9c6dc641c08f0f \ No newline at end of file diff --git a/latex/Algo_8hh__dep__incl.pdf b/latex/Algo_8hh__dep__incl.pdf deleted file mode 100644 index b505f6b0eddc949cd8f0f3344e6d74e4fd592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8403 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 PrwsN#3|tDD2$KH?43DA) diff --git a/latex/Algo_8hh__incl.md5 b/latex/Algo_8hh__incl.md5 deleted file mode 100644 index 183a032..0000000 --- a/latex/Algo_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0ce3da1853fde40a77e31708fc4d4b83 \ No newline at end of file diff --git a/latex/Algo_8hh__incl.pdf b/latex/Algo_8hh__incl.pdf deleted file mode 100644 index 2135af023e26efbafc62eaa557f4f925e45cb916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11281 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 ML#Cz{krPG!Kl@*2s{jB1 diff --git a/latex/Algo_8hh_source.tex b/latex/Algo_8hh_source.tex deleted file mode 100644 index 3e53a7d..0000000 --- a/latex/Algo_8hh_source.tex +++ /dev/null @@ -1,46 +0,0 @@ -\doxysection{Algo.\+hh} -\hypertarget{Algo_8hh_source}{}\label{Algo_8hh_source}\index{include/Algo.hh@{include/Algo.hh}} -\mbox{\hyperlink{Algo_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#pragma\ once}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ } -\DoxyCodeLine{00011\ \textcolor{comment}{//\ FastInAHurry\ includes}} -\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{Publisher_8hh}{Publisher.hh}}"{}}} -\DoxyCodeLine{00013\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ThreadSafeQueue_8hh}{utils/ThreadSafeQueue.hh}}"{}}} -\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{ThreadPool_8hh}{utils/ThreadPool.hh}}"{}}} -\DoxyCodeLine{00015\ } -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}}\ \{} -\DoxyCodeLine{00018\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00019\ \ \ \ \ \mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}}();} -\DoxyCodeLine{00020\ } -\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize}}();} -\DoxyCodeLine{00022\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\_orders}}();} -\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process}}();} -\DoxyCodeLine{00024\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send}}(trading::Order\&);} -\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized}}();} -\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop}}();} -\DoxyCodeLine{00027\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00028\ \ \ \ \ std::queue\ \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\_orders}};} -\DoxyCodeLine{00029\ \ \ \ \ std::atomic\ \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\_initialized}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00030\ \ \ \ \ std::atomic\ \mbox{\hyperlink{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}{\_running}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00031\ \ \ \ \ std::shared\_ptr\ \ \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\_pub}};} -\DoxyCodeLine{00032\ } -\DoxyCodeLine{00033\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils::ThreadSafeQueue}}\ \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\_order\_queue}};} -\DoxyCodeLine{00034\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool}{utils::ThreadPool}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\_thread\_pool}};} -\DoxyCodeLine{00035\ } -\DoxyCodeLine{00036\ \ \ \ \ std::mutex\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\_send\_mutex}};} -\DoxyCodeLine{00037\ \ \ \ \ std::jthread\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\_reader\_thread}};} -\DoxyCodeLine{00038\ \ \ \ \ std::vector\ \ \ \ \ \ \ \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\_worker\_threads}};} -\DoxyCodeLine{00039\ \ \ \ \ std::vector>\ \ \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\_futures}};} -\DoxyCodeLine{00040\ \};} - -\end{DoxyCode} diff --git a/latex/Controller_8cc.tex b/latex/Controller_8cc.tex deleted file mode 100644 index ef11a24..0000000 --- a/latex/Controller_8cc.tex +++ /dev/null @@ -1,10 +0,0 @@ -\doxysection{src/\+Controller.cc File Reference} -\hypertarget{Controller_8cc}{}\label{Controller_8cc}\index{src/Controller.cc@{src/Controller.cc}} -{\ttfamily \#include "{}Controller.\+hh"{}}\newline -Include dependency graph for Controller.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Controller_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Controller_8cc__incl.md5 b/latex/Controller_8cc__incl.md5 deleted file mode 100644 index 0531228..0000000 --- a/latex/Controller_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12029bdb832ea7f6a5407cf57bb316d6 \ No newline at end of file diff --git a/latex/Controller_8cc__incl.pdf b/latex/Controller_8cc__incl.pdf deleted file mode 100644 index ef01de0c75f5741d62f55df423c7b9fb2304d39a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11734 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 diff --git a/latex/Controller_8hh.tex b/latex/Controller_8hh.tex deleted file mode 100644 index fde1ef1..0000000 --- a/latex/Controller_8hh.tex +++ /dev/null @@ -1,22 +0,0 @@ -\doxysection{include/\+Controller.hh File Reference} -\hypertarget{Controller_8hh}{}\label{Controller_8hh}\index{include/Controller.hh@{include/Controller.hh}} -{\ttfamily \#include "{}Algo.\+hh"{}}\newline -Include dependency graph for Controller.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Controller_8hh__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=197pt]{Controller_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classController}{Controller}} -\end{DoxyCompactItemize} diff --git a/latex/Controller_8hh__dep__incl.md5 b/latex/Controller_8hh__dep__incl.md5 deleted file mode 100644 index 93e231c..0000000 --- a/latex/Controller_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e273f69f3dc18dda64848675fb1b0abd \ No newline at end of file diff --git a/latex/Controller_8hh__dep__incl.pdf b/latex/Controller_8hh__dep__incl.pdf deleted file mode 100644 index 7737610ff7eeec087886639dcf2c62ff054ab7ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6431 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 AApigX diff --git a/latex/Controller_8hh_source.tex b/latex/Controller_8hh_source.tex deleted file mode 100644 index 81de1cd..0000000 --- a/latex/Controller_8hh_source.tex +++ /dev/null @@ -1,15 +0,0 @@ -\doxysection{Controller.\+hh} -\hypertarget{Controller_8hh_source}{}\label{Controller_8hh_source}\index{include/Controller.hh@{include/Controller.hh}} -\mbox{\hyperlink{Controller_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{Algo_8hh}{Algo.hh}}"{}}} -\DoxyCodeLine{00002\ } -\DoxyCodeLine{00003\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}}\ \{} -\DoxyCodeLine{00004\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00005\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}}(\textcolor{keywordtype}{int},\ \textcolor{keywordtype}{char}*[]);} -\DoxyCodeLine{00006\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start}}();} -\DoxyCodeLine{00007\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00008\ \ \ \ \ std::unique\_ptr\ \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\_algo}};} -\DoxyCodeLine{00009\ \};} - -\end{DoxyCode} diff --git a/latex/JSONReader_8cc.tex b/latex/JSONReader_8cc.tex deleted file mode 100644 index 0e8b77d..0000000 --- a/latex/JSONReader_8cc.tex +++ /dev/null @@ -1,26 +0,0 @@ -\doxysection{src/readers/\+JSONReader.cc File Reference} -\hypertarget{JSONReader_8cc}{}\label{JSONReader_8cc}\index{src/readers/JSONReader.cc@{src/readers/JSONReader.cc}} -{\ttfamily \#include $<$fstream$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -{\ttfamily \#include "{}readers/\+JSONReader.\+hh"{}}\newline -{\ttfamily \#include $<$Algo.\+hh$>$}\newline -{\ttfamily \#include "{}trading.\+pb.\+h"{}}\newline -Include dependency graph for JSONReader.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{JSONReader_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders}{readers}} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} diff --git a/latex/JSONReader_8cc__incl.md5 b/latex/JSONReader_8cc__incl.md5 deleted file mode 100644 index c74d8ab..0000000 --- a/latex/JSONReader_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7e113c0a54ccca514ca8e252062f14c5 \ No newline at end of file diff --git a/latex/JSONReader_8cc__incl.pdf b/latex/JSONReader_8cc__incl.pdf deleted file mode 100644 index 7729422eb87bf92c4f60f7127de766170b35a60e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12967 zcma)i1ymeM*KG*F9THpycbUNk4{kw%yTjn_1a}MW5Iksb5AN>n7F1b^K{It|}G!`*7v@tS9TXdUF&lmdmfiJE_q+?T%PT6&U= z4uyF9j6R|jHrbEkB`?9-LOXLVtezwMb0)j6O7w`-z?WI&BT;Am>tAxuT*r@J%z;~X zNnzNa@x}e`$7eMOAIEhnZVp~}gIa?XeQ;nJAU^dgeV!3Fb}-BV6@8PVu0%FU>L;%1 z`u-YnNhrQkld!`=VgbWg4ff~!hny#NUE2JD!`S{RVzOCZF<{@@$duS2S5x08Bmq8k zZ6h0?)!4YWv8AuzLY`IqYhNCP52B-BizjQnW>7L=%O<*tS!X1;finqKFlmf@5S=2_M2&q`acEQXGHe8b6`O6mHcKnliL2->xN z_c?0OEVXO0@kS%z^#}CCte?YqI5!SN&M?ldq_3W8>Q`FEG3E8z9B%STaC=^?Ud!OZ z7{s69=RlcQ%sa_incL!Ht-Z*ZeXR5F{`iq>NK3W4nBbT{eVH z_>P?zFVk%Qg^N#Sv@+2$8D<$F#!KSvgHa)UE^9_TH|}G$9!ApKbGeuma(&y)#(=ZN z&!cZyr@h`_kUN=tc%cPFT#PQVO&YBKpzWLN!UDaW4w)`sobXekIpRY$2;}YRFIhd5 zEz>Tf@!p<6@yKBH`X@8}WDDa-&L}IGS@ldkVM!nfog(V{@72ew`Yqwb`_M&hqLJH~CKH}(3bwl3+aI(@m@LXt5wLF)5K}$_(D{1-M{}pgzka-0AJ7GGbJ%FFVbmfrP%Jj zt-R6hZE->g*r}qLKcnmZ+EFD4zd(2rE?5t(3>Po0>!I|yM`J_odt*RNG|-MtJzQMb zpCtpJ85^q3r?SRoPj=;ie)JflXMwmdh7 z*{SUBLk3!Fwm6cukkJ4~y25C^Y_IpV(eD%Hf8jj>5Y^SRZ+4}NikATJ;Eo}ZlsuW+PdZV;ZGcIz@k{p3yRcOcoR5A8;1{*UyGlnaKD%M2of zovjMOdhBXv(j)~P=A>brSm~CM!eXI$&(`)6ZiCVjiEvr-yeb3Zk>RG?Zj86I{!sLg z?sW{4b-!c zCWK7f>klZOJ|xSo#G%|!@IE4E|1=a3zW6A*-ja178aUn82bXckp3sP?k!wDTc_m@i z|6sluKp{I6PsDK@=%5(bKfM)`Op7<`A7d&VhNLD%CDXoShY`ONg9qpPaWLvGH@!j) z*@HNAxiio|TR}rJEO+Po7-f<}h~ul1DDZF}hK+2_c~NWrVw}x2^rS)*_>#PBvt88c z^dbz~c%XV3yx%`X1Q_^ux6iGxG;_gD6UW{c#4r8H32c(}uF(~8;&Rg0N$7MQ!Oa+M zH)a@`>f986cbFhFa-yDp*4J*Nrl619qOj+$`ig`CIbjyBDr~T@iDo~uBi_k+h~`5Tpq)v*X_01esHa^15kH>IwsYUFamVbjvsk^m*vAI`eL<(e(<{;pf?eS;blqt#IZN=YJ(R9NJ@b18m^Ydg z#GBLCu~;X#>Mf#Fn|YQE*@iwY%C%x8UR}mgsS_af;L~&Du)<`IYB?8v)FC^1sCTQn z&Je~gGNY?HN2C0KVf_2S4ci^$MVSnlB&0@NPQ&dbT)Wc4=y^4X;`;*^A7AAdF=u!R zQ>bWNi+y=@O4XBQe~6daV;ABMnOH{NdfmUTk+f=XAWNsu+?(wqcH%qUq~@((FJr)L zkav1Ve#rsH?idvRJ=WN4>&}5O_VGK>7B?sj#qNp=M7)H#($YMdtNg?qw1S$99d4!J zb(z5@Y~uJ=&PN;s6p*O2bk@$b1;o?j3mp-rAOW>A5e+Y%)t*GAU#Fr7FcDP6Aq zhC_ed1=%6+C2hP|v*-;bTVEI!m7wM%SgQ_T#uzO&e9Q_7`W}~zU=D4A0Y&*kDov%v zs}s(hAEYqjf{Q2=2+=8C{@COIw9dbb`tDrU>SBR*E9G_@Eho9L_Y+O29cu!^<*D0g z^{0pTlzY~2fedu!WTeZk$<+*q7_q!Tnq4)lDL#*bH<-rZ&I{hoNLhCtg`SFVA#A~i z{D)`=pT#RtVPA(tXS?sJ8ZlGRk43I9TL!qvjhX9a=f@QJ4pRqia9pq{Q{gEV%DZ(u z5gjshH76jC7N$_Qnalq5*F%+Y4vH!r%jWAiT+LO3Tkq?I4fACZoIoE8{qtZeai$df zG2ER+&xCtp*BAUD<_6*J(&qbpjUA#+1McP?jTS*yq@zMkQrZ*!lS%|hDv9I9*S`m&Fqx7N&OGF=OZRNHW2 z`?9gLt5h8>Lc16W@ryK8XHlkZGHP#^-O>PNK9L`Vzza3IJmK$X1oMUY<&zR6NKP>i zpEtzdZ%OkO{SF7=vf8g_^^Pd2`BWXaM?_jr^p`9KQS{U9^cfkJJPatYiDU-um`V=D zSi65}3F+Uv;;KZ^SfXuPGS=2xK!3GopDC*^#UV`49nFqwdi>dl;+FQ3?MHHr?CUH8 zOn+IBk%tBgoplDPSV9BN)-18B(bsXMB1`c3deX=zIikUrgY!~kyIWCmsv&Kct>3s_ zpqFjl_A2hY;5hh6=GSi1TT^-(9{X}WcWM0z=I$-Fi^4nJOCRXQTeg7|S-$prY~xc9 z&iRmCeV1z26Vwp};!i|lYokA1kmt}Z@8!44@+-0)PN!L;dIbvxoDX@W-85%*NXBAKE62EQ~AwAm?8$ z(zDj{|F7!6e^&=!R&uj71~AJRm@7J3{jU5k_loPUyv(uy;O`VMGkXU|0Q;Ze|J~(c zWm9BX58Da*_VNYXcc_p5gDrlQ|EDd0oPRY91pG(S{%i>d^mj}CCr9s>asJQ*0=U?o zjr!ctzdgTWbr09q%870DvMUD%#a_wfNw?oa-f7>i3J1v z^x9vkW9I0gOStyGg@q<#!9}lxhBA)e6>%i&AX3p13mt00ib)X_7q+i1D8_mVF}WW5 zd39e$S6_1SrH}8L*K5~>E&x;LwSuhA4TK-qvK`y{B|REG23`MPSXAzIAU&BuCq!4Dw3xrVZNKfy9xN4~& zwa18p${R0^H2A#axv-v6;{4iZi503GHYvBTRc%6= z&NN}K=u9P$)7-$&;H~D$R6$|odu$L;%2~}wE((KB`*;Mb9=u zbGHavI8?3p2uZwoS*!Ir=bJ?!LL&}KSGOUgL|j7f5rRL>DP*oCiUUpQl(=8cQiYQZ zh>SWBxJ$Q%=jF7fj(PhWNb|(wRPl*qO_|EeGU^PStwwGJ26ZIQPk7d~F3y8*`Uj)E zCT#n^Wbm!p$ulhL^2PxjT5nCqO2E3W24-`|txH7213eQA<{6QXvCZt32581YBvd`5 z-7V@$CjDIciZ`xmXRb-k>AtyA#8CShOAjXu0p%Z!O zOQ_GI&V(2sWL~|`!KvZj+Sv-!5JXEA+=6kF>qGOH4NYcG_J(d)b9o+@+k~ zNxst_J~b%otFVlfsSdQXaejShD4C!*!MGda=J<(ajE8wJY}DU8l-09mI%I8JLX5jI zxwtCC_!!P=cQw_+ymxr*r{CIofvMDe(ljQzbJ^nL9y)P~`-9TcgZgOORV8aSsNhQET zjAEmTAH0_OsSK}4+Uj|-f85~>wV0}^VKB66dlxQwk>B(Ac4~9d-H7@S*d!M<^V25SEz1_5K*rw&`hmdojYj56lS;a>9gmtZh9OKQJs%#&=w|=|e;Dmj- zAX9RcaoivosLF{=JeukB;lNu52NWg^VQ6rrG1lt)&et;~cLcur`1L5z>*o~(b-l}y zckwnU6Q&I8K1NJr_lB9#cXM$c>j0LR{!WRJFCRmIk)Nzzsagz0?x?6<)Yfzbw%Y4v zpgqssTxs5p8hsk}d{ij}o|nEIaEYIeDKa2Q#Czb&gC?i1F6ElnbcEQ%x0OyV6OP>J zgAHhzqb-nf9lr3$@lg$(cXPQ>B^2Ul?_msz^ihl&BL@_)BdKymX87wm5(M%wGSomy-x-`7v8iP;VjNxv@Opo z-fOacrhAXZGw;-W0{L2@dFJF>Z%fcjd;YjsP1-DmWziqhon&q35>*H%+vbdL>2+GjZ!pU(NJd zWWV<15pz;+(6uMzbRdzU>k)~&ydu28Iw2s&l~1JDE)IW5`ebHf79IjC;;Ox2dV6K< z_%%_?!!eNdkt&Up0P-mGopM!hW0F$JZI_ZenQ5owM)HxkJWqNaOuVjp?!5)Y9VRwO z!(IGIpu7J3_<>YI4zk`lRnvht+=FN8K(C&2&yebCk!loU&+syO&Y0?bI65P0Mb_;b z#X`M2R4bXW1BKF?$O-xU%HkNbDOh-ahTMRdL@uGqe60$JX*xHvym)DGX|ze&Nd|6l z4YDtJW76!7;WgS$`cg=ttm$~(n`81x@=L?zF2hzPIM%&kx;2;BZ4G$g+^pNf;#|Tk zCa8NUDhn^e@_ganVTty~h-|`4Xc}Hl&nK0T#l5YL-IIq?BqI}HT*?($5+VOI3DnGn zGga>}UT%*+9R*$Syyw{?YZ_CN8)YSp#}G>a_`;+FB)JF3BTtINN?-+2NF>HGNZQBF zoD#f+gKuP0O&-AxLt2<3Ey+_(l$oTGW++2%p<|#RzMEKWkYF4o2{R*@BScnJbCBDA z{)W)Xw-eZtv|3O=YoUbaAkxsbrSUE74L!<| zXOO@>LSK4bi>L}bn_oaUQz2U%HrD8QtCC|A3A&AtgfH=k)-+Wc)r3^l z1SvbMP)ML!>AO0f89QR~_BZ71%H-{R9N^)LQ5V=Z$X3=Qi_1qGwX?CSA9YerIC35< zPDUR(!{dO63K*o_QjdniQIp6Wwq&l&`p|9DT3Kr-X~G53E~9G# znge13Y7v|o+A?gpvROOACQ}+a_1;p^J#FWOV};U^uezOFZbiy5m9Ea*Y)@G@vvZhm zGPs#AD=}*SSV^W{Ux_E}&%61G$p~R_W__&1DcDhq z_igGcG2@u+!NNKKvxSYQ$#&JjEU!g&ZFkr(eD*@Jz@x|u&dM{BjP2Vd9%e?74BQ4b zSi7PL8GI`!=%nRQg!QYB@SLoZj9Qah)#Or=MM@^LaYLoXQYjkd^wmjRgXzX)pfA(f zICgwOU&(WGs;Sce*hU7Oekk`>v!!eGHb0#XcIL{SQoNup%$ncTSRM(FOYW}6Gs&_U}37aTu-x@k7; z@+s~8?5BVDU~>Az!kW5}jBC|N9j+*o_CqACTYUccdsJBTxEM7XRS#TjT505{VGK|b zL!>S;e%bmd+fQFF3#~`7Y)e1)WzoXkj!MMcZl}^@ z5dWx3v|h~B^l#pc;*XJ)Zq9%EgAA(cakOU~MopWL=BJONvzNU4Tik%*UFF>4lX+%Z zkFd`dRFBXnGE@7RO`%bE(&FRShZE(~0BV1+w5dhh6YXPU5vvG*^>x2(S^&USvx!O8 z`8##`k*weeI?F;hW|!(pm1DE3W@kraq>yI;N z1Sx!00@LtK$sJ z&R&SmPpcL)JYDPFJF5?e=hzE0@+sS^gEmboJ&uWei0TMmKeF|_Vt>UpaA8P)E4iHf zIBPZLO zN1i?BiBBYLoIkAu?v`F-$?+P65PK55SD~*Nz^Wkqu`l@|Dj+dh5kn%YXuilI`qkcvCi7HH# z5E|GmsXKmJ+wZ4LE-R||MkpP1L^9oZ#Du!HLtj;?=W|hUtfA@`rkpA%@Q!?%7V1}- zN~yO-1$#=`Wf!oXxJ!Ut0mn39S8KbF9TUc3qg`A9?aLL$Ny@bi*Q$+R{e3l_!#PU7 zncz1^*;2_X#!>Z~hc|F<9#vy^1g<6491>venH(TTr zDQL>_XF7P7USn2^~$nQ#mjRojCB_e-KsIEU3ckAt?Wlgd`~wqc6Bwnj|}_ndklotEQOpcKFs3XZseF zmy=g7by{T(CN*A}c!^&i_~Q~o!V#`n6_M=#6V-}MK~>~-(>s&#SYt0~Q+C$I6vAi< z)276NH|CTY(G;#thxGt;*KZ@sUw0x{@wyJ=))u%utEVq4rjlaP!Y$BqjehKOxP!mg z#o!;>*GtF5bXUTA)QRPM$w?tx(v%^QU=OK3@8~5s9J%5@@LU-h4&%Tz3ANiN!`6pY z{d{~>g9O+LM>1%#?lcWgjMvW3q zAynLP+Pj*In!~q~Q-zY&QQ67d+->iS9Hp$*vtIHAs2PSLNk^%Lcf?7RE`6CbL(i+S zi@mYxtF0!Qn-Ao(!cnuS_SzC~oUs8K<*XtBS0$~S)BG2Y>j(?ROt2j{)W#P)uV@NT zN-^G>sP7(@Ww8lgj(k4wR&mEo=*#$~10N}O@+fPF?b#_8)@oV2e8bDM`lj@D4?P$5 z;l@U~tuE?jcMb97iev#nV5T~J-31N`GOk~frXOzBq{pR}NxT=CiZb?=51v?7)`mlI zkPBU^a(1tvGDB5Q@jw-&cx8xE{J_$?J#H+cfmsyj(TCuOQ<$6F6d%9}6nrcK{H}k9 zUVNPX(+gy;MNSs|II=LQyglXEc>PW7LFi5YL|UoJst|s1rYhe2QjAPRj_{?P$V8_> z4PzWnnGf2_W^STIiaBr4@v7;}DO^+L@QXgb#gwkOQuuk*!G;7|^_U1X%fLRuk8i&K ze~7DGj}tvm^OnX34mgU$GD@w9G|hX@dvBm&;+@x;7Z>k z5TRKa^5l2Y*dKL9jqpr=W}_E}@p{9yMVtqs-mEdA%$5P&0ki!bQ!+8|KETg)FZcM$W1QshbFk(d!KO^wp~ z!$Q{zgULx1-jPYN!6=BdrH6)aC zE+}L-NArqGXTPT3f#f9^QGW5Gs|-_?sLe~XeqGm2Wrwvyb8J#Bh4P)}yK$pp>(Y&Z z-V5?b66^rsN82>D`A=x~*0V8LiS0KA(v~8xd$%Tn84yGK<6~sG5rp-Co{42xvWQ6! zl8j;ZYgWaOUe zB^j|NCF|Rj`#-0u!_Tvn~`yyxK zeiH~hQ1z@7-BllZZn2=4@(tCt<3-^ zJ~Ek)Q@=aUWC}T4+J$Jh4Q<*0+)%D4AKyYCtFM7!Z`dmKU?t)Sy1Q?fA18X4@2>FD zID6K{fd;N~n&Pif`zj?B&!+b_SUyJKTI;Y5Mu=biYOt3(n!Oe?5729NHMDoTJ}=L#i*k6a#*6_i^XdZOf@=tiaH6B*>CSBF zmAK&C%`qbsUya&PFdKhaqp~bNDwzNUNFkU3M-;9^CwA2>p%r~7<=NxqwH?-|<@WPE`UM0B z&*)WGhmK@05$cT-#`FfGQ*A{?SDo&{JO^r9RmW@+`TQ)It6O+@3n7%IR)xB+3?awt z;({1zt#e^Vu(`Q@mpk0jIMytWo;E>q%@vJDXxHL_ndR|&HBBa!w&ece0>N6Q)?|1K zaH&@|iRQ>gpw}5M)5WbvmU+TpF>i%bpcG*tgCF9wk|%09!hRWFXkl@7w-%#(&G96NAemhCEcpMclE-;9uWlO;j8<8|Ph znvT~n#K@6)XrH@`P|?u$}xUfQu z%P~C=)TqCQ&O=b_!mS@d1nbbh$zqxnjAHKZ3$10D1qW+XZ0UmpQrd7_1IPs^JE3}xWu^A_QDT6zx%&osNdkypD+{$ z2Pf;_K-7OAxxe5g0O%JB@&Au;s2w|E-334oIOT=u`+n*bIYw!{@qdjg*xZ@}0iCErAvmZId`2@%I z9)nNL2mUk)=Ns-iri=Ib*jDu6Q8jKlo62RMmOtddk>)e3=H!C!;_|SnsaKMM0Ng&9g+jNABGZuLM9{iV!(yjwAKX zY9k^%Hi+rCYTSL*IAdn8wHoIQYEYZMAZ#3KmP>|5aGQa5;6vC2{Y~MKe|nGu-L`7_ zTGn;V8Re>VczN9J2|x7}rXhX|Z@L?YE1j6!^(~6Sdhx?O%Yu7m4)O@c+VA|A0b&A*mw94uF+s0L>psfM02}et`yjnKcB! ztZHU0XzgJ3m*98Js%A!xrVh`RWcgn%Rv;%6m=nmt#RgzyOOkh?n@U!l}>-rkv9kSY2P->>iG`ho6Ab*90xK&MCz$J(F+iNpCSv{F)qez8{we3; zWMg_Bu3uK<_)kU-Adm?RowzdQSn z!q~Z<>E2wwjmQG{N8}&D-;3jUnc65@oBiT=133>e&=LPkDPhYwJVm7e;Qu<>X ze`Ypt{GLmHP#b{2zlaY1JGo&+MaE`|1-JEHwHYqDNgAK$<8hYxB>y;@9=Sz0I19nJ z$c((HVGz#X>C>EZY^?=ah&j%p|JvC6*jAq%O+bJ!Atn??WQd=dt&p(166T;!P#6Z4 zuNVe7hP>>XP&@QkJ(kaY6yT6#c|;|7+2r>3A_25nATg4{Sig!_xZe;`-s$mrFPh>O zEGW#qdeKV~E{d||BM7h9;F66rm53s5@7^?Hr;_;DZeRU=ykWc`=V6~*W@bkwReAAp zVO%?nQ9&_2(i5yKnMF~?`_T_KrWmkzO@XHNpmm_#mQ^%L@PtdyhmDlxGQgVru2lcn zy2wp2xhiTz@4?u8#ly67ZzOnOcd2L;yXme>r9^Lrw@l6whOAC>m$jn3jf@)imJ@%T zAH^?Jubt5dv$=wAyY=7&RObmZCP2xR0t#}N@5a72!S5)GNA`{oRF+5NOejUU7_rrQZ_5nojNQ7mJD_fo?as94&d(GLXT75y>O8x@E%AQh(O-*y z=Bi&(`8RNqN4E@+?#qN1RiC=t{zz}pJrtj0bjxCe*`dCdBiKopRh%jsDCrIIK|%f~ zusO?<$k*{nQ_iAqk2TZG7~86h9`~F2d%P?t9Y$oalFtj%r@e+a+A0es%G*wQ#oq=( z+fL-sRoIi%bM-~A-UPjVI@zVS9^SOIhl_7f+^}+ax=h;e*%o6CJ6e7adz+o`KBN;8 zi>hk9VCo@3L&9A~H)VbG`Xop5Wu~gSy3LX0ts+S)?6&IlDvXNufv#v-f$FZNLgv9@ zjdGdYq+mafctdYFmdo%_jEjw(c*ByMyce2~K*h?JGwGK8R7a<-UR=BDyS(KoBUomf6;}2e;hRbFNThynY-~{Cx9wI z69{u5xta7WfiwwCykLuj+1fnt73thb0CZ$3^{!Kdxu_zLb?0LVDvU&(kI;J8?!& z50So(!q7QmCx+gKXi+CeE@AaPl?Ow=3SnybA`@N%Jt>NO^WT$}\newline -{\ttfamily \#include $<$string$>$}\newline -{\ttfamily \#include $<$memory$>$}\newline -{\ttfamily \#include "{}trading.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$nlohmann/json.\+hpp$>$}\newline -Include dependency graph for JSONReader.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{JSONReader_8hh__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=310pt]{JSONReader_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders}{readers}} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{readers\+::json\+::\+JSON}} = nlohmann\+::json -\item -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{readers\+::json\+::\+Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} diff --git a/latex/JSONReader_8hh__dep__incl.md5 b/latex/JSONReader_8hh__dep__incl.md5 deleted file mode 100644 index c80db6e..0000000 --- a/latex/JSONReader_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ec098445606982883bedccfed91b5862 \ No newline at end of file diff --git a/latex/JSONReader_8hh__dep__incl.pdf b/latex/JSONReader_8hh__dep__incl.pdf deleted file mode 100644 index 55ca0964b04c066edbf83d734fcd4b87925207ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7850 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 diff --git a/latex/JSONReader_8hh__incl.md5 b/latex/JSONReader_8hh__incl.md5 deleted file mode 100644 index ac529b8..0000000 --- a/latex/JSONReader_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1f6755b0cedd876e089e33ad2e048562 \ No newline at end of file diff --git a/latex/JSONReader_8hh__incl.pdf b/latex/JSONReader_8hh__incl.pdf deleted file mode 100644 index b0a39ed4bb679f77c651b53436be70058e8b7de9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8763 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 -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ } -\DoxyCodeLine{00008\ \textcolor{comment}{//\ Third\ Party\ Includes}} -\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ "{}trading.pb.h"{}}} -\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00011\ } -\DoxyCodeLine{00012\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespacereaders_1_1json}{readers::json}}\ \{} -\DoxyCodeLine{00013\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{JSON}}\ =\ nlohmann::json;} -\DoxyCodeLine{00014\ \textcolor{keyword}{using\ }\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{OrderQueue}}\ =\ std::queue;} -\DoxyCodeLine{00015\ } -\DoxyCodeLine{00016\ \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{OrderQueue}}\ \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{read\_orders\_from\_json}}(\textcolor{keyword}{const}\ std::string\&\ filename);} -\DoxyCodeLine{00017\ \}\ \textcolor{comment}{//\ End\ json\ namespace}} - -\end{DoxyCode} diff --git a/latex/Makefile b/latex/Makefile deleted file mode 100644 index 8e14614..0000000 --- a/latex/Makefile +++ /dev/null @@ -1,42 +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) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - 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) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi; \ - latex_count=`expr $$latex_count - 1` ;\ - done - $(MKIDX_CMD) $(MANUAL_FILE).idx - $(LATEX_CMD) $(MANUAL_FILE) || \ - if [ $$? != 0 ] ; then \ - \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \ - false; \ - fi - -clean: - rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf diff --git a/latex/Publisher_8cc.tex b/latex/Publisher_8cc.tex deleted file mode 100644 index 19b471f..0000000 --- a/latex/Publisher_8cc.tex +++ /dev/null @@ -1,11 +0,0 @@ -\doxysection{src/\+Publisher.cc File Reference} -\hypertarget{Publisher_8cc}{}\label{Publisher_8cc}\index{src/Publisher.cc@{src/Publisher.cc}} -{\ttfamily \#include "{}Publisher.\+hh"{}}\newline -{\ttfamily \#include $<$iostream$>$}\newline -Include dependency graph for Publisher.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Publisher_8cc__incl} -\end{center} -\end{figure} diff --git a/latex/Publisher_8cc__incl.md5 b/latex/Publisher_8cc__incl.md5 deleted file mode 100644 index 94adc6e..0000000 --- a/latex/Publisher_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2d136351ebf2617e47a2431fe6cf3158 \ No newline at end of file diff --git a/latex/Publisher_8cc__incl.pdf b/latex/Publisher_8cc__incl.pdf deleted file mode 100644 index 64d0a382b12aaec4bb6673268c5c254a136ee7c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8088 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 diff --git a/latex/Publisher_8hh.tex b/latex/Publisher_8hh.tex deleted file mode 100644 index 41588c3..0000000 --- a/latex/Publisher_8hh.tex +++ /dev/null @@ -1,24 +0,0 @@ -\doxysection{include/\+Publisher.hh File Reference} -\hypertarget{Publisher_8hh}{}\label{Publisher_8hh}\index{include/Publisher.hh@{include/Publisher.hh}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$memory$>$}\newline -Include dependency graph for Publisher.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{Publisher_8hh__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=350pt]{Publisher_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classPublisher}{Publisher}} -\end{DoxyCompactItemize} diff --git a/latex/Publisher_8hh__dep__incl.md5 b/latex/Publisher_8hh__dep__incl.md5 deleted file mode 100644 index 11dbb5f..0000000 --- a/latex/Publisher_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5bf9bae782ee8e3e8516e2e0453bc2c5 \ No newline at end of file diff --git a/latex/Publisher_8hh__dep__incl.pdf b/latex/Publisher_8hh__dep__incl.pdf deleted file mode 100644 index 958d120046db2b95492482cc4ed2cf40d53d09e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8935 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 YN5b8Z-fmZmhC+me3E0`?A1Dy~A4qJwE&u=k diff --git a/latex/Publisher_8hh__incl.md5 b/latex/Publisher_8hh__incl.md5 deleted file mode 100644 index 1020ade..0000000 --- a/latex/Publisher_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e78cf47d5e8ae292dbba712ea3a137d4 \ No newline at end of file diff --git a/latex/Publisher_8hh__incl.pdf b/latex/Publisher_8hh__incl.pdf deleted file mode 100644 index 8a8b1981dc1d047aa5e14d132074daef545b8b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7678 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 -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ } -\DoxyCodeLine{00007\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}}\ \{} -\DoxyCodeLine{00008\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00009\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}}(std::shared\_ptr\ channel);} -\DoxyCodeLine{00010\ } -\DoxyCodeLine{00011\ \ \ \ \ grpc::Status\ \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\_order}}(\textcolor{keyword}{const}\ trading::Order\&\ order);} -\DoxyCodeLine{00012\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00013\ \ \ \ \ std::unique\_ptr\ \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\_stub}};} -\DoxyCodeLine{00014\ \};} - -\end{DoxyCode} diff --git a/latex/ThreadPool_8cc.tex b/latex/ThreadPool_8cc.tex deleted file mode 100644 index f19383c..0000000 --- a/latex/ThreadPool_8cc.tex +++ /dev/null @@ -1,22 +0,0 @@ -\doxysection{src/utils/\+Thread\+Pool.cc File Reference} -\hypertarget{ThreadPool_8cc}{}\label{ThreadPool_8cc}\index{src/utils/ThreadPool.cc@{src/utils/ThreadPool.cc}} -{\ttfamily \#include $<$vector$>$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -{\ttfamily \#include "{}utils/\+Thread\+Pool.\+hh"{}}\newline -Include dependency graph for Thread\+Pool.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadPool_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadPool_8cc__incl.md5 b/latex/ThreadPool_8cc__incl.md5 deleted file mode 100644 index db45ed8..0000000 --- a/latex/ThreadPool_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a1eefb259b52d70ba5b2f8d600c8d7e7 \ No newline at end of file diff --git a/latex/ThreadPool_8cc__incl.pdf b/latex/ThreadPool_8cc__incl.pdf deleted file mode 100644 index 7ce1856cb2f3571f66d711e8b878cf1034bd7377..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9242 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 T$}\newline -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$future$>$}\newline -Include dependency graph for Thread\+Pool.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadPool_8hh__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=350pt]{ThreadPool_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadPool_8hh__dep__incl.md5 b/latex/ThreadPool_8hh__dep__incl.md5 deleted file mode 100644 index e0b8433..0000000 --- a/latex/ThreadPool_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7fc62ea7e035c32c7bb2e8e282ccf661 \ No newline at end of file diff --git a/latex/ThreadPool_8hh__dep__incl.pdf b/latex/ThreadPool_8hh__dep__incl.pdf deleted file mode 100644 index c4e60e7a71ce6a2b1f0bc02d28b08d30d19c8c89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8957 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 HS)%^~AUwc_ diff --git a/latex/ThreadPool_8hh__incl.md5 b/latex/ThreadPool_8hh__incl.md5 deleted file mode 100644 index 2a6df99..0000000 --- a/latex/ThreadPool_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d4b3a5bf89e3c451af8aaef193ad8e31 \ No newline at end of file diff --git a/latex/ThreadPool_8hh__incl.pdf b/latex/ThreadPool_8hh__incl.pdf deleted file mode 100644 index 15bb96f1b9d40da75142ef60510d2627ada42635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8316 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 UyW{z$kRSvSpN&mQMH>JA0CF0YQ~&?~ diff --git a/latex/ThreadPool_8hh_source.tex b/latex/ThreadPool_8hh_source.tex deleted file mode 100644 index ec3f2a8..0000000 --- a/latex/ThreadPool_8hh_source.tex +++ /dev/null @@ -1,52 +0,0 @@ -\doxysection{Thread\+Pool.\+hh} -\hypertarget{ThreadPool_8hh_source}{}\label{ThreadPool_8hh_source}\index{include/utils/ThreadPool.hh@{include/utils/ThreadPool.hh}} -\mbox{\hyperlink{ThreadPool_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceutils}{utils}}\ \{} -\DoxyCodeLine{00011\ } -\DoxyCodeLine{00012\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{ThreadPool}}\ \{} -\DoxyCodeLine{00013\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00014\ \ \ \ \ std::vector\ \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\_workers}};} -\DoxyCodeLine{00015\ \ \ \ \ std::queue>\ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\_tasks}};} -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \ \ \ \ std::mutex\ \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\_queue\_mutex}};} -\DoxyCodeLine{00018\ \ \ \ \ std::condition\_variable\ \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\_cv}};} -\DoxyCodeLine{00019\ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\_stop}}\{\textcolor{keyword}{false}\};} -\DoxyCodeLine{00020\ } -\DoxyCodeLine{00021\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00022\ \ \ \ \ \textcolor{keyword}{explicit}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{ThreadPool}}(std::size\_t\ threads\ =\ std::thread::hardware\_concurrency());} -\DoxyCodeLine{00023\ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\string~ThreadPool}}();} -\DoxyCodeLine{00024\ } -\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keyword}{template}<\textcolor{keyword}{class\ }F,\ \textcolor{keyword}{class}...\ Args>} -\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keyword}{auto}\ \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue}}(F\&\&\ f,\ Args\&\&...\ args)\ -\/>\ std::future>\ \{} -\DoxyCodeLine{00027\ \ \ \ \ \ \ \ \ \textcolor{keyword}{using\ }return\_type\ =\ std::invoke\_result\_t;} -\DoxyCodeLine{00028\ } -\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \textcolor{keyword}{auto}\ task\_ptr\ =\ std::make\_shared>(} -\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ \ \ \ \ std::bind(std::forward(f),\ std::forward(args)...)} -\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ );} -\DoxyCodeLine{00032\ } -\DoxyCodeLine{00033\ \ \ \ \ \ \ \ \ std::future\ result\ =\ task\_ptr-\/>get\_future();} -\DoxyCodeLine{00034\ } -\DoxyCodeLine{00035\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00036\ \ \ \ \ \ \ \ \ \ \ \ \ std::unique\_lock\ lock(\mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\_queue\_mutex}});} -\DoxyCodeLine{00037\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\_stop}})} -\DoxyCodeLine{00038\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{throw}\ std::runtime\_error(\textcolor{stringliteral}{"{}Tried\ to\ enqueue\ on\ stopped\ ThreadPool"{}});} -\DoxyCodeLine{00039\ } -\DoxyCodeLine{00040\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\_tasks}}.emplace([task\_ptr]()\ \{\ (*task\_ptr)();\ \});} -\DoxyCodeLine{00041\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00042\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\_cv}}.notify\_one();} -\DoxyCodeLine{00043\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ result;} -\DoxyCodeLine{00044\ \ \ \ \ \}} -\DoxyCodeLine{00045\ \};} -\DoxyCodeLine{00046\ \}\ \textcolor{comment}{//\ End\ utils\ namespace}} - -\end{DoxyCode} diff --git a/latex/ThreadSafeQueue_8cc.tex b/latex/ThreadSafeQueue_8cc.tex deleted file mode 100644 index 963ca6f..0000000 --- a/latex/ThreadSafeQueue_8cc.tex +++ /dev/null @@ -1,2 +0,0 @@ -\doxysection{src/utils/\+Thread\+Safe\+Queue.cc File Reference} -\hypertarget{ThreadSafeQueue_8cc}{}\label{ThreadSafeQueue_8cc}\index{src/utils/ThreadSafeQueue.cc@{src/utils/ThreadSafeQueue.cc}} diff --git a/latex/ThreadSafeQueue_8hh.tex b/latex/ThreadSafeQueue_8hh.tex deleted file mode 100644 index a2c1faf..0000000 --- a/latex/ThreadSafeQueue_8hh.tex +++ /dev/null @@ -1,31 +0,0 @@ -\doxysection{include/utils/\+Thread\+Safe\+Queue.hh File Reference} -\hypertarget{ThreadSafeQueue_8hh}{}\label{ThreadSafeQueue_8hh}\index{include/utils/ThreadSafeQueue.hh@{include/utils/ThreadSafeQueue.hh}} -{\ttfamily \#include $<$queue$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -{\ttfamily \#include $<$functional$>$}\newline -{\ttfamily \#include $<$mutex$>$}\newline -{\ttfamily \#include $<$condition\+\_\+variable$>$}\newline -Include dependency graph for Thread\+Safe\+Queue.\+hh\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{ThreadSafeQueue_8hh__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=350pt]{ThreadSafeQueue_8hh__dep__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue$<$ T $>$}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespaceutils}{utils}} -\end{DoxyCompactItemize} diff --git a/latex/ThreadSafeQueue_8hh__dep__incl.md5 b/latex/ThreadSafeQueue_8hh__dep__incl.md5 deleted file mode 100644 index 42a7102..0000000 --- a/latex/ThreadSafeQueue_8hh__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e523521ad6faba19f0abd2aea07289a8 \ No newline at end of file diff --git a/latex/ThreadSafeQueue_8hh__dep__incl.pdf b/latex/ThreadSafeQueue_8hh__dep__incl.pdf deleted file mode 100644 index 684aee0f1318c7c95ddd1430912b1bc6f7b521eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8953 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 diff --git a/latex/ThreadSafeQueue_8hh__incl.md5 b/latex/ThreadSafeQueue_8hh__incl.md5 deleted file mode 100644 index 66717c5..0000000 --- a/latex/ThreadSafeQueue_8hh__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9070d690ac1c16410ccfa8f2d185154d \ No newline at end of file diff --git a/latex/ThreadSafeQueue_8hh__incl.pdf b/latex/ThreadSafeQueue_8hh__incl.pdf deleted file mode 100644 index 9b658a64bae2a23aa08b70cb57d75fac733cae15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8373 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 O(s^*0n52}YasCg7x~{1J diff --git a/latex/ThreadSafeQueue_8hh_source.tex b/latex/ThreadSafeQueue_8hh_source.tex deleted file mode 100644 index 6ef4908..0000000 --- a/latex/ThreadSafeQueue_8hh_source.tex +++ /dev/null @@ -1,41 +0,0 @@ -\doxysection{Thread\+Safe\+Queue.\+hh} -\hypertarget{ThreadSafeQueue_8hh_source}{}\label{ThreadSafeQueue_8hh_source}\index{include/utils/ThreadSafeQueue.hh@{include/utils/ThreadSafeQueue.hh}} -\mbox{\hyperlink{ThreadSafeQueue_8hh}{Go to the documentation of this file.}} -\begin{DoxyCode}{0} -\DoxyCodeLine{00001\ \textcolor{comment}{//\ C++\ Includes}} -\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ }} -\DoxyCodeLine{00007\ } -\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }\mbox{\hyperlink{namespaceutils}{utils}}\ \{} -\DoxyCodeLine{00009\ } -\DoxyCodeLine{00010\ \textcolor{keyword}{template}<\textcolor{keyword}{typename}\ T>} -\DoxyCodeLine{00011\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{ThreadSafeQueue}}\ \{} -\DoxyCodeLine{00012\ \textcolor{keyword}{private}:} -\DoxyCodeLine{00013\ \ \ \ \ std::queue\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}};} -\DoxyCodeLine{00014\ \ \ \ \ std::mutex\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}};} -\DoxyCodeLine{00015\ \ \ \ \ std::condition\_variable\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}};} -\DoxyCodeLine{00016\ } -\DoxyCodeLine{00017\ \textcolor{keyword}{public}:} -\DoxyCodeLine{00018\ \ \ \ \ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push}}(T\ value)\ \{} -\DoxyCodeLine{00019\ } -\DoxyCodeLine{00020\ \ \ \ \ \ \ \ \ \{} -\DoxyCodeLine{00021\ \ \ \ \ \ \ \ \ \ \ \ \ std::lock\_guard\ lock(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}});} -\DoxyCodeLine{00022\ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.push(std::move(value));} -\DoxyCodeLine{00023\ \ \ \ \ \ \ \ \ \}} -\DoxyCodeLine{00024\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}}.notify\_one();} -\DoxyCodeLine{00025\ \ \ \ \ \}} -\DoxyCodeLine{00026\ } -\DoxyCodeLine{00027\ \ \ \ \ T\ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\_and\_pop}}()\ \{} -\DoxyCodeLine{00028\ \ \ \ \ \ \ \ \ std::unique\_lock\ lock(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\_mutex}});} -\DoxyCodeLine{00029\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\_cv}}.wait(lock,\ [\&]\ \{\ \textcolor{keywordflow}{return}\ !\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.empty();\ \});} -\DoxyCodeLine{00030\ \ \ \ \ \ \ \ \ T\ val\ =\ std::move(\mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.front());} -\DoxyCodeLine{00031\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\_queue}}.pop();} -\DoxyCodeLine{00032\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ val;} -\DoxyCodeLine{00033\ \ \ \ \ \}} -\DoxyCodeLine{00034\ \};} -\DoxyCodeLine{00035\ \}\ \textcolor{comment}{//\ End\ utils\ namespace}} - -\end{DoxyCode} diff --git a/latex/annotated.tex b/latex/annotated.tex deleted file mode 100644 index 688e932..0000000 --- a/latex/annotated.tex +++ /dev/null @@ -1,10 +0,0 @@ -\doxysection{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{classAlgo}{Algo}} }{\pageref{classAlgo}}{} -\item\contentsline{section}{\mbox{\hyperlink{classController}{Controller}} }{\pageref{classController}}{} -\item\contentsline{section}{\mbox{\hyperlink{classPublisher}{Publisher}} }{\pageref{classPublisher}}{} -\item\contentsline{section}{\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} }{\pageref{classutils_1_1ThreadPool}}{} -\item\contentsline{section}{\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue$<$ T $>$}} }{\pageref{classutils_1_1ThreadSafeQueue}}{} -\item\contentsline{section}{\mbox{\hyperlink{classTraderClient}{Trader\+Client}} }{\pageref{classTraderClient}}{} -\item\contentsline{section}{\mbox{\hyperlink{classTradingServiceImpl}{Trading\+Service\+Impl}} }{\pageref{classTradingServiceImpl}}{} -\end{DoxyCompactList} diff --git a/latex/classAlgo.tex b/latex/classAlgo.tex deleted file mode 100644 index 454fe9f..0000000 --- a/latex/classAlgo.tex +++ /dev/null @@ -1,246 +0,0 @@ -\doxysection{Algo Class Reference} -\hypertarget{classAlgo}{}\label{classAlgo}\index{Algo@{Algo}} - - -{\ttfamily \#include $<$Algo.\+hh$>$} - - - -Collaboration diagram for Algo\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[height=550pt]{classAlgo__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classAlgo_aaf4f951979fc60411ed84c558f081867}{Algo}} () -\item -void \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize}} () -\item -void \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders}} () -\item -void \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process}} () -\item -void \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send}} (trading\+::\+Order \&) -\item -bool \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized}} () -\item -void \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::queue$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}} -\item -std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}} \{false\} -\item -std\+::atomic$<$ bool $>$ \mbox{\hyperlink{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}{\+\_\+running}} \{false\} -\item -std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classPublisher}{Publisher}} $>$ \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}} -\item -\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ trading\+::\+Order $>$ \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}} -\item -\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}} -\item -std\+::mutex \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}} -\item -std\+::jthread \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}} -\item -std\+::vector$<$ std\+::jthread $>$ \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}} -\item -std\+::vector$<$ std\+::future$<$ bool $>$ $>$ \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classAlgo_aaf4f951979fc60411ed84c558f081867}\index{Algo@{Algo}!Algo@{Algo}} -\index{Algo@{Algo}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{Algo()}{Algo()}} -{\footnotesize\ttfamily \label{classAlgo_aaf4f951979fc60411ed84c558f081867} -Algo\+::\+Algo (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}\index{Algo@{Algo}!generate\_orders@{generate\_orders}} -\index{generate\_orders@{generate\_orders}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{generate\_orders()}{generate\_orders()}} -{\footnotesize\ttfamily \label{classAlgo_ac223b246cd2f8851c4e0893ff41547fa} -void Algo\+::generate\+\_\+orders (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a889e1362976e78c4904007ee5edfd3fe}{\+\_\+orders}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}. - -Here is the call graph for this function\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=346pt]{classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph} -\end{center} -\end{figure} -\Hypertarget{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}\index{Algo@{Algo}!initialize@{initialize}} -\index{initialize@{initialize}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{initialize()}{initialize()}} -{\footnotesize\ttfamily \label{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62} -void Algo\+::initialize (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}, and \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}. - -\Hypertarget{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}\index{Algo@{Algo}!initialized@{initialized}} -\index{initialized@{initialized}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{initialized()}{initialized()}} -{\footnotesize\ttfamily \label{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf} -bool Algo\+::initialized (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}{\+\_\+initialized}}. - -\Hypertarget{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}\index{Algo@{Algo}!process@{process}} -\index{process@{process}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{process()}{process()}} -{\footnotesize\ttfamily \label{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e} -void Algo\+::process (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}{\+\_\+order\+\_\+queue}}, \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, \mbox{\hyperlink{classAlgo_a4943cab875d5261b0abec360b68878e8}{\+\_\+send\+\_\+mutex}}, \mbox{\hyperlink{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}{\+\_\+thread\+\_\+pool}}, \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}, and \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json()}}. - -Here is the call graph for this function\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=304pt]{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e_cgraph} -\end{center} -\end{figure} -\Hypertarget{classAlgo_ac556564d232b2d90cec73718538ec804}\index{Algo@{Algo}!send@{send}} -\index{send@{send}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{send()}{send()}} -{\footnotesize\ttfamily \label{classAlgo_ac556564d232b2d90cec73718538ec804} -void Algo\+::send (\begin{DoxyParamCaption}\item[{trading\+::\+Order \&}]{order}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_af5bcfa2719e948826f71983a18ec017d}{\+\_\+pub}}. - -\Hypertarget{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}\index{Algo@{Algo}!stop@{stop}} -\index{stop@{stop}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{stop()}{stop()}} -{\footnotesize\ttfamily \label{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524} -void Algo\+::stop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classAlgo_a671449864b2d1a1af9a57970eb104a0f}{\+\_\+futures}}, \mbox{\hyperlink{classAlgo_a743ddc60baad0afa7f036a529c340460}{\+\_\+reader\+\_\+thread}}, and \mbox{\hyperlink{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}{\+\_\+worker\+\_\+threads}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classAlgo_a671449864b2d1a1af9a57970eb104a0f}\index{Algo@{Algo}!\_futures@{\_futures}} -\index{\_futures@{\_futures}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_futures}{\_futures}} -{\footnotesize\ttfamily \label{classAlgo_a671449864b2d1a1af9a57970eb104a0f} -std\+::vector$<$std\+::future$<$bool$>$ $>$ Algo\+::\+\_\+futures\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - -\Hypertarget{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d}\index{Algo@{Algo}!\_initialized@{\_initialized}} -\index{\_initialized@{\_initialized}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_initialized}{\_initialized}} -{\footnotesize\ttfamily \label{classAlgo_a6cffb1f6d087978eba685bcb1d06b11d} -std\+::atomic$<$bool$>$ Algo\+::\+\_\+initialized \{false\}\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, and \mbox{\hyperlink{classAlgo_a6fef1866e14e8a08788cb1d54afcedaf}{initialized()}}. - -\Hypertarget{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8}\index{Algo@{Algo}!\_order\_queue@{\_order\_queue}} -\index{\_order\_queue@{\_order\_queue}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_order\_queue}{\_order\_queue}} -{\footnotesize\ttfamily \label{classAlgo_ac4f2da176cc2dc9ba757140a635fe9b8} -\mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$trading\+::\+Order$>$ Algo\+::\+\_\+order\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_a889e1362976e78c4904007ee5edfd3fe}\index{Algo@{Algo}!\_orders@{\_orders}} -\index{\_orders@{\_orders}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_orders}{\_orders}} -{\footnotesize\ttfamily \label{classAlgo_a889e1362976e78c4904007ee5edfd3fe} -std\+::queue$<$trading\+::\+Order$>$ Algo\+::\+\_\+orders\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{generate\+\_\+orders()}}. - -\Hypertarget{classAlgo_af5bcfa2719e948826f71983a18ec017d}\index{Algo@{Algo}!\_pub@{\_pub}} -\index{\_pub@{\_pub}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_pub}{\_pub}} -{\footnotesize\ttfamily \label{classAlgo_af5bcfa2719e948826f71983a18ec017d} -std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classPublisher}{Publisher}}$>$ Algo\+::\+\_\+pub\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac8b70d722d4b2c1ad5cad4a63c3b7c62}{initialize()}}, \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_ac556564d232b2d90cec73718538ec804}{send()}}. - -\Hypertarget{classAlgo_a743ddc60baad0afa7f036a529c340460}\index{Algo@{Algo}!\_reader\_thread@{\_reader\_thread}} -\index{\_reader\_thread@{\_reader\_thread}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_reader\_thread}{\_reader\_thread}} -{\footnotesize\ttfamily \label{classAlgo_a743ddc60baad0afa7f036a529c340460} -std\+::jthread Algo\+::\+\_\+reader\+\_\+thread\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - -\Hypertarget{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3}\index{Algo@{Algo}!\_running@{\_running}} -\index{\_running@{\_running}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_running}{\_running}} -{\footnotesize\ttfamily \label{classAlgo_a3ce5d714379ab5094b6d82b99421b4a3} -std\+::atomic$<$bool$>$ Algo\+::\+\_\+running \{false\}\hspace{0.3cm}{\ttfamily [private]}} - -\Hypertarget{classAlgo_a4943cab875d5261b0abec360b68878e8}\index{Algo@{Algo}!\_send\_mutex@{\_send\_mutex}} -\index{\_send\_mutex@{\_send\_mutex}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_send\_mutex}{\_send\_mutex}} -{\footnotesize\ttfamily \label{classAlgo_a4943cab875d5261b0abec360b68878e8} -std\+::mutex Algo\+::\+\_\+send\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_adb85594bf1d2e7c9357d353b5e97787d}\index{Algo@{Algo}!\_thread\_pool@{\_thread\_pool}} -\index{\_thread\_pool@{\_thread\_pool}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_thread\_pool}{\_thread\_pool}} -{\footnotesize\ttfamily \label{classAlgo_adb85594bf1d2e7c9357d353b5e97787d} -\mbox{\hyperlink{classutils_1_1ThreadPool}{utils\+::\+Thread\+Pool}} Algo\+::\+\_\+thread\+\_\+pool\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}. - -\Hypertarget{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0}\index{Algo@{Algo}!\_worker\_threads@{\_worker\_threads}} -\index{\_worker\_threads@{\_worker\_threads}!Algo@{Algo}} -\doxysubsubsection{\texorpdfstring{\_worker\_threads}{\_worker\_threads}} -{\footnotesize\ttfamily \label{classAlgo_ac72ec5a778fce0be42ebf635f2c504d0} -std\+::vector$<$std\+::jthread$>$ Algo\+::\+\_\+worker\+\_\+threads\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{process()}}, and \mbox{\hyperlink{classAlgo_a330f03f9df9e5d1e2b701bc3f5e94524}{stop()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Algo_8hh}{Algo.\+hh}}\item -src/\mbox{\hyperlink{Algo_8cc}{Algo.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classAlgo__coll__graph.md5 b/latex/classAlgo__coll__graph.md5 deleted file mode 100644 index 4b60d70..0000000 --- a/latex/classAlgo__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3e2df6efa8420a71219eeace5d6a30a3 \ No newline at end of file diff --git a/latex/classAlgo__coll__graph.pdf b/latex/classAlgo__coll__graph.pdf deleted file mode 100644 index 1df0be5544205e8e3ba167ffd2fb1c559ed01dd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11206 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
pXs^MI-l3^?6 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 diff --git a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 b/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 deleted file mode 100644 index b707aed..0000000 --- a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a386fcb3bc2ee89994392afc1f2c3cd \ No newline at end of file diff --git a/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf b/latex/classAlgo_ac223b246cd2f8851c4e0893ff41547fa_cgraph.pdf deleted file mode 100644 index e822f8f02815e8306af79f9d8dcffe87be61186a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7078 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ϟH=2kg%f>P;n^)^7t9xV6Zp>3_p6F zlgW-+jyM|d>}Q!B6+G4m<8%!3f#BoD^mic~4gK$x z@K2r#Id=Nlx^#g*EAto6MgC0f|6|+0)zI8!6vP-bRD>v|dB9>`GB-*dCdiqEqK!K|NTB1lqH!);%YLW*)Eg<97tMACZS=6hie%VU++be zmnii{7AAl$7>ID?2@qXtj)$T)EH~oO-Pbhu`~-A1wef95YI#%EdM!R2E$3sM9vR82 zK8zC9a_`Pf@YJkqxgE@3a?G%Luvq~}I z>J5zC9aQ*d8hLK#K9UbBNgY84cSZD;X=z^AUm3KzVk|x65ncapUZ%Isug( zBUL|$aZwv*|Jj^R>gdlesJ{@z9S=gz@#Z!vW8 zw*x|c?k<=B&A~tj5c0Fd8ep+FAmm^B5tlIbSm04V{`D68+1awOw%+~mI5H$Wgjl6G zgxsF4zO{Aten?1M2)70ZPuAu^YApR diff --git a/latex/classController.tex b/latex/classController.tex deleted file mode 100644 index 9d3a458..0000000 --- a/latex/classController.tex +++ /dev/null @@ -1,72 +0,0 @@ -\doxysection{Controller Class Reference} -\hypertarget{classController}{}\label{classController}\index{Controller@{Controller}} - - -{\ttfamily \#include $<$Controller.\+hh$>$} - - - -Collaboration diagram for Controller\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=156pt]{classController__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller}} (int, char \texorpdfstring{$\ast$}{*}\mbox{[}$\,$\mbox{]}) -\item -void \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classAlgo}{Algo}} $>$ \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classController_a9bf20649bd5268f6c25d206eddcd3fc5}\index{Controller@{Controller}!Controller@{Controller}} -\index{Controller@{Controller}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{Controller()}{Controller()}} -{\footnotesize\ttfamily \label{classController_a9bf20649bd5268f6c25d206eddcd3fc5} -Controller\+::\+Controller (\begin{DoxyParamCaption}\item[{int}]{argc}{, }\item[{char \texorpdfstring{$\ast$}{*}}]{argv}{\mbox{[}$\,$\mbox{]}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classController_ad535ad74055e645b7f44b7feeb4e82a8}\index{Controller@{Controller}!start@{start}} -\index{start@{start}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{start()}{start()}} -{\footnotesize\ttfamily \label{classController_ad535ad74055e645b7f44b7feeb4e82a8} -void Controller\+::start (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classController_af469cf532ccb25e9256a9e71d35072ed}{\+\_\+algo}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classController_af469cf532ccb25e9256a9e71d35072ed}\index{Controller@{Controller}!\_algo@{\_algo}} -\index{\_algo@{\_algo}!Controller@{Controller}} -\doxysubsubsection{\texorpdfstring{\_algo}{\_algo}} -{\footnotesize\ttfamily \label{classController_af469cf532ccb25e9256a9e71d35072ed} -std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classAlgo}{Algo}}$>$ Controller\+::\+\_\+algo\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classController_a9bf20649bd5268f6c25d206eddcd3fc5}{Controller()}}, and \mbox{\hyperlink{classController_ad535ad74055e645b7f44b7feeb4e82a8}{start()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Controller_8hh}{Controller.\+hh}}\item -src/\mbox{\hyperlink{Controller_8cc}{Controller.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classController__coll__graph.md5 b/latex/classController__coll__graph.md5 deleted file mode 100644 index 42caa1d..0000000 --- a/latex/classController__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c944e19a7c34e404a4783004416612c \ No newline at end of file diff --git a/latex/classController__coll__graph.pdf b/latex/classController__coll__graph.pdf deleted file mode 100644 index 0494fa24972eac388fefb949424122cf8398793a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6411 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 diff --git a/latex/classPublisher.tex b/latex/classPublisher.tex deleted file mode 100644 index d816237..0000000 --- a/latex/classPublisher.tex +++ /dev/null @@ -1,72 +0,0 @@ -\doxysection{Publisher Class Reference} -\hypertarget{classPublisher}{}\label{classPublisher}\index{Publisher@{Publisher}} - - -{\ttfamily \#include $<$Publisher.\+hh$>$} - - - -Collaboration diagram for Publisher\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=162pt]{classPublisher__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher}} (std\+::shared\+\_\+ptr$<$ grpc\+::\+Channel $>$ channel) -\item -grpc\+::\+Status \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\+\_\+order}} (const trading\+::\+Order \&order) -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ trading\+::\+Trading\+Service\+::\+Stub $>$ \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}\index{Publisher@{Publisher}!Publisher@{Publisher}} -\index{Publisher@{Publisher}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{Publisher()}{Publisher()}} -{\footnotesize\ttfamily \label{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d} -Publisher\+::\+Publisher (\begin{DoxyParamCaption}\item[{std\+::shared\+\_\+ptr$<$ grpc\+::\+Channel $>$}]{channel}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}\index{Publisher@{Publisher}!send\_order@{send\_order}} -\index{send\_order@{send\_order}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{send\_order()}{send\_order()}} -{\footnotesize\ttfamily \label{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8} -grpc\+::\+Status Publisher\+::send\+\_\+order (\begin{DoxyParamCaption}\item[{const trading\+::\+Order \&}]{order}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}{\+\_\+stub}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classPublisher_ac495a5e279a5531eddb94314bdbd04ac}\index{Publisher@{Publisher}!\_stub@{\_stub}} -\index{\_stub@{\_stub}!Publisher@{Publisher}} -\doxysubsubsection{\texorpdfstring{\_stub}{\_stub}} -{\footnotesize\ttfamily \label{classPublisher_ac495a5e279a5531eddb94314bdbd04ac} -std\+::unique\+\_\+ptr$<$trading\+::\+Trading\+Service\+::\+Stub$>$ Publisher\+::\+\_\+stub\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classPublisher_ac829a82a3cb7aeeaece86419ffb0119d}{Publisher()}}, and \mbox{\hyperlink{classPublisher_a2fe75fa23a11f43f31e0d2d2261c86e8}{send\+\_\+order()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/\mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}}\item -src/\mbox{\hyperlink{Publisher_8cc}{Publisher.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classPublisher__coll__graph.md5 b/latex/classPublisher__coll__graph.md5 deleted file mode 100644 index 2cc851e..0000000 --- a/latex/classPublisher__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8c65c8bd47d6f5bdbc15b527e1c62fd2 \ No newline at end of file diff --git a/latex/classPublisher__coll__graph.pdf b/latex/classPublisher__coll__graph.pdf deleted file mode 100644 index 636d98e964c2e29ffce8f6c20f19327bc0dc4ca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6447 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 P0wRHA;OAG;LNWXgZxY$y diff --git a/latex/classTraderClient.tex b/latex/classTraderClient.tex deleted file mode 100644 index d4a7bff..0000000 --- a/latex/classTraderClient.tex +++ /dev/null @@ -1,52 +0,0 @@ -\doxysection{Trader\+Client Class Reference} -\hypertarget{classTraderClient}{}\label{classTraderClient}\index{TraderClient@{TraderClient}} - - -Collaboration diagram for Trader\+Client\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=166pt]{classTraderClient__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}{Trader\+Client}} (std\+::shared\+\_\+ptr$<$ Channel $>$ channel) -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::unique\+\_\+ptr$<$ Trading\+Service\+::\+Stub $>$ \mbox{\hyperlink{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}{stub\+\_\+}} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}\index{TraderClient@{TraderClient}!TraderClient@{TraderClient}} -\index{TraderClient@{TraderClient}!TraderClient@{TraderClient}} -\doxysubsubsection{\texorpdfstring{TraderClient()}{TraderClient()}} -{\footnotesize\ttfamily \label{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2} -Trader\+Client\+::\+Trader\+Client (\begin{DoxyParamCaption}\item[{std\+::shared\+\_\+ptr$<$ Channel $>$}]{channel}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}{stub\+\_\+}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classTraderClient_afddee074efdcb23b84d1c78b7757fe56}\index{TraderClient@{TraderClient}!stub\_@{stub\_}} -\index{stub\_@{stub\_}!TraderClient@{TraderClient}} -\doxysubsubsection{\texorpdfstring{stub\_}{stub\_}} -{\footnotesize\ttfamily \label{classTraderClient_afddee074efdcb23b84d1c78b7757fe56} -std\+::unique\+\_\+ptr$<$Trading\+Service\+::\+Stub$>$ Trader\+Client\+::stub\+\_\+\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classTraderClient_a5e478d7e846a47fde9fec75e8158c7a2}{Trader\+Client()}}. - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/\mbox{\hyperlink{grpc__client_8cc}{grpc\+\_\+client.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classTraderClient__coll__graph.md5 b/latex/classTraderClient__coll__graph.md5 deleted file mode 100644 index 19bc94f..0000000 --- a/latex/classTraderClient__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -509dcdeb02ad0910f409cf550cf4b770 \ No newline at end of file diff --git a/latex/classTraderClient__coll__graph.pdf b/latex/classTraderClient__coll__graph.pdf deleted file mode 100644 index dff37e76392e575285ac2dd331d57522e4135877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6624 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 lgV)sLvaQrd?+{+0S9n%E9$ \texorpdfstring{$\ast$}{*}writer) override -\end{DoxyCompactItemize} - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classTradingServiceImpl_a8bc4ca1225b76d0fdb9d971c105e9e6c}\index{TradingServiceImpl@{TradingServiceImpl}!SendOrder@{SendOrder}} -\index{SendOrder@{SendOrder}!TradingServiceImpl@{TradingServiceImpl}} -\doxysubsubsection{\texorpdfstring{SendOrder()}{SendOrder()}} -{\footnotesize\ttfamily \label{classTradingServiceImpl_a8bc4ca1225b76d0fdb9d971c105e9e6c} -Status Trading\+Service\+Impl\+::\+Send\+Order (\begin{DoxyParamCaption}\item[{Server\+Context \texorpdfstring{$\ast$}{*}}]{ctx}{, }\item[{const Order \texorpdfstring{$\ast$}{*}}]{req}{, }\item[{Order\+Ack \texorpdfstring{$\ast$}{*}}]{res}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [private]}} - -\Hypertarget{classTradingServiceImpl_ac047a3c1ac78bddd357d89229d29ff95}\index{TradingServiceImpl@{TradingServiceImpl}!StreamMarketData@{StreamMarketData}} -\index{StreamMarketData@{StreamMarketData}!TradingServiceImpl@{TradingServiceImpl}} -\doxysubsubsection{\texorpdfstring{StreamMarketData()}{StreamMarketData()}} -{\footnotesize\ttfamily \label{classTradingServiceImpl_ac047a3c1ac78bddd357d89229d29ff95} -Status Trading\+Service\+Impl\+::\+Stream\+Market\+Data (\begin{DoxyParamCaption}\item[{Server\+Context \texorpdfstring{$\ast$}{*}}]{ctx}{, }\item[{const Market\+Request \texorpdfstring{$\ast$}{*}}]{req}{, }\item[{grpc\+::\+Server\+Writer$<$ Market\+Data $>$ \texorpdfstring{$\ast$}{*}}]{writer}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [private]}} - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -src/\mbox{\hyperlink{grpc__server_8cc}{grpc\+\_\+server.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classTradingServiceImpl__coll__graph.md5 b/latex/classTradingServiceImpl__coll__graph.md5 deleted file mode 100644 index 40f7767..0000000 --- a/latex/classTradingServiceImpl__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c644db1db8f5590171e6738c3d36bc88 \ No newline at end of file diff --git a/latex/classTradingServiceImpl__coll__graph.pdf b/latex/classTradingServiceImpl__coll__graph.pdf deleted file mode 100644 index 3f4345be65b55caf0de6a092085d2aee4938828a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10767 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 cyGa}z_3a&9?UAzugOD^AE$} - - - -Collaboration diagram for utils\+::Thread\+Pool\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=172pt]{classutils_1_1ThreadPool__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool}} (std\+::size\+\_\+t threads=std\+::thread\+::hardware\+\_\+concurrency()) -\item -\mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool}} () -\item -{\footnotesize template$<$class F, class... Args$>$ }\\auto \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue}} (F \&\&f, Args \&\&... args) -\/$>$ std\+::future$<$ std\+::invoke\+\_\+result\+\_\+t$<$ F, Args... $>$ $>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::vector$<$ std\+::thread $>$ \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}} -\item -std\+::queue$<$ std\+::function$<$ void()$>$ $>$ \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}} -\item -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}} -\item -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}} -\item -bool \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}} \{false\} -\end{DoxyCompactItemize} - - -\doxysubsection{Constructor \& Destructor Documentation} -\Hypertarget{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}\index{utils::ThreadPool@{utils::ThreadPool}!ThreadPool@{ThreadPool}} -\index{ThreadPool@{ThreadPool}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{ThreadPool()}{ThreadPool()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2} -utils\+::\+Thread\+Pool\+::\+Thread\+Pool (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{threads}{ = {\ttfamily std\+:\+:thread\+:\+:hardware\+\_\+concurrency()}}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}}. - -\Hypertarget{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}\index{utils::ThreadPool@{utils::ThreadPool}!````~ThreadPool@{\texorpdfstring{$\sim$}{\string~}ThreadPool}} -\index{````~ThreadPool@{\texorpdfstring{$\sim$}{\string~}ThreadPool}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\texorpdfstring{$\sim$}{\string~}ThreadPool()}{\string~ThreadPool()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108} -utils\+::\+Thread\+Pool\+::\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}{\+\_\+workers}}. - - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}\index{utils::ThreadPool@{utils::ThreadPool}!enqueue@{enqueue}} -\index{enqueue@{enqueue}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{enqueue()}{enqueue()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d} -template$<$class F, class... Args$>$ \\ -auto utils\+::\+Thread\+Pool\+::enqueue (\begin{DoxyParamCaption}\item[{F \&\&}]{f}{, }\item[{Args \&\&...}]{args}{}\end{DoxyParamCaption}) -\/$>$ std\+::future$<$std\+::invoke\+\_\+result\+\_\+t$<$F, Args...$>$$>$ \hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}{\+\_\+queue\+\_\+mutex}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}{\+\_\+stop}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}{\+\_\+tasks}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748}\index{utils::ThreadPool@{utils::ThreadPool}!\_cv@{\_cv}} -\index{\_cv@{\_cv}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_cv}{\_cv}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_ad0284bde5203396b2e3cf95e07893748} -std\+::condition\+\_\+variable utils\+::\+Thread\+Pool\+::\+\_\+cv\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291}\index{utils::ThreadPool@{utils::ThreadPool}!\_queue\_mutex@{\_queue\_mutex}} -\index{\_queue\_mutex@{\_queue\_mutex}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_queue\_mutex}{\_queue\_mutex}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_ad59af3c00e330ac777fb5eb349e0e291} -std\+::mutex utils\+::\+Thread\+Pool\+::\+\_\+queue\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f}\index{utils::ThreadPool@{utils::ThreadPool}!\_stop@{\_stop}} -\index{\_stop@{\_stop}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_stop}{\_stop}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a6a2a828a76092e3170cb6a93d679043f} -bool utils\+::\+Thread\+Pool\+::\+\_\+stop \{false\}\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee}\index{utils::ThreadPool@{utils::ThreadPool}!\_tasks@{\_tasks}} -\index{\_tasks@{\_tasks}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_tasks}{\_tasks}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_acbc332a452776263a9e6557131495aee} -std\+::queue$<$std\+::function$<$void()$>$ $>$ utils\+::\+Thread\+Pool\+::\+\_\+tasks\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a06f6b246fd98c4970c0510d48141a29d}{enqueue()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}. - -\Hypertarget{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732}\index{utils::ThreadPool@{utils::ThreadPool}!\_workers@{\_workers}} -\index{\_workers@{\_workers}!utils::ThreadPool@{utils::ThreadPool}} -\doxysubsubsection{\texorpdfstring{\_workers}{\_workers}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadPool_a3113eec4fac2948b403a0d94c42a3732} -std\+::vector$<$std\+::thread$>$ utils\+::\+Thread\+Pool\+::\+\_\+workers\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadPool_a02ccb8118692092d5d4132eab7c751e2}{Thread\+Pool()}}, and \mbox{\hyperlink{classutils_1_1ThreadPool_a6f0428a4b19a724f956d82e408013108}{\texorpdfstring{$\sim$}{\string~}\+Thread\+Pool()}}. - - - -The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} -\item -include/utils/\mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}}\item -src/utils/\mbox{\hyperlink{ThreadPool_8cc}{Thread\+Pool.\+cc}}\end{DoxyCompactItemize} diff --git a/latex/classutils_1_1ThreadPool__coll__graph.md5 b/latex/classutils_1_1ThreadPool__coll__graph.md5 deleted file mode 100644 index e0426b4..0000000 --- a/latex/classutils_1_1ThreadPool__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a162b6fbc5641bbe6452d013cac3e320 \ No newline at end of file diff --git a/latex/classutils_1_1ThreadPool__coll__graph.pdf b/latex/classutils_1_1ThreadPool__coll__graph.pdf deleted file mode 100644 index 6890761fa5947f8577101d153fa330c2e006726f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8746 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 v^Kp)wH7&gT=p?rL`Sf-dZ}Pj7Lr9-J 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 DGiN+y diff --git a/latex/classutils_1_1ThreadSafeQueue.tex b/latex/classutils_1_1ThreadSafeQueue.tex deleted file mode 100644 index 3f674ae..0000000 --- a/latex/classutils_1_1ThreadSafeQueue.tex +++ /dev/null @@ -1,97 +0,0 @@ -\doxysection{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference} -\hypertarget{classutils_1_1ThreadSafeQueue}{}\label{classutils_1_1ThreadSafeQueue}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} - - -{\ttfamily \#include $<$Thread\+Safe\+Queue.\+hh$>$} - - - -Collaboration diagram for utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=231pt]{classutils_1_1ThreadSafeQueue__coll__graph} -\end{center} -\end{figure} -\doxysubsubsection*{Public Member Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push}} (T value) -\item -T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop}} () -\end{DoxyCompactItemize} -\doxysubsubsection*{Private Attributes} -\begin{DoxyCompactItemize} -\item -std\+::queue$<$ T $>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}} -\item -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}} -\item -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}} -\end{DoxyCompactItemize} - - -\doxysubsection{Member Function Documentation} -\Hypertarget{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!push@{push}} -\index{push@{push}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{push()}{push()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33} -template$<$typename T$>$ \\ -void \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::push (\begin{DoxyParamCaption}\item[{T}]{value}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!wait\_and\_pop@{wait\_and\_pop}} -\index{wait\_and\_pop@{wait\_and\_pop}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{wait\_and\_pop()}{wait\_and\_pop()}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b} -template$<$typename T$>$ \\ -T \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::wait\+\_\+and\+\_\+pop (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} - - - -References \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}{\+\_\+cv}}, \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}{\+\_\+mutex}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}{\+\_\+queue}}. - - - -\doxysubsection{Member Data Documentation} -\Hypertarget{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_cv@{\_cv}} -\index{\_cv@{\_cv}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_cv}{\_cv}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_aa8f60ba625a00977e004c6641325671e} -template$<$typename T$>$ \\ -std\+::condition\+\_\+variable \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+cv\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_mutex@{\_mutex}} -\index{\_mutex@{\_mutex}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_mutex}{\_mutex}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a43fef8c13f23363c48bac7a6a49a565b} -template$<$typename T$>$ \\ -std\+::mutex \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+mutex\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - -\Hypertarget{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee}\index{utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}!\_queue@{\_queue}} -\index{\_queue@{\_queue}!utils::ThreadSafeQueue$<$ T $>$@{utils::ThreadSafeQueue$<$ T $>$}} -\doxysubsubsection{\texorpdfstring{\_queue}{\_queue}} -{\footnotesize\ttfamily \label{classutils_1_1ThreadSafeQueue_a970596f4c9a6d1a806b06d46807e06ee} -template$<$typename T$>$ \\ -std\+::queue$<$T$>$ \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{utils\+::\+Thread\+Safe\+Queue}}$<$ T $>$\+::\+\_\+queue\hspace{0.3cm}{\ttfamily [private]}} - - - -Referenced by \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a00347d38cfa085d97c67796779da2f33}{push()}}, and \mbox{\hyperlink{classutils_1_1ThreadSafeQueue_a0fc878c7c3ed27b4c65bcf277b99a48b}{wait\+\_\+and\+\_\+pop()}}. - - - -The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} -\item -include/utils/\mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}}\end{DoxyCompactItemize} diff --git a/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 b/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 deleted file mode 100644 index e3baa20..0000000 --- a/latex/classutils_1_1ThreadSafeQueue__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2bab52784053277ebef1b99ca75ae9fb \ No newline at end of file diff --git a/latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf b/latex/classutils_1_1ThreadSafeQueue__coll__graph.pdf deleted file mode 100644 index 33eb2546e48674043eb2c1a74f7fa06fd375e44f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8971 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 B0dxQW diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex b/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex deleted file mode 100644 index b37eceb..0000000 --- a/latex/dir_821002d4f10779a80d4fb17bc32f21f1.tex +++ /dev/null @@ -1,16 +0,0 @@ -\doxysection{include/utils Directory Reference} -\hypertarget{dir_821002d4f10779a80d4fb17bc32f21f1}{}\label{dir_821002d4f10779a80d4fb17bc32f21f1}\index{include/utils Directory Reference@{include/utils Directory Reference}} -Directory dependency graph for utils\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=150pt]{dir_821002d4f10779a80d4fb17bc32f21f1_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}} -\item -file \mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}} -\end{DoxyCompactItemize} diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 b/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 deleted file mode 100644 index 16dc955..0000000 --- a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -e1a113e2154198092a904007fc766036 \ No newline at end of file diff --git a/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf b/latex/dir_821002d4f10779a80d4fb17bc32f21f1_dep.pdf deleted file mode 100644 index e2b21eee5c9cae2ba74200161f60a8cc5ab10e60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5846 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 diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23.tex b/latex/dir_d44c64559bbebec7f509842c48db8b23.tex deleted file mode 100644 index 01eb7bd..0000000 --- a/latex/dir_d44c64559bbebec7f509842c48db8b23.tex +++ /dev/null @@ -1,25 +0,0 @@ -\doxysection{include Directory Reference} -\hypertarget{dir_d44c64559bbebec7f509842c48db8b23}{}\label{dir_d44c64559bbebec7f509842c48db8b23}\index{include Directory Reference@{include Directory Reference}} -Directory dependency graph for include\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=234pt]{dir_d44c64559bbebec7f509842c48db8b23_dep} -\end{center} -\end{figure} -\doxysubsubsection*{Directories} -\begin{DoxyCompactItemize} -\item -directory \mbox{\hyperlink{dir_61c57797386c8fb992d55e625d187773}{readers}} -\item -directory \mbox{\hyperlink{dir_821002d4f10779a80d4fb17bc32f21f1}{utils}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Files} -\begin{DoxyCompactItemize} -\item -file \mbox{\hyperlink{Algo_8hh}{Algo.\+hh}} -\item -file \mbox{\hyperlink{Controller_8hh}{Controller.\+hh}} -\item -file \mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}} -\end{DoxyCompactItemize} diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 deleted file mode 100644 index 77e00c8..0000000 --- a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -bc5c1166c3c7c6216c2f4f2f9ce1b0a3 \ No newline at end of file diff --git a/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf b/latex/dir_d44c64559bbebec7f509842c48db8b23_dep.pdf deleted file mode 100644 index 48ce696456b4a9f08a766ace6444147b5c5dff63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6760 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 diff --git a/latex/doxygen.sty b/latex/doxygen.sty deleted file mode 100644 index 66a07a5..0000000 --- a/latex/doxygen.sty +++ /dev/null @@ -1,714 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} - -% Packages used by this style file -\RequirePackage{alltt} -%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{calc} -\RequirePackage{float} -%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package -\RequirePackage{verbatim} -\RequirePackage[table]{xcolor} -\RequirePackage{longtable_doxygen} -\RequirePackage{tabu_doxygen} -\RequirePackage{fancyvrb} -\RequirePackage{tabularx} -\RequirePackage{multicol} -\RequirePackage{multirow} -\RequirePackage{hanging} -\RequirePackage{ifpdf} -\RequirePackage{adjustbox} -\RequirePackage{amssymb} -\RequirePackage{stackengine} -\RequirePackage{enumitem} -\RequirePackage{alphalph} -\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis - -%---------- Internal commands used in this style file ---------------- - -\newcommand{\ensurespace}[1]{% - \begingroup% - \setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@% - \penalty -100\vskip\z@\@plus -\dimen@% - \vskip\dimen@% - \penalty 9999% - \vskip -\dimen@% - \vskip\z@skip% hide the previous |\vskip| from |\addvspace| - \endgroup% -} - -\newcommand{\DoxyHorRuler}[1]{% - \setlength{\parskip}{0ex plus 0ex minus 0ex}% - \ifthenelse{#1=0}% - {% - \hrule% - }% - {% - \hrulefilll% - }% -} -\newcommand{\DoxyLabelFont}{} -\newcommand{\entrylabel}[1]{% - {% - \parbox[b]{\labelwidth-4pt}{% - \makebox[0pt][l]{\DoxyLabelFont#1}% - \vspace{1.5\baselineskip}% - }% - }% -} - -\newenvironment{DoxyDesc}[1]{% - \ensurespace{4\baselineskip}% - \begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - %\setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - }% - \item[#1]% -}{% - \end{list}% -} - -\newsavebox{\xrefbox} -\newlength{\xreflength} -\newcommand{\xreflabel}[1]{% - \sbox{\xrefbox}{#1}% - \setlength{\xreflength}{\wd\xrefbox}% - \ifthenelse{\xreflength>\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% - \vspace{2pt}% - \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% - }% - \vspace{2pt}% -}{% - \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 for check boxes -\newcommand{\DoxyUnchecked}{$\square$} -\newcommand{\DoxyChecked}{\rlap{\raisebox{0.3ex}{\hspace{0.4ex}\tiny \checkmark}}$\square$} - -% 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 @important -\newenvironment{DoxyImportant}[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}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{2}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}}% - {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,r]|X[-1,l]|}}% with init value - \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 parameters within a detailed function description -\newenvironment{DoxyParamCaption}{% - \renewcommand{\item}[3][]{\\ \hspace*{2.0cm} ##1 {\em ##2}##3}% -}{% -} - -% 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}{10.0em}{7.8em}} -\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{13.0em}{9.4em}} -\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{15.0em}{11em}} -\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{18.0em}{12.6em}} -\renewcommand\l@paragraph{\@dottedtocline{8}{21.0em}{14.2em}} -\renewcommand\l@subparagraph{\@dottedtocline{9}{24.0em}{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 -% for usage with hyperlinks -\makeatletter -\def\doxyfigcaption{% -\H@refstepcounter{figure}% -\@dblarg{\@caption{figure}}} - -% for usage without hyperlinks -\def\doxyfigcaptionnolink{% -\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/latex/etoc_doxygen.sty b/latex/etoc_doxygen.sty deleted file mode 100644 index 5f7e127..0000000 --- a/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/latex/files.tex b/latex/files.tex deleted file mode 100644 index 0e708b0..0000000 --- a/latex/files.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{File List} -Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{include/\mbox{\hyperlink{Algo_8hh}{Algo.\+hh}} }{\pageref{Algo_8hh}}{} -\item\contentsline{section}{include/\mbox{\hyperlink{Controller_8hh}{Controller.\+hh}} }{\pageref{Controller_8hh}}{} -\item\contentsline{section}{include/\mbox{\hyperlink{Publisher_8hh}{Publisher.\+hh}} }{\pageref{Publisher_8hh}}{} -\item\contentsline{section}{include/readers/\mbox{\hyperlink{JSONReader_8hh}{JSONReader.\+hh}} }{\pageref{JSONReader_8hh}}{} -\item\contentsline{section}{include/utils/\mbox{\hyperlink{ThreadPool_8hh}{Thread\+Pool.\+hh}} }{\pageref{ThreadPool_8hh}}{} -\item\contentsline{section}{include/utils/\mbox{\hyperlink{ThreadSafeQueue_8hh}{Thread\+Safe\+Queue.\+hh}} }{\pageref{ThreadSafeQueue_8hh}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Algo_8cc}{Algo.\+cc}} }{\pageref{Algo_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Controller_8cc}{Controller.\+cc}} }{\pageref{Controller_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{grpc__client_8cc}{grpc\+\_\+client.\+cc}} }{\pageref{grpc__client_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{grpc__server_8cc}{grpc\+\_\+server.\+cc}} }{\pageref{grpc__server_8cc}}{} -\item\contentsline{section}{src/\mbox{\hyperlink{Publisher_8cc}{Publisher.\+cc}} }{\pageref{Publisher_8cc}}{} -\item\contentsline{section}{src/readers/\mbox{\hyperlink{JSONReader_8cc}{JSONReader.\+cc}} }{\pageref{JSONReader_8cc}}{} -\item\contentsline{section}{src/utils/\mbox{\hyperlink{ThreadPool_8cc}{Thread\+Pool.\+cc}} }{\pageref{ThreadPool_8cc}}{} -\item\contentsline{section}{src/utils/\mbox{\hyperlink{ThreadSafeQueue_8cc}{Thread\+Safe\+Queue.\+cc}} }{\pageref{ThreadSafeQueue_8cc}}{} -\end{DoxyCompactList} diff --git a/latex/grpc__client_8cc.tex b/latex/grpc__client_8cc.tex deleted file mode 100644 index 43d38f8..0000000 --- a/latex/grpc__client_8cc.tex +++ /dev/null @@ -1,17 +0,0 @@ -\doxysection{src/grpc\+\_\+client.cc File Reference} -\hypertarget{grpc__client_8cc}{}\label{grpc__client_8cc}\index{src/grpc\_client.cc@{src/grpc\_client.cc}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -Include dependency graph for grpc\+\_\+client.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{grpc__client_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classTraderClient}{Trader\+Client}} -\end{DoxyCompactItemize} diff --git a/latex/grpc__client_8cc__incl.md5 b/latex/grpc__client_8cc__incl.md5 deleted file mode 100644 index d7a4811..0000000 --- a/latex/grpc__client_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b85c69005c188465cd778153258c2bad \ No newline at end of file diff --git a/latex/grpc__client_8cc__incl.pdf b/latex/grpc__client_8cc__incl.pdf deleted file mode 100644 index a824f7dfac797f9614b604f6601b41ec6647f3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7051 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 Fe*hR~Cd&W- diff --git a/latex/grpc__server_8cc.tex b/latex/grpc__server_8cc.tex deleted file mode 100644 index f91755e..0000000 --- a/latex/grpc__server_8cc.tex +++ /dev/null @@ -1,32 +0,0 @@ -\doxysection{src/grpc\+\_\+server.cc File Reference} -\hypertarget{grpc__server_8cc}{}\label{grpc__server_8cc}\index{src/grpc\_server.cc@{src/grpc\_server.cc}} -{\ttfamily \#include "{}trading.\+grpc.\+pb.\+h"{}}\newline -{\ttfamily \#include $<$grpcpp/grpcpp.\+h$>$}\newline -{\ttfamily \#include $<$iostream$>$}\newline -{\ttfamily \#include $<$thread$>$}\newline -Include dependency graph for grpc\+\_\+server.\+cc\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{grpc__server_8cc__incl} -\end{center} -\end{figure} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classTradingServiceImpl}{Trading\+Service\+Impl}} -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -void \mbox{\hyperlink{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f}{Run\+Server}} () -\end{DoxyCompactItemize} - - -\doxysubsection{Function Documentation} -\Hypertarget{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f}\index{grpc\_server.cc@{grpc\_server.cc}!RunServer@{RunServer}} -\index{RunServer@{RunServer}!grpc\_server.cc@{grpc\_server.cc}} -\doxysubsubsection{\texorpdfstring{RunServer()}{RunServer()}} -{\footnotesize\ttfamily \label{grpc__server_8cc_afec70f4aa13559a9e64d869bb52e2b2f} -void Run\+Server (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})} - diff --git a/latex/grpc__server_8cc__incl.md5 b/latex/grpc__server_8cc__incl.md5 deleted file mode 100644 index bc2bf01..0000000 --- a/latex/grpc__server_8cc__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12581eb6bbbb0e880f9ee71bf2013e1b \ No newline at end of file diff --git a/latex/grpc__server_8cc__incl.pdf b/latex/grpc__server_8cc__incl.pdf deleted file mode 100644 index d48b724806fc6b19f56255967a68ccd3887e375d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7352 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\pageref{classutils_1_1ThreadSafeQueue}}{} -\item \contentsline{section}{utils\+::Thread\+Safe\+Queue\texorpdfstring{$<$}{<} trading\+::Order \texorpdfstring{$>$}{>}}{\pageref{classutils_1_1ThreadSafeQueue}}{} -\item \contentsline{section}{Trader\+Client}{\pageref{classTraderClient}}{} -\end{DoxyCompactList} diff --git a/latex/longtable_doxygen.sty b/latex/longtable_doxygen.sty deleted file mode 100644 index 39a44b8..0000000 --- a/latex/longtable_doxygen.sty +++ /dev/null @@ -1,459 +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 - \global\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 - \ifvoid\LT@foot\else - \global\advance\vsize\ht\LT@foot - \global\advance\@colroom\ht\LT@foot - \dimen@\pagegoal\advance\dimen@\ht\LT@foot\pagegoal\dimen@ - \fi - \endgroup - \global\@mparbottom\z@ - \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@foot - \advance\dimen@-\ht\LT@lastfoot - \ifdim\dimen@<\ht\z@ - \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% - \@makecol - \@outputpage - \global\vsize\@colroom - \setbox\z@\vbox{\box\LT@head}% - \fi - \fi - \unvbox\z@\ifvoid\LT@lastfoot\copy\LT@foot\else\box\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/latex/namespacereaders.tex b/latex/namespacereaders.tex deleted file mode 100644 index bd0376c..0000000 --- a/latex/namespacereaders.tex +++ /dev/null @@ -1,7 +0,0 @@ -\doxysection{readers Namespace Reference} -\hypertarget{namespacereaders}{}\label{namespacereaders}\index{readers@{readers}} -\doxysubsubsection*{Namespaces} -\begin{DoxyCompactItemize} -\item -namespace \mbox{\hyperlink{namespacereaders_1_1json}{json}} -\end{DoxyCompactItemize} diff --git a/latex/namespacereaders_1_1json.tex b/latex/namespacereaders_1_1json.tex deleted file mode 100644 index 43e096f..0000000 --- a/latex/namespacereaders_1_1json.tex +++ /dev/null @@ -1,50 +0,0 @@ -\doxysection{readers\+::json Namespace Reference} -\hypertarget{namespacereaders_1_1json}{}\label{namespacereaders_1_1json}\index{readers::json@{readers::json}} -\doxysubsubsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{JSON}} = nlohmann\+::json -\item -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$ -\end{DoxyCompactItemize} -\doxysubsubsection*{Functions} -\begin{DoxyCompactItemize} -\item -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} \mbox{\hyperlink{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}{read\+\_\+orders\+\_\+from\+\_\+json}} (const std\+::string \&filename) -\end{DoxyCompactItemize} - - -\doxysubsection{Typedef Documentation} -\Hypertarget{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}\index{readers::json@{readers::json}!JSON@{JSON}} -\index{JSON@{JSON}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{JSON}{JSON}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42} -using \mbox{\hyperlink{namespacereaders_1_1json_a5f54a39f5770ab1576f53a06a159cb42}{readers\+::json\+::\+JSON}} = nlohmann\+::json} - -\Hypertarget{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}\index{readers::json@{readers::json}!OrderQueue@{OrderQueue}} -\index{OrderQueue@{OrderQueue}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{OrderQueue}{OrderQueue}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1} -using \mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{readers\+::json\+::\+Order\+Queue}} = std\+::queue$<$trading\+::\+Order$>$} - - - -\doxysubsection{Function Documentation} -\Hypertarget{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209}\index{readers::json@{readers::json}!read\_orders\_from\_json@{read\_orders\_from\_json}} -\index{read\_orders\_from\_json@{read\_orders\_from\_json}!readers::json@{readers::json}} -\doxysubsubsection{\texorpdfstring{read\_orders\_from\_json()}{read\_orders\_from\_json()}} -{\footnotesize\ttfamily \label{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209} -\mbox{\hyperlink{namespacereaders_1_1json_aa2743dc5b5ec05c84803e442f21f43d1}{Order\+Queue}} readers\+::json\+::read\+\_\+orders\+\_\+from\+\_\+json (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{filename}{}\end{DoxyParamCaption})} - - - -Referenced by \mbox{\hyperlink{classAlgo_ac223b246cd2f8851c4e0893ff41547fa}{Algo\+::generate\+\_\+orders()}}, and \mbox{\hyperlink{classAlgo_a8fcaaeaa5ad212a126490a19370c9b7e}{Algo\+::process()}}. - -Here is the caller graph for this function\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=346pt]{namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph} -\end{center} -\end{figure} diff --git a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 b/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 deleted file mode 100644 index 33470c2..0000000 --- a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.md5 +++ /dev/null @@ -1 +0,0 @@ -15946508db4aab6a52e29fbc1fe43a8a \ No newline at end of file diff --git a/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf b/latex/namespacereaders_1_1json_a05735378dfc87c287094d7aa33ac8209_icgraph.pdf deleted file mode 100644 index 82d1952be07f4d364292dccdf169e5e262236d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7510 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 diff --git a/latex/namespaces.tex b/latex/namespaces.tex deleted file mode 100644 index 3612d59..0000000 --- a/latex/namespaces.tex +++ /dev/null @@ -1,6 +0,0 @@ -\doxysection{Namespace List} -Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\mbox{\hyperlink{namespacereaders}{readers}} }{\pageref{namespacereaders}}{} -\item\contentsline{section}{\mbox{\hyperlink{namespacereaders_1_1json}{readers\+::json}} }{\pageref{namespacereaders_1_1json}}{} -\item\contentsline{section}{\mbox{\hyperlink{namespaceutils}{utils}} }{\pageref{namespaceutils}}{} -\end{DoxyCompactList} diff --git a/latex/namespaceutils.tex b/latex/namespaceutils.tex deleted file mode 100644 index c507f2f..0000000 --- a/latex/namespaceutils.tex +++ /dev/null @@ -1,9 +0,0 @@ -\doxysection{utils Namespace Reference} -\hypertarget{namespaceutils}{}\label{namespaceutils}\index{utils@{utils}} -\doxysubsubsection*{Classes} -\begin{DoxyCompactItemize} -\item -class \mbox{\hyperlink{classutils_1_1ThreadPool}{Thread\+Pool}} -\item -class \mbox{\hyperlink{classutils_1_1ThreadSafeQueue}{Thread\+Safe\+Queue}} -\end{DoxyCompactItemize} diff --git a/latex/refman.tex b/latex/refman.tex deleted file mode 100644 index b0ec62b..0000000 --- a/latex/refman.tex +++ /dev/null @@ -1,285 +0,0 @@ - % Handle batch mode - % to overcome problems with too many open files - \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage} - \RequirePackage{iftex} - \ifLuaTeX - \directlua{pdf.setminorversion(7)} - \fi - \ifXeTeX - \special{pdf:minorversion 7} - \fi - \ifPDFTeX - \pdfminorversion=7 - \fi - % 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 - \ifPDFTeX - \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{} - \fi - \usepackage{doxygen} - \usepackage{graphicx} - \iftutex - \usepackage{fontspec} - \defaultfontfeatures{Ligatures={TeX}} - \usepackage{unicode-math} - \else - \usepackage[utf8]{inputenc} - \fi - \usepackage{makeidx} - \PassOptionsToPackage{warn}{textcomp} - \usepackage{textcomp} - \usepackage[nointegrals]{wasysym} - \usepackage{ifxetex} - % NLS support packages - % Define default fonts - % Font selection - \iftutex - \else - \usepackage[T1]{fontenc} - \fi - % 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[numbers]{natbib} - \usepackage[titles]{tocloft} - \setcounter{tocdepth}{3} - \setcounter{secnumdepth}{5} - % creating indexes - \makeindex - \ifPDFTeX -\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 -\fi - % Hyperlinks - % Hyperlinks (required, but should be loaded last) - \ifPDFTeX - \usepackage[pdftex,pagebackref=true]{hyperref} - \else - \ifXeTeX - \usepackage[xetex,pagebackref=true]{hyperref} - \else - \ifLuaTeX - \usepackage[luatex,pagebackref=true]{hyperref} - \else - \usepackage[ps2pdf,pagebackref=true]{hyperref} - \fi - \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.13.0}\\ - \end{center} - \end{titlepage} - \clearemptydoublepage - \pagenumbering{roman} - \tableofcontents - \clearemptydoublepage - \pagenumbering{arabic} - % re-enable anchors again - \hypersetup{pageanchor=true} -%--- Begin generated contents --- -\chapter{Namespace Index} -\input{namespaces} -\chapter{Hierarchical Index} -\input{hierarchy} -\chapter{Class Index} -\input{annotated} -\chapter{File Index} -\input{files} -\chapter{Namespace Documentation} -\input{namespacereaders} -\input{namespacereaders_1_1json} -\input{namespaceutils} -\chapter{Class Documentation} -\input{classAlgo} -\input{classController} -\input{classPublisher} -\input{classutils_1_1ThreadPool} -\input{classutils_1_1ThreadSafeQueue} -\input{classTraderClient} -\input{classTradingServiceImpl} -\chapter{File Documentation} -\input{Algo_8hh} -\input{Algo_8hh_source} -\input{Controller_8hh} -\input{Controller_8hh_source} -\input{Publisher_8hh} -\input{Publisher_8hh_source} -\input{JSONReader_8hh} -\input{JSONReader_8hh_source} -\input{ThreadPool_8hh} -\input{ThreadPool_8hh_source} -\input{ThreadSafeQueue_8hh} -\input{ThreadSafeQueue_8hh_source} -\input{Algo_8cc} -\input{Controller_8cc} -\input{grpc__client_8cc} -\input{grpc__server_8cc} -\input{Publisher_8cc} -\input{JSONReader_8cc} -\input{ThreadPool_8cc} -\input{ThreadSafeQueue_8cc} -%--- 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/latex/tabu_doxygen.sty b/latex/tabu_doxygen.sty deleted file mode 100644 index 3f17d1d..0000000 --- a/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/test b/test deleted file mode 100755 index 8750487308a905301c14b9e889bbf430dbe58bc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44440 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 bp_12j2!BKFl>Xs+CDz+@K~