Pixie
Loading...
Searching...
No Matches
serialization.h File Reference

Checked byte-oriented binary serialization primitives. More...

#include <algorithm>
#include <array>
#include <bit>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <memory>
#include <span>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  pixie::SerializationError
 Error raised while decoding malformed serialized data. More...
 
class  pixie::VectorOutputSink
 Explicit owning sink for binary data collected in memory. More...
 
class  pixie::SpanOutputSink
 Non-owning fixed-capacity output sink. More...
 
class  pixie::BinaryWriter
 Bounded-buffer writer for canonical little-endian binary data. More...
 
class  pixie::BinaryReader
 Bounds-checked reader for canonical little-endian binary data. More...
 
class  pixie::SerializationBase< Derived >
 CRTP facade for optional binary serialization and deserialization. More...
 

Concepts

concept  pixie::SeekableBinaryOutputSink
 Contract for an append-only output that supports checked overwrites.
 
concept  pixie::Serializable
 Type exposing the common binary serialization operation.
 
concept  pixie::Deserializable
 Type restorable exactly from a reader and the listed context types.
 

Enumerations

enum class  pixie::DeserializationValidation : std::uint8_t { kQuick , kFull }
 Validation strength used while restoring serialized indexes. More...
 

Detailed Description

Checked byte-oriented binary serialization primitives.

Enumeration Type Documentation

◆ DeserializationValidation

enum class pixie::DeserializationValidation : std::uint8_t
strong

Validation strength used while restoring serialized indexes.

Enumerator
kQuick 

Check framing, dimensions, references, and other conditions needed for memory-safe terminating queries without scanning large sources.

kFull 

Additionally authenticate all source-derived metadata against the supplied source contents.