https://github.com/fcharlie/bela
Modern C++ development experience library
https://github.com/fcharlie/bela
Last synced: 3 months ago
JSON representation
Modern C++ development experience library
- Host: GitHub
- URL: https://github.com/fcharlie/bela
- Owner: fcharlie
- License: apache-2.0
- Created: 2019-05-13T13:45:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-08-17T14:06:38.000Z (10 months ago)
- Last Synced: 2024-08-17T15:25:59.613Z (10 months ago)
- Language: C++
- Homepage:
- Size: 5.81 MB
- Stars: 38
- Watchers: 5
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
# Bela Utilities
[](LICENSE)
[](https://github.com/fcharlie/bela/actions)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.
## Feature
+ `bela::error_code` and `bela::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 view
+ `bela::version` compare and manipulate versions are available as extensions to the `...-.`
+ `bela::StringCat` `bela::StrAppend` `bela::StrSplit` `bela::StrReplaceAll` `bela::StrJoin` `bela::Substitute`
+ `bela::hash` SHA256/SHA512 SHA3 BLAKE3 SM3
+ `bela::Time` `bela::DateTime`
+ `bela::Buffer`
+ `bela::EscapeArgv` escape `argv[]` to windows commandline
+ `bela::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
+ ...## Used by
+ [Baulk - Minimal Package Manager for Windows](https://github.com/baulk/baulk)
+ [Privexec - Run the program with the specified permission level](https://github.com/M2Team/Privexec)
+ [BelaUtils - Tools reimplemented using Bela library](https://github.com/fcharlie/BelaUtils)## Documents
Chinese docs: [zh-CN](./docs/zh-CN/)
## License
bela base [Abseil](https://github.com/abseil/abseil-cpp): 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](https://github.com/greg7mdp/parallel-hashmap)
bela Use semver [https://github.com/Neargye/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](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](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.[LICENSE](./LICENSE)