\doxysection{src/include/serif/operators/contributions.hpp File Reference} \hypertarget{operators_2contributions_8hpp}{}\label{operators_2contributions_8hpp}\index{src/include/serif/operators/contributions.hpp@{src/include/serif/operators/contributions.hpp}} {\ttfamily \#include $<$cstddef$>$}\newline {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include "{}serif/equations/concepts.\+hpp"{}}\newline Include dependency graph for contributions.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{operators_2contributions_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[height=550pt]{operators_2contributions_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1operators_1_1_contribution_binding}{serif\+::operators\+::\+Contribution\+Binding$<$ Equation\+T $>$}} \begin{DoxyCompactList}\small\item\em Retain one leaf equation and the constant coefficient of its arithmetic expression. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1operators_1_1detail_1_1_contribution_children}{serif\+::operators\+::detail\+::\+Contribution\+Children$<$ Equation\+T $>$}} \end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1operators}{serif\+::operators}} \item namespace \mbox{\hyperlink{namespaceserif_1_1operators_1_1detail}{serif\+::operators\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename EquationT$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1operators_1_1detail_ac8fb0d1f638701b243724fd18d084d84}{serif\+::operators\+::detail\+::bind\+\_\+contributions}} (std\+::shared\+\_\+ptr$<$ const EquationT $>$ equation, double coefficient) \begin{DoxyCompactList}\small\item\em Flatten equation arithmetic while preserving every generated tuple and borrowed parent. \end{DoxyCompactList}\item {\footnotesize template$<$typename EquationT, typename FunctionT$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_1_1detail_a5628ff21c25ad64ca69255e8eace4afc}{serif\+::operators\+::detail\+::visit\+\_\+contributions}} (const EquationT \&equation, FunctionT \&function, std\+::size\+\_\+t \&index, double coefficient) \begin{DoxyCompactList}\small\item\em Visit arithmetic leaves without retaining them beyond the supplied callback. \end{DoxyCompactList}\item {\footnotesize template$<$equations\+::\+Equation EquationT$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1operators_aedf63524bbbd357b307f77282c9bdb99}{serif\+::operators\+::bind\+\_\+contributions}} (std\+::shared\+\_\+ptr$<$ const EquationT $>$ equation) \begin{DoxyCompactList}\small\item\em Give each retained leaf a compile-\/time tuple position for independently cached contribution results. \end{DoxyCompactList}\item {\footnotesize template$<$equations\+::\+Equation EquationT, typename FunctionT$>$ }\\void \mbox{\hyperlink{namespaceserif_1_1operators_a6fc6c3a2aa8dea2f9aa7758024e43a93}{serif\+::operators\+::for\+\_\+each\+\_\+contribution}} (const EquationT \&equation, FunctionT \&\&function) \end{DoxyCompactItemize}