Skip to content

fcharlie/bela

Repository files navigation

Bela Utilities

license badge Master Branch Status

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 <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 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

Documents

Chinese docs: zh-CN

License

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.

LICENSE

About

Modern C++ development experience library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published