\doxysection{src/include/serif/geometry/deformation/detail/action\+\_\+storage.hpp File Reference} \hypertarget{action__storage_8hpp}{}\label{action__storage_8hpp}\index{src/include/serif/geometry/deformation/detail/action\_storage.hpp@{src/include/serif/geometry/deformation/detail/action\_storage.hpp}} {\ttfamily \#include $<$algorithm$>$}\newline {\ttfamily \#include $<$cmath$>$}\newline {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$initializer\+\_\+list$>$}\newline {\ttfamily \#include $<$span$>$}\newline {\ttfamily \#include "{}serif/geometry/deformation/failure.\+hpp"{}}\newline Include dependency graph for action\+\_\+storage.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{action__storage_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]{action__storage_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1detail_1_1_action_input}{serif\+::geometry\+::deformation\+::detail\+::\+Action\+Input}} \begin{DoxyCompactList}\small\item\em Pair each action input with the dimension of its mathematical space. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry}{serif\+::geometry}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation}{serif\+::geometry\+::deformation}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1detail}{serif\+::geometry\+::deformation\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a371fc6cc353f2df9f7752d802c2155da}{serif\+::geometry\+::deformation\+::validate\+\_\+deformation\+\_\+values}} (std\+::span$<$ const double $>$ values, std\+::size\+\_\+t expected\+\_\+size) \begin{DoxyCompactList}\small\item\em Reject incompatible lengths and non-\/finite values before evaluating a deformation action. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1detail_a9bb57f09e703c8a56d6ce6bd658a752f}{serif\+::geometry\+::deformation\+::detail\+::validate\+\_\+disjoint\+\_\+output}} (std\+::span$<$ double $>$ output, std\+::initializer\+\_\+list$<$ std\+::span$<$ const double $>$ $>$ inputs) \begin{DoxyCompactList}\small\item\em Preserve every action input until the last use, including nonlinear transpose derivatives. The list contains only the fixed number of mathematical arguments to an action; checking address intervals requires no allocation and never scans numerical coefficients. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_a08306ee593c172f4877facc061e98f97}{Deformation\+Status}} \mbox{\hyperlink{namespaceserif_1_1geometry_1_1deformation_1_1detail_a39ae230635f7915d0cb1942b333aac6f}{serif\+::geometry\+::deformation\+::detail\+::validate\+\_\+action\+\_\+arguments}} (std\+::span$<$ double $>$ output, std\+::size\+\_\+t output\+\_\+size, std\+::initializer\+\_\+list$<$ \mbox{\hyperlink{structserif_1_1geometry_1_1deformation_1_1detail_1_1_action_input}{Action\+Input}} $>$ inputs) \begin{DoxyCompactList}\small\item\em Validate caller buffers uniformly, retaining disjoint inputs until an action has finished. \end{DoxyCompactList}\end{DoxyCompactItemize}