JH-Toolkit v1.4.1
An engineering-oriented C++20 toolkit with duck-typed concepts, static design, async coroutines, and semantic containers — header-only, RTTI-free, and concurrency-friendly.
Loading...
Searching...
No Matches
jh::serio Namespace Reference

Aggregated entry point for serialization and codec utilities. More...

Namespaces

namespace  base64
 Implements standard Base64 (RFC 4648 §4) encoding and decoding.
namespace  base64url
 Implements Base64URL (RFC 4648 §5) — the URL-safe variant of Base64.
namespace  uri
 Implements URI percent-encoding and decoding utilities.

Classes

class  huffman
 High-performance Huffman encoder/decoder. More...

Enumerations

enum class  huff_algo : std::uint8_t { huff128 , huff256 , huff128_canonical , huff256_canonical }
 Enumeration of supported Huffman algorithm variants. More...

Detailed Description

Aggregated entry point for serialization and codec utilities.

The <jh/serio> forwarding header provides a unified, engineering-oriented interface over the serialization and codec components implemented under jh/serialize_io/.
This module focuses on explicit, deterministic data transformation between binary and textual or compressed representations.
Rather than offering object-serialization frameworks or schema-driven formats, jh::serio exposes standalone, low-level codecs such as Base64 and Huffman encoding, with clearly defined validation and recoverability semantics.

Enumeration Type Documentation

◆ huff_algo

enum class jh::serio::huff_algo : std::uint8_t
strong

Enumeration of supported Huffman algorithm variants.

This enum controls the symbol range (128 or 256) and whether the codec uses standard tree-based Huffman or the deterministic canonical Huffman algorithm.

Enumerator
huff128 

Standard Huffman over ASCII (0-127).

huff256 

Standard Huffman over full byte range (0-255).

huff128_canonical 

Canonical Huffman for ASCII.

huff256_canonical 

Canonical Huffman for full byte range.