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)
51 lines
4.0 KiB
TeX
51 lines
4.0 KiB
TeX
\doxysection{src/lib/serif/utils/serialize/format.hpp File Reference}
|
|
\hypertarget{format_8hpp}{}\label{format_8hpp}\index{src/lib/serif/utils/serialize/format.hpp@{src/lib/serif/utils/serialize/format.hpp}}
|
|
{\ttfamily \#include $<$string$>$}\newline
|
|
{\ttfamily \#include $<$string\+\_\+view$>$}\newline
|
|
{\ttfamily \#include "{}serif/utils/serialize/archive.\+hpp"{}}\newline
|
|
Include dependency graph for format.\+hpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{format_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]{format_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\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}}
|
|
\item
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail}{serif\+::utils\+::serialize\+::detail}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
std\+::uint64\+\_\+t \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_a6b8ecbf6a1b1680d881241875b43488e}{serif\+::utils\+::serialize\+::detail\+::value\+\_\+count}} (const \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a76d9829ffc510737a78d63b06f115861}{Value}} \&value)
|
|
\begin{DoxyCompactList}\small\item\em Scalar types have one value; numerical arrays and strings carry their explicit extent. \end{DoxyCompactList}\item
|
|
std\+::string \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_af621eb0ecffdecef1a018de7d74b3ce7}{serif\+::utils\+::serialize\+::detail\+::encode\+\_\+value}} (const \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a76d9829ffc510737a78d63b06f115861}{Value}} \&value, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af59ceea5df9600e1e8c0e762e6b08c99}{Format}} format)
|
|
\begin{DoxyCompactList}\small\item\em Encode one indexed payload without relying on native object layout or byte order. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a76d9829ffc510737a78d63b06f115861}{Value}} $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_a0febbf9af0cb2b22a8fc8de9453ca775}{serif\+::utils\+::serialize\+::detail\+::decode\+\_\+value}} (std\+::string\+\_\+view bytes, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_entry}{Entry}} \&entry, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af59ceea5df9600e1e8c0e762e6b08c99}{Format}} format)
|
|
\begin{DoxyCompactList}\small\item\em Validate the extent and representation of an independently read payload. \end{DoxyCompactList}\item
|
|
\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_ab4c8f364c6577276bf8415c43143cf12}{serif\+::utils\+::serialize\+::detail\+::provenance}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_write_options}{Write\+Options}} \&options)
|
|
\begin{DoxyCompactList}\small\item\em Capture provenance once at the beginning of a write. \end{DoxyCompactList}\item
|
|
bool \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_a381f0c148d12660ac214e622efde1294}{serif\+::utils\+::serialize\+::detail\+::valid\+\_\+path}} (std\+::string\+\_\+view path)
|
|
\begin{DoxyCompactList}\small\item\em Restrict field names so path separators and line breaks cannot corrupt the ledger. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Variables}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
constexpr std\+::uint64\+\_\+t \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_ab98c924c60beab7bf12966380d054d91}{serif\+::utils\+::serialize\+::detail\+::header\+\_\+bytes}} = 512
|
|
\end{DoxyCompactItemize}
|