Skip to content

🐈‍⬛ A runtime for C++20 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!

License

Notifications You must be signed in to change notification settings

bionicbeagle/libCat

 
 

Repository files navigation

libCat 🐈‍⬛

libCat is a non-POSIX compliant C++23 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 from the trunk branch. Compiling libCat is only tested using ninja.

$ cmake -B build/ -G 'Ninja Multi-Config'
$ 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++20 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.7%
  • CMake 1.3%