Cons-Cat / libCat

πŸˆβ€β¬› A runtime for C++26 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libCat πŸˆβ€β¬›

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, interfaces (also known as facades), hierarchical memory allocators, and value-based error-handling, among many other features.

http://wgoo.ch/overflow.html

https://youtu.be/BrBb0mqoIAc

More essays and videos will come in the future.

Building

libCat requires a development version of GCC 15 from the trunk branch. Compiling libCat is only 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.

About

πŸˆβ€β¬› A runtime for C++26 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!

License:Mozilla Public License 2.0


Languages

Language:C++ 98.5%Language:CMake 1.3%Language:Python 0.2%Language:GDB 0.0%Language:Emacs Lisp 0.0%