https://github.com/bishan-batel/crab
https://github.com/bishan-batel/crab
cpp cpp-library cpp20
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bishan-batel/crab
- Owner: bishan-batel
- License: mit
- Created: 2024-03-28T00:32:05.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-02-10T03:56:01.000Z (4 months ago)
- Last Synced: 2026-02-10T07:36:22.063Z (4 months ago)
- Topics: cpp, cpp-library, cpp20
- Language: C++
- Homepage: http://bishan-batel.github.io/crab/
- Size: 4.05 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/bishan-batel/crab/actions/workflows/cmake-multi-platform.yml) [](https://github.com/bishan-batel/crab/actions/workflows/upload-doxygen.yml)
The most concise description for this library would be "Templated library focused on improving specific parts of the
STL, specifically a prioritization on type invariance, error handling, and readability"
I am working on better documentation for this library starting with doxygen, which can be
found [here](https://bishan-batel.github.io/crab). Please note that this documentation is *incomplete* and is being
worked on right now. Even though nobody reads doxygen documentation, I am still trying to comprehensively document
everything in crab. After this is done, a better wiki for crab features will be made with proper examples and guides (
similar to module-level documentation in rust).
I joke that this is a 'rust fanfic' library, must the goal is to not dilute rust's language features in metatemplate
hacks, but to turn many concepts and reframe them to concepts I think are digestible to how many people treat and use
C++. We have our own `Option` type in crab for error handling and ergonomic APIs, but what we will never have are
complex macros to try to impose *"""safety ððĪŠ"""*.