\doxysection{src/include/serif/utils/dependencies/computation\+\_\+store.hpp File Reference} \hypertarget{computation__store_8hpp}{}\label{computation__store_8hpp}\index{src/include/serif/utils/dependencies/computation\_store.hpp@{src/include/serif/utils/dependencies/computation\_store.hpp}} {\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline {\ttfamily \#include $<$concepts$>$}\newline {\ttfamily \#include $<$cstddef$>$}\newline {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$stdexcept$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/utils/dependencies/binding.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/detail/type\+\_\+lists.\+hpp"{}}\newline Include dependency graph for computation\+\_\+store.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{computation__store_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__store_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_owned_computation}{serif\+::utils\+::dependencies\+::\+Owned\+Computation$<$ Key\+T, Computation\+T $>$}} \item class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_computation_store}{serif\+::utils\+::dependencies\+::\+Computation\+Store$<$ Entry\+Ts $>$}} \begin{DoxyCompactList}\small\item\em Own independent computation caches under compile-\/time role keys; this store does not connect their graphs. \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*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_owned_computation}{serif\+::utils\+::dependencies\+::\+Is\+Owned\+Computation}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename KeyT, typename ComputationT$>$ \newline requires std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$ComputationT$>$, ComputationT$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a9953af0c6730c396c24396ff9bbeae9b}{serif\+::utils\+::dependencies\+::own\+\_\+computation}} (ComputationT \&\&computation) \begin{DoxyCompactList}\small\item\em Name an owned computation; rvalues transfer ownership and copyable lvalues are copied. \end{DoxyCompactList}\item {\footnotesize template$<$typename... Entry\+Ts$>$ \newline requires (Is\+Owned\+Computation$<$Entry\+Ts$>$ \&\& ...) \&\& \mbox{\hyperlink{namespaceserif_1_1utils_1_1misc_1_1traits_a8cb5b9ce5869ecf88101859ace70f92a}{misc\+::traits\+::all\+\_\+unique\+\_\+types\+\_\+v}}$<$typename std\+::remove\+\_\+cvref\+\_\+t$<$Entry\+Ts$>$\+::\+Key...$>$ \&\& (std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$Entry\+Ts$>$, Entry\+Ts$>$ \&\& ...)}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ab472ded5e82f9d20f5be1fb43f05f9e4}{serif\+::utils\+::dependencies\+::make\+\_\+computation\+\_\+store}} (Entry\+Ts \&\&... entries) \begin{DoxyCompactList}\small\item\em Construct the model\textquotesingle{}s computation owner, rejecting duplicate role keys before execution. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename T$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_ab4fb65de73bdb3af3b938d22fc585eb5}{serif\+::utils\+::dependencies\+::is\+\_\+owned\+\_\+computation\+\_\+v}} = false \item {\footnotesize template$<$typename KeyT, typename ComputationT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a9220a9cbcf3379762e75fbb37b25afd1}{serif\+::utils\+::dependencies\+::is\+\_\+owned\+\_\+computation\+\_\+v$<$ Owned\+Computation$<$ Key\+T, Computation\+T $>$ $>$}} = true \end{DoxyCompactItemize}