Unserialize

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);
» more...

Unserialize a byte from a stream.

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

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

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

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

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

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

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

Unserialize a signed 8-bit integer from a stream.

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

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

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

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

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

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

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

Unserialize an unsigned 8-bit integer from a stream.

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

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);
» more...

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;
» more...

Unserialize any object that provides an Unserialize member function.

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

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);
» more...

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);
» more...

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;
» more...

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

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

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);
» more...

Unserialize a prevector.

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

Unserialize a vector.

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

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);
» more...

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);
» more...

Unserialize a C array of basic bytes from raw bytes.

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

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);
» more...

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);
» more...

Parameters

NameDescription
sThe input stream.
aThe boolean value to read into.
isThe input stream.
strThe string to fill.
osThe input stream.
pThe shared pointer to populate.
vThe char value that must not be unserialized.
spanThe span of bytes to read into.
itemThe pair to fill.
mThe set to fill.