a modern C++20 standard library.
neo is an implementation of a C++ standard library, leveraging all the new features introduced to the language in the latest standards.
After using SerenityOS's AK (the standard library used for development of SerenityOS I realized how cluttered and bloated the STL was(and is). STL needs to keep backwards compatibility with old c++ standards not to break ABI as many programs depend on it. But that's not for me. I want to use a modern library that doesn't fall behind or is against breaking change on the excuse of backwards compatibility.
Most likely it will never be.
Not yet. It's on a very early stage so everything is subject to change.
Mostly, if you don't care about the usual API breaks. I expect to port it to C++20 modules.
Just clone the repository and include the neo directory in your project. Then you can just #include <Vector.h>.
Features are added on demand.
Open an issue please.
Because I want everything to be able to execute at compile time! Yes, I know some stuff can't be run at compile time yet, like heap allocations or accesing the byte representation of objects, but I expect it to be possible in the future. Some functions that use things like memcpy or strlen have compile time switches that make it use either manual loops (for compile time) or calling those functions (for runtime). And because it's easier to mark everything constexpr now while I build it instead of going through everything at a later stage.
Not yet. Maybe in the future when it's more advanced.
If this interests you, however, you can instead head to SerenityOS and contribute to the project!