\doxysection{src/include/serif/model/eos\+\_\+reference.hpp File Reference} \hypertarget{eos__reference_8hpp}{}\label{eos__reference_8hpp}\index{src/include/serif/model/eos\_reference.hpp@{src/include/serif/model/eos\_reference.hpp}} {\ttfamily \#include $<$memory$>$}\newline {\ttfamily \#include $<$stdexcept$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/utils/error/errors.\+hpp"{}}\newline Include dependency graph for eos\+\_\+reference.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{eos__reference_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]{eos__reference_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1model_1_1_eos_reference}{serif\+::model\+::\+Eos\+Reference$<$ EOS $>$}} \begin{DoxyCompactList}\small\item\em Reuse one immutable EOS in equation objects, optionally retaining shared ownership. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model}{serif\+::model}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Model$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_a99f093b7cfc3526466056b87c8db0f33}{serif\+::model\+::share\+\_\+equation\+\_\+of\+\_\+state}} (std\+::shared\+\_\+ptr$<$ const Model $>$ model) \begin{DoxyCompactList}\small\item\em Share the EOS subobject while retaining the model that owns it. \end{DoxyCompactList}\item {\footnotesize template$<$typename EOS$>$ }\\\mbox{\hyperlink{classserif_1_1model_1_1_eos_reference}{Eos\+Reference}}$<$ EOS $>$ \mbox{\hyperlink{namespaceserif_1_1model_ae24dcbfc49419c2f0f500da702371bd5}{serif\+::model\+::borrow\+\_\+eos}} (const EOS \&eos) noexcept \begin{DoxyCompactList}\small\item\em Borrow the model-\/owned EOS when the prepared graph already retains its immutable model owner. \end{DoxyCompactList}\item {\footnotesize template$<$typename EOS$>$ \newline requires (!std\+::is\+\_\+lvalue\+\_\+reference\+\_\+v$<$EOS$>$)}\\void \mbox{\hyperlink{namespaceserif_1_1model_a6252df8508dcd9bed7e242edae8133d5}{serif\+::model\+::borrow\+\_\+eos}} (EOS \&\&)=delete \begin{DoxyCompactList}\small\item\em Borrowing never extends a temporary EOS lifetime. \end{DoxyCompactList}\end{DoxyCompactItemize}