- Additional containers (bidirectional map, b-tree, meshes, stacks, trees)
- A file modification listener
- Tools for creating parsers and compilers (Work in progress )
- Parsers and compilers for popular languages (CSS, INI, HTML, JSON, Markdown, XML) (Work in progress )
- A logger logger with a file rotation system
- Benchmark tools
- Hashing functions
- Networking functions (Server/Client)
- Color terminal writing
- Utilities for securing multithreaded accesses (UniqueLocker, SharedLocker)
- A ThreadPool
- Tools for writing unit tests
- STL polyfills
- Many other functions
The unit tests serve as examples of how to use these functions.
A C++23 compliant compiler with std module support and XMake is needed to build CppUtils
This library is used in my C++ projects, but you can also use it in your projects. Just follow the installation steps and consult the documentation for each feature you need.
In your XMake projects:
add_repositories("xmake-repo git@github.com:MorganCaron/xmake-repo.git")
add_requires("CppUtils")
target("YourProject", function()
add_packages("CppUtils", {public = true})
end)
xmake f --toolchain=llvm --runtimes="c++_shared" [--enable_tests=y] --yes
xmake [b|build] [-vD]
xmake [r|run]