\doxysection{src/include/serif/utils/dependencies/computation.hpp File Reference} \hypertarget{computation_8hpp}{}\label{computation_8hpp}\index{src/include/serif/utils/dependencies/computation.hpp@{src/include/serif/utils/dependencies/computation.hpp}} {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/utils/dependencies/key\+\_\+list.\+hpp"{}}\newline Include dependency graph for computation.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{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]{computation_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_computation}{serif\+::utils\+::dependencies\+::\+Computation$<$ Key\+T, Inputs\+T, Function\+T, Owns\+Inputs $>$}} \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*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_computation}{serif\+::utils\+::dependencies\+::\+Is\+Computation}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename KeyT, Is\+Key\+List InputsT, typename FunctionT$>$ \newline requires std\+::constructible\+\_\+from$<$std\+::decay\+\_\+t$<$FunctionT$>$, FunctionT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a70e11340fa044443fefa79ba7e0c11d5}{serif\+::utils\+::dependencies\+::make\+\_\+computation}} (FunctionT \&\&function) \begin{DoxyCompactList}\small\item\em Attach an output key and ordered input keys to a lambda, function, or other callable. \end{DoxyCompactList}\item {\footnotesize template$<$typename KeyT, Is\+Key\+List InputsT, typename FunctionT$>$ \newline requires std\+::constructible\+\_\+from$<$std\+::decay\+\_\+t$<$FunctionT$>$, FunctionT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ad18195932b89cba96fd203584bfac47a}{serif\+::utils\+::dependencies\+::make\+\_\+owning\+\_\+computation}} (FunctionT \&\&function) \begin{DoxyCompactList}\small\item\em Supply immutable shared handles to computed prerequisites so results can retain them without copying. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename T$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a6da3a3b9a8f33ce1fbf5bcc8ed74f133}{serif\+::utils\+::dependencies\+::is\+\_\+computation\+\_\+v}} = false \item {\footnotesize template$<$typename KeyT, typename InputsT, typename FunctionT, bool Owns\+Inputs$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ac2f7973ec74922857a6f764d1faaae2f}{serif\+::utils\+::dependencies\+::is\+\_\+computation\+\_\+v$<$ Computation$<$ Key\+T, Inputs\+T, Function\+T, Owns\+Inputs $>$ $>$}} = true \end{DoxyCompactItemize}