My own custom standard library. It's worked on as I want/need things, so it's by no means perfect, complete, or fully tested; I don't really expect others to be using it.
Requires at least C++20.
List of compiler flags / defines
- ArrayProxy
- Bimap
- CStrProxy
- Defer
- Expected
- Flags
- iterators
- Result
- SmallVector
- StaticString
- StaticVector
- Variant
Flag | Default | Description |
---|---|---|
EVO_GLOBAL_NUMERIC_TYPES |
undef |
define means that numeric types are put into the global namespace, whereas undef puts them in Evo namespace |
EVO_CONFIG_DEBUG |
undef |
Sets whether to run in debug mode define or release mode undef |
EVO_NO_LOG_FILTER |
undef |
Don't filter out logging in debug mode (find out more here) |
EVO_NO_LOG_TRACE |
undef |
Filter out trace logs even in debug mode (find out more here) |
These are defined because they mess up Sublime's syntax highlighting otherwise
Define | Value |
---|---|
EVO_NODISCARD |
[[nodiscard]] |
EVO_NORETURN |
[[noreturn]] |
Define | Description |
---|---|
EVO_CONCAT(a, b) |
Concatenate two values |
Versions v1.4.0
and v1.5.0
contains breaking changes.
The test suite is not fully implemented, but if you would like to run it it is in the testing directory. I using premake5 as my build system, but I had it generate make files in case you don't have and/or don't want to use premake5. The test build system makefiles are also only setup for Windows and Linux (although it's untested in Linux).
List of changes for each version can be found here.