StormByte-String 1.0.0
C++26 string module of the StormByte suite
 
Loading...
Searching...
No Matches
StormByte::Detail::Codec< String::WString > Struct Reference

StormByte::Detail::Codec specialization for StormByte::String::WString. More...

#include <StormByte/string/serializable.hxx>

Static Public Member Functions

static std::size_t Size (const String::WString &data) noexcept
 Serialized size of data.
 
static std::vector< std::byte > Write (const String::WString &data) noexcept
 Encodes data.
 
static Expected< String::WString, DeserializeError > Read (std::span< const std::byte > data) noexcept
 Decodes a StormByte::String::WString from the start of data.
 

Detailed Description

StormByte::Detail::Codec specialization for StormByte::String::WString.

Same UTF-8 wire as std::wstring. A null StormByte::String::WString is written as an empty payload. Decode always yields a non-null buffer (L"" when the payload is empty).

Member Function Documentation

◆ Read()

static Expected< String::WString, DeserializeError > StormByte::Detail::Codec< String::WString >::Read ( std::span< const std::byte >  data)
staticnoexcept

Decodes a StormByte::String::WString from the start of data.

Parameters
dataInput span.
Returns
Value, or StormByte::DeserializeError.

◆ Size()

static std::size_t StormByte::Detail::Codec< String::WString >::Size ( const String::WString &  data)
staticnoexcept

Serialized size of data.

Parameters
dataValue to measure.
Returns
Size in bytes.

◆ Write()

static std::vector< std::byte > StormByte::Detail::Codec< String::WString >::Write ( const String::WString &  data)
staticnoexcept

Encodes data.

Parameters
dataValue to encode.
Returns
Blob.

The documentation for this struct was generated from the following file: