Modern C++23 library collection, better development experience on Windows (10,11)
A lot of the code supports wchar_t based on Abseil modifications, some of which come from Visual C++ STL.
bela::error_codeandbela::make_system_error_codebela::make_error_code_from_errnobela::make_error_code_from_stdbela::finallybela::secure_wstringbela::secure_stringbela::bytes_viewbytes viewbela::versioncompare and manipulate versions are available as extensions to the<major>.<minor>.<patch>.<build>-<prerelease_type>.<prerelease_number>bela::StringCatbela::StrAppendbela::StrSplitbela::StrReplaceAllbela::StrJoinbela::Substitutebela::hashSHA256/SHA512 SHA3 BLAKE3 SM3bela::Timebela::DateTimebela::Bufferbela::EscapeArgvescapeargv[]to windows commandlinebela::FPrintFsafely and unicode friendly printf impl- Support analyze zip format and list zip files
- Support analyze PE file format
- Support analyze ELF file format
- Support analyze Mach-O file format
- ...
- Baulk - Minimal Package Manager for Windows
- Privexec - Run the program with the specified permission level
- BelaUtils - Tools reimplemented using Bela library
Chinese docs: zh-CN
bela base Abseil: strcat. numbers subsitute match ascii str_replace str_join
bela base Visual C++: charconv (support wchar_t only)
bela Use parallel-hashmap https://github.com/greg7mdp/parallel-hashmap
bela Use semver https://github.com/Neargye/semver
bela Port Daniel Wakefield's fnmatch(BSD) to C++20 https://github.com/danwakefield/fnmatch/blob/master/fnmatch.go
bela Use LLVM tokenize commandline (support wchar_t only)
bela Use https://github.com/BLAKE3-team/BLAKE3
bela::hash uses the Hash algorithm code contributed by different people. You can check the corresponding file header for details.