libCat is a non-POSIX compliant C++26 runtime.
It has no pthreads nor malloc()
, and by extension no exceptions.
It has type-safe arithmetic, SIMD, fast syscalls, CRTP interfaces,
hierarchical memory allocators, and value-based error handling, among many other features.
More essays and videos will come in the future.
libCat requires a recent development version of GCC 15 or Clang 20 from the trunk
branch.
Compiling libCat is only routinely tested using ninja
.
Configuring the build requires CMake 3.29.
$ cmake -B build/ -G 'Ninja Multi-Config' # or: cmake -B build -GNinja $ cmake --build build/ # or: ninja -C build/ $ ./build/tests/Debug/unit_tests
The .clang-format
and .clang-tidy
configurations are only compatible with recent builds of clang-tools from the main
branch.