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_code
andbela::make_system_error_code
bela::make_error_code_from_errno
bela::make_error_code_from_std
bela::finally
bela::secure_wstring
bela::secure_string
bela::bytes_view
bytes viewbela::version
compare and manipulate versions are available as extensions to the<major>.<minor>.<patch>.<build>-<prerelease_type>.<prerelease_number>
bela::StringCat
bela::StrAppend
bela::StrSplit
bela::StrReplaceAll
bela::StrJoin
bela::Substitute
bela::hash
SHA256/SHA512 SHA3 BLAKE3 SM3bela::Time
bela::DateTime
bela::Buffer
bela::EscapeArgv
escapeargv[]
to windows commandlinebela::FPrintF
safely 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.