65 lines
4.1 KiB
TeX
65 lines
4.1 KiB
TeX
|
|
\doxysection{src/include/serif/utils/dependencies/computation\+\_\+graph.hpp File Reference}
|
||
|
|
\hypertarget{computation__graph_8hpp}{}\label{computation__graph_8hpp}\index{src/include/serif/utils/dependencies/computation\_graph.hpp@{src/include/serif/utils/dependencies/computation\_graph.hpp}}
|
||
|
|
{\ttfamily \#include $<$concepts$>$}\newline
|
||
|
|
{\ttfamily \#include $<$cstddef$>$}\newline
|
||
|
|
{\ttfamily \#include $<$tuple$>$}\newline
|
||
|
|
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
|
||
|
|
{\ttfamily \#include $<$utility$>$}\newline
|
||
|
|
{\ttfamily \#include "{}serif/utils/dependencies/computation.\+hpp"{}}\newline
|
||
|
|
{\ttfamily \#include "{}serif/utils/dependencies/key\+\_\+list\+\_\+operations.\+hpp"{}}\newline
|
||
|
|
{\ttfamily \#include "{}serif/utils/dependencies/detail/graph.\+hpp"{}}\newline
|
||
|
|
Include dependency graph for computation\+\_\+graph.\+hpp\+:
|
||
|
|
\nopagebreak
|
||
|
|
\begin{figure}[H]
|
||
|
|
\begin{center}
|
||
|
|
\leavevmode
|
||
|
|
\includegraphics[width=350pt]{computation__graph_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__graph_8hpp__dep__incl}
|
||
|
|
\end{center}
|
||
|
|
\end{figure}
|
||
|
|
\doxysubsubsection*{Classes}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
class \mbox{\hyperlink{classserif_1_1utils_1_1dependencies_1_1_computation_graph}{serif\+::utils\+::dependencies\+::\+Computation\+Graph$<$ Computations $>$}}
|
||
|
|
\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}}
|
||
|
|
\item
|
||
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_1_1detail}{serif\+::utils\+::dependencies\+::detail}}
|
||
|
|
\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Concepts}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_compatible_computations}{serif\+::utils\+::dependencies\+::\+Compatible\+Computations}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em A computational graph needs unique producers, valid input ownership, and no cycles. \end{DoxyCompactList}\item
|
||
|
|
concept \mbox{\hyperlink{conceptserif_1_1utils_1_1dependencies_1_1_is_computation_graph}{serif\+::utils\+::dependencies\+::\+Is\+Computation\+Graph}}
|
||
|
|
\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Functions}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$typename... Computations$>$ \newline
|
||
|
|
requires Compatible\+Computations$<$Computations...$>$ \&\& (std\+::constructible\+\_\+from$<$std\+::remove\+\_\+cvref\+\_\+t$<$Computations$>$, Computations$>$ \&\& ...)}\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_aaa065b5bd3823bd3835f159462af09d0}{serif\+::utils\+::dependencies\+::make\+\_\+computation\+\_\+graph}} (Computations \&\&... computations)
|
||
|
|
\begin{DoxyCompactList}\small\item\em Reject duplicate producers and cyclic computational graphs at the declaration site. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Variables}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$typename ComputationT, typename Result\+KeysT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_1_1detail_a262bca57d5e15e662d4c92abfaac3ed8}{serif\+::utils\+::dependencies\+::detail\+::valid\+\_\+input\+\_\+ownership\+\_\+v}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em Owning nodes can retain computed inputs; context resources remain borrowed. \end{DoxyCompactList}\item
|
||
|
|
{\footnotesize template$<$typename T$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a785d1764613ef1db8cfbb8d3d8d401e5}{serif\+::utils\+::dependencies\+::is\+\_\+computation\+\_\+graph\+\_\+v}} = false
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$typename... Computations$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a5bede32254345d0f43a09fc929dd07a9}{serif\+::utils\+::dependencies\+::is\+\_\+computation\+\_\+graph\+\_\+v$<$ Computation\+Graph$<$ Computations... $>$ $>$}} = true
|
||
|
|
\end{DoxyCompactItemize}
|