\doxysection{src/include/serif/utils/dependencies/computation\+\_\+cache.hpp File Reference} \hypertarget{computation__cache_8hpp}{}\label{computation__cache_8hpp}\index{src/include/serif/utils/dependencies/computation\_cache.hpp@{src/include/serif/utils/dependencies/computation\_cache.hpp}} {\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include $<$cstddef$>$}\newline {\ttfamily \#include $<$cstdint$>$}\newline {\ttfamily \#include $<$expected$>$}\newline {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$stdexcept$>$}\newline {\ttfamily \#include $<$string$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/utils/dependencies/preparation.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/observers.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/detail/cache\+\_\+storage.\+hpp"{}}\newline Include dependency graph for computation\+\_\+cache.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{computation__cache_8hpp__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]{computation__cache_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_computation_cache}{serif\+::utils\+::dependencies\+::\+Computation\+Cache$<$ Graph\+T, Context\+T, Error\+T, Observers\+T $>$}} \begin{DoxyCompactList}\small\item\em Execute a computational graph on demand, publishing immutable results only after the entire request succeeds. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils}{serif\+::utils}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies}{serif\+::utils\+::dependencies}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename ErrorT = std\+::string, Is\+Computation\+Graph GraphT, Is\+Dependency\+Context ContextT, typename ObserversT = Observers$<$$>$$>$ \newline requires Can\+Prepare$<$GraphT, ContextT, ErrorT$>$ \&\& Observers\+For$<$ObserversT, GraphT, ContextT$>$ \&\& std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$GraphT$>$, GraphT$>$ \&\& std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$ObserversT$>$, ObserversT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ad583eaa88367daf4af4d420047f24d38}{serif\+::utils\+::dependencies\+::make\+\_\+computation\+\_\+cache}} (GraphT \&\&graph, const ContextT \&, ObserversT \&\&observers=ObserversT\{\}) \begin{DoxyCompactList}\small\item\em Fix the graph\textquotesingle{}s source types without retaining the supplied context or evaluating any computations. \end{DoxyCompactList}\item {\footnotesize template$<$typename ErrorT = std\+::string, Is\+Dependency\+Context ContextT, typename... Computations$>$ \newline requires Compatible\+Computations$<$Computations...$>$ \&\& (std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$Computations$>$, Computations$>$ \&\& ...) \&\& Can\+Prepare$<$\mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_computation_graph}{Computation\+Graph}}$<$std\+::remove\+\_\+cvref\+\_\+t$<$Computations$>$...$>$, ContextT, ErrorT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a37ad94611656a36bf3584940465302ec}{serif\+::utils\+::dependencies\+::make\+\_\+computation\+\_\+cache}} (const ContextT \&context, Computations \&\&... computations) \begin{DoxyCompactList}\small\item\em Build a checked graph and an empty cache directly from named computations. \end{DoxyCompactList}\end{DoxyCompactItemize}