How marchbeta2087/strict_endianness works
Strict Endianness is a small, header-only C library for reading and writing binary values in a caller-selected byte order. Its principal workflow is to open a file or wrap a memory buffer, then read or write typed values; the I/O layer detects host endianness and swaps bytes as needed. Shared definitions provide byte swapping, endianness detection, errors, and fixed-width float types. README-documented strings, seeking, alignment, buffering, and flushing are represented within the corresponding I/O components. Source excerpts show these implementations; the README supports the broader API capabilities.
Main entry points: strict.h Unified API · strict_file.h Typed file I/O · strict_mem.h Typed memory I/O · strict_common.h Endian and errors
Components 8
Shared primitives
- Unified API
strict.h - Endian and errors
strict_common.h - Float types
fixed_float.h
File I/O
- Typed file I/O
strict_file.h - File stream
Memory I/O
- Typed memory I/O
strict_mem.h - Caller buffer
Other components
- C/C++ caller
Connections 11
- C/C++ caller → Unified API: includes
README.md - Unified API → Endian and errors: includes
strict.h - Unified API → Typed file I/O: includes
strict.h - Unified API → Typed memory I/O: includes
strict.h - Typed file I/O → Endian and errors: uses primitives
strict_file.h - Endian and errors → Float types: includes types
strict_common.h - C/C++ caller → Typed file I/O: opens and reads/writes
README.md - Typed file I/O → File stream: reads/writes
strict_file.h - C/C++ caller → Typed memory I/O: wraps and reads/writes
README.md - Typed memory I/O → Caller buffer: reads/writes
strict_mem.h - Typed memory I/O → Endian and errors: uses primitives
strict_mem.h