libCat icon indicating copy to clipboard operation
libCat copied to clipboard

🐈‍⬛ 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!

#+TITLE: libCat 🐈‍⬛ #+AUTHOR: Conscat #+OPTIONS: ^:{} #+STARTUP: fold

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=. #+BEGIN_SRC $ cmake -B build/ -G 'Ninja Multi-Config' $ cmake --build build/ #or: ninja -C build/ $ ./build/tests/Debug/unit_tests #+END_SRC

The =.clang-format= and =.clang-tidy= configurations are only compatible with recent builds of clang-tools from the =main= branch.