Files
MeanField_SERiF/docs/latex/record_8hpp.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

101 lines
9.1 KiB
TeX

\doxysection{src/include/serif/utils/serialize/record.hpp File Reference}
\hypertarget{record_8hpp}{}\label{record_8hpp}\index{src/include/serif/utils/serialize/record.hpp@{src/include/serif/utils/serialize/record.hpp}}
{\ttfamily \#include $<$algorithm$>$}\newline
{\ttfamily \#include $<$array$>$}\newline
{\ttfamily \#include $<$bit$>$}\newline
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$cstdint$>$}\newline
{\ttfamily \#include $<$exception$>$}\newline
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include $<$functional$>$}\newline
{\ttfamily \#include $<$limits$>$}\newline
{\ttfamily \#include $<$map$>$}\newline
{\ttfamily \#include $<$optional$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
{\ttfamily \#include $<$tuple$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$variant$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
Include dependency graph for record.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{record_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]{record_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_error}{serif\+::utils\+::serialize\+::\+Error}}
\begin{DoxyCompactList}\small\item\em Identify the component or field that could not be saved or reconstructed. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{serif\+::utils\+::serialize\+::\+Node}}
\begin{DoxyCompactList}\small\item\em A named component owns its fields, stable schema identifier, and schema version. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_field}{serif\+::utils\+::serialize\+::\+Field}}
\begin{DoxyCompactList}\small\item\em Associate a field name with an already encoded child. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_member}{serif\+::utils\+::serialize\+::\+Member$<$ T $>$}}
\begin{DoxyCompactList}\small\item\em Name a typed field expected by a component\textquotesingle{}s loader. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01_node_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ Node $>$}}
\begin{DoxyCompactList}\small\item\em Preserve a raw component when inspection, rather than typed reconstruction, is wanted. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01_t_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ T $>$}}
\begin{DoxyCompactList}\small\item\em Store numeric values using explicit portable widths. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1string_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::string $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1string__view_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::string\+\_\+view $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01char_0f_size_0e_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ char\mbox{[}\+Size\mbox{]}$>$}}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1vector_3_01_t_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::vector$<$ T $>$ $>$}}
\begin{DoxyCompactList}\small\item\em Arrays of coefficients are contiguous payloads, while compound values retain named children. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1array_3_01_t_00_01_size_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::array$<$ T, Size $>$ $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1optional_3_01_t_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::optional$<$ T $>$ $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01std_1_1tuple_3_01_t_8_8_8_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ std\+::tuple$<$ T... $>$ $>$}}
\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_1serialize}{serif\+::utils\+::serialize}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename T$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{serif\+::utils\+::serialize\+::\+Result}} = std\+::expected$<$T, \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_error}{Error}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a76d9829ffc510737a78d63b06f115861}{serif\+::utils\+::serialize\+::\+Value}}
\begin{DoxyCompactList}\small\item\em Portable scientific data; runtime pointers and computational caches have no representation here. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a4ea480fabb9d06528d01b26691fa80ec}{serif\+::utils\+::serialize\+::encode}} (const T \&value)
\begin{DoxyCompactList}\small\item\em Produce data when a serializer exists, otherwise record the missing capability explicitly. \end{DoxyCompactList}\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ T $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_abb3b906587e8c2950b461d615bba7606}{serif\+::utils\+::serialize\+::decode}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&node)
\begin{DoxyCompactList}\small\item\em Translate invalid saved parameters into a value error at the reconstruction boundary. \end{DoxyCompactList}\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_field}{Field}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a73c789fd95f83d2f547facf07bc3ea79}{serif\+::utils\+::serialize\+::field}} (std\+::string name, const T \&value)
\begin{DoxyCompactList}\small\item\em Encode one named field of a component. \end{DoxyCompactList}\item
{\footnotesize template$<$typename... Fields$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_accd9d8a1543b90311f64896a155c6e1c}{serif\+::utils\+::serialize\+::object}} (std\+::string\+\_\+view type, Fields... fields)
\begin{DoxyCompactList}\small\item\em Compose a component from its independently serialized fields. \end{DoxyCompactList}\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_member}{Member}}$<$ T $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a019c595419bddb41b7a05042e2f6d611}{serif\+::utils\+::serialize\+::member}} (std\+::string\+\_\+view name)
\begin{DoxyCompactList}\small\item\em Describe one field to read\+\_\+object without a separate temporary variable. \end{DoxyCompactList}\item
{\footnotesize template$<$typename T$>$ }\\\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ T $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a21172de2e2f37c8797a238eb0bdaea30}{serif\+::utils\+::serialize\+::read\+\_\+field}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&node, std\+::string\+\_\+view name)
\begin{DoxyCompactList}\small\item\em Read a required field and retain its full path in any diagnostic. \end{DoxyCompactList}\item
{\footnotesize template$<$typename Construct, typename... Members$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_adb5114bee6aa1ea6612b96babf0ae8c2}{serif\+::utils\+::serialize\+::read\+\_\+object}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&node, std\+::string\+\_\+view type, Construct construct, Members... members) -\/$>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ std\+::invoke\+\_\+result\+\_\+t$<$ Construct, typename Members\+::\+Type... $>$ $>$
\begin{DoxyCompactList}\small\item\em Construct a component only after every required field has decoded successfully. \end{DoxyCompactList}\item
std\+::string \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ad1fa896c36b9c32ff4b8bdb8660cba33}{serif\+::utils\+::serialize\+::fingerprint}} (std\+::string\+\_\+view bytes)
\begin{DoxyCompactList}\small\item\em Versioned content identity for accidental corruption and resource matching; not a cryptographic signature. \end{DoxyCompactList}\end{DoxyCompactItemize}