One page per cpp_utils module, documenting every public symbol with its real signature and a
minimal, verified usage example. Start with the top-level README for the
quick-start; come here for the full picture of what each module offers.
| Module | Header dir | What it's for |
|---|---|---|
| reflexion | reflexion/ |
Compile-time member counting & field iteration over C++20 aggregates — the mechanism serde is built on. |
| serde | serde/ |
Symmetric binary serialize/deserialize/runtime_size for reflectable structs, with field wrappers for arrays, bounded strings, padding, fixed-point values, and more. |
| endianness | endianness/ |
Compile-time- and runtime-aware byte-swapping decode/encode. |
| io | io/ |
buffer_view and memory_mapped_file — interchangeable byte-buffer types usable directly with serde::deserialize. |
| containers | containers/ |
no_init_vector, nomap, small container algorithms, and N-D shape/flat-indexing helpers. |
| trees | trees/ |
A generic tree node plus traversal (for_each) and printing (print_tree), templatable over user-supplied node types. |
| strings | strings/ |
trim/ltrim/rtrim, make_unique_name, and a subsequence fuzzy_match scorer. |
| types | types/ |
Concepts, member/method/type detection idioms, smart-pointer helpers, integer helpers, Visitor<Ts...>, dispatch_dtype. |
| lifetime | lifetime/ |
RAII scope-leaving guards. |
| threading | threading/ |
parallel_for/parallel_for_each and span-based parallel_chunks_* helpers. Opt-in: -Dthreading=true. |
| cpp_utils_qt | cpp_utils_qt/ |
Qt6 specializations of types/trees (smart pointers, tree items, string conversion). Opt-in: -Dqt=true. |