Unserialize overloads

Synopses

Declared in <serialize.h>

Unserialize a boolean from a single byte in a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    bool& a);

Unserialize a byte from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    std::byte& a);

Unserialize a signed 16‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    int16_t& a);

Unserialize a signed 32‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    int32_t& a);

Unserialize a signed 64‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    int64_t& a);

Unserialize a signed 8‐bit integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    int8_t& a);

Unserialize an unsigned 16‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    uint16_t& a);

Unserialize an unsigned 32‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    uint32_t& a);

Unserialize an unsigned 64‐bit little‐endian integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    uint64_t& a);

Unserialize an unsigned 8‐bit integer from a stream.

template<typename Stream>
void
Unserialize(
    Stream& s,
    uint8_t& a);

Unserialize a string written as a CompactSize length followed by its bytes.

template<
    typename Stream,
    typename C>
void
Unserialize(
    Stream& is,
    std::basic_string<C>& str);

Deleted: a string view cannot own storage to unserialize into.

template<
    typename Stream,
    typename C>
void
Unserialize(
    Stream& is,
    std::basic_string_view<C>& str) = delete;

Unserialize any object that provides an Unserialize member function.

template<
    typename Stream,
    typename T>
requires Unserializable<T, Stream>
void
Unserialize(
    Stream& is,
    T&& a);

Unserialize into a newly constructed object owned by a shared_ptr.

template<
    typename Stream,
    typename T>
void
Unserialize(
    Stream& os,
    std::shared_ptr<T const>& p);

Unserialize into a newly constructed object owned by a unique_ptr.

template<
    typename Stream,
    typename T>
void
Unserialize(
    Stream& os,
    std::unique_ptr<T const>& p);

Deleted overload that forbids unserializing char; use uint8_t or int8_t instead.

template<
    typename Stream,
    CharNotInt8 V>
void
Unserialize(
    Stream& s,
    V v) = delete;

Unserialize a dynamic‐extent span of basic bytes from raw bytes.

template<
    typename Stream,
    BasicByte B>
void
Unserialize(
    Stream& s,
    std::span<B> span);

Unserialize a pair as its first then second element.

template<
    typename Stream,
    typename K,
    typename T>
void
Unserialize(
    Stream& is,
    std::pair<K, T>& item);

Unserialize a prevector.

template<
    typename Stream,
    unsigned int N,
    typename T>
void
Unserialize(
    Stream& is,
    prevector<N, T>& v);

Unserialize a vector.

template<
    typename Stream,
    typename T,
    typename A>
void
Unserialize(
    Stream& is,
    std::vector<T, A>& v);

Unserialize a fixed‐extent span of basic bytes from raw bytes.

template<
    typename Stream,
    BasicByte B,
    size_t N>
void
Unserialize(
    Stream& s,
    std::span<B, N> span);

Unserialize a std::array of basic bytes from raw bytes.

template<
    typename Stream,
    BasicByte B,
    size_t N>
void
Unserialize(
    Stream& s,
    std::array<B, N>& a);

Unserialize a C array of basic bytes from raw bytes.

template<
    typename Stream,
    BasicByte B,
    size_t N>
void
Unserialize(
    Stream& s,
    B(& a)[]);

Unserialize a set written as a CompactSize count followed by its elements.

template<
    typename Stream,
    typename K,
    typename Pred,
    typename A>
void
Unserialize(
    Stream& is,
    std::set<K, Pred, A>& m);

Unserialize a map written as a CompactSize count followed by its entries.

template<
    typename Stream,
    typename K,
    typename T,
    typename Pred,
    typename A>
void
Unserialize(
    Stream& is,
    std::map<K, T, Pred, A>& m);

Parameters

Name

Description

s

The input stream.

a

The boolean value to read into.

is

The input stream.

str

The string to fill.

os

The input stream.

p

The shared pointer to populate.

v

The char value that must not be unserialized.

span

The span of bytes to read into.

item

The pair to fill.

m

The set to fill.

Created with MrDocs