|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
#include <algorithm>#include <array>#include <bit>#include <concepts>#include <cstdint>#include <exception>#include <expected>#include <functional>#include <limits>#include <map>#include <optional>#include <string>#include <string_view>#include <tuple>#include <type_traits>#include <utility>#include <variant>#include <vector>Namespaces | |
| namespace | serif |
| namespace | serif::utils |
| namespace | serif::utils::serialize |
Typedefs | |
| template<typename T> | |
| using | serif::utils::serialize::Result = std::expected<T, Error> |
| using | serif::utils::serialize::Value |
| Portable scientific data; runtime pointers and computational caches have no representation here. | |
Functions | |
| template<typename T> | |
| Node | serif::utils::serialize::encode (const T &value) |
| Produce data when a serializer exists, otherwise record the missing capability explicitly. | |
| template<typename T> | |
| Result< T > | serif::utils::serialize::decode (const Node &node) |
| Translate invalid saved parameters into a value error at the reconstruction boundary. | |
| template<typename T> | |
| Field | serif::utils::serialize::field (std::string name, const T &value) |
| Encode one named field of a component. | |
| template<typename... Fields> | |
| Node | serif::utils::serialize::object (std::string_view type, Fields... fields) |
| Compose a component from its independently serialized fields. | |
| template<typename T> | |
| Member< T > | serif::utils::serialize::member (std::string_view name) |
| Describe one field to read_object without a separate temporary variable. | |
| template<typename T> | |
| Result< T > | serif::utils::serialize::read_field (const Node &node, std::string_view name) |
| Read a required field and retain its full path in any diagnostic. | |
| template<typename Construct, typename... Members> | |
| auto | serif::utils::serialize::read_object (const Node &node, std::string_view type, Construct construct, Members... members) -> Result< std::invoke_result_t< Construct, typename Members::Type... > > |
| Construct a component only after every required field has decoded successfully. | |
| std::string | serif::utils::serialize::fingerprint (std::string_view bytes) |
| Versioned content identity for accidental corruption and resource matching; not a cryptographic signature. | |