\doxysection{src/include/serif/utils/dependencies/incremental\+\_\+computation.hpp File Reference} \hypertarget{incremental__computation_8hpp}{}\label{incremental__computation_8hpp}\index{src/include/serif/utils/dependencies/incremental\_computation.hpp@{src/include/serif/utils/dependencies/incremental\_computation.hpp}} {\ttfamily \#include $<$array$>$}\newline {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/utils/dependencies/computation.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/detail/result.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/detail/type\+\_\+lists.\+hpp"{}}\newline Include dependency graph for incremental\+\_\+computation.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{incremental__computation_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]{incremental__computation_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_computation_update}{serif\+::utils\+::dependencies\+::\+Computation\+Update$<$ Inputs\+T, Value\+T $>$}} \item class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_incremental_computation}{serif\+::utils\+::dependencies\+::\+Incremental\+Computation$<$ Key\+T, Value\+T, Inputs\+T, Function\+T $>$}} \begin{DoxyCompactList}\small\item\em A calculation may reuse unchanged pieces of its previous immutable result. \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 KeyT, typename ValueT, Is\+Key\+List InputsT, typename FunctionT$>$ \newline requires std\+::is\+\_\+object\+\_\+v$<$ValueT$>$ \&\& std\+::move\+\_\+constructible$<$ValueT$>$ \&\& std\+::constructible\+\_\+from$<$std\+::decay\+\_\+t$<$FunctionT$>$, FunctionT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_af8de2fe1299719511c2c57b3e17803eb}{serif\+::utils\+::dependencies\+::make\+\_\+incremental\+\_\+computation}} (FunctionT \&\&function) \begin{DoxyCompactList}\small\item\em Declare the result type explicitly so an incremental callable can inspect its previous value. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename KeyT, typename ValueT, typename InputsT, typename FunctionT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a3ee81f31b371e73856bea51923fb5d4e}{serif\+::utils\+::dependencies\+::is\+\_\+computation\+\_\+v$<$ Incremental\+Computation$<$ Key\+T, Value\+T, Inputs\+T, Function\+T $>$ $>$}} = true \end{DoxyCompactItemize}