Skip to content

Wrench is a set of cross-platform single-header C++ libraries. All of them were developed during work on my personal projects.

License

Notifications You must be signed in to change notification settings

bnoazx005/Wrench

Repository files navigation

Wrench

Wrench is a set of cross-platform single-header C++ libraries. All of them were developed during work on my personal projects.

Table of contents


List of Libraries

  • deferOperation.hpp - The library provides defer operation like that exists in Go programming language.
  • memTracker.hpp - The library is a diagnostic utility that overloads new/delete operators to control allocations and memory leaks.
  • result.hpp - The library provides a mix of Alexandrescu's std::expected and Result<T, E> type from Rust programming language.
  • stringUtils.hpp - A bunch of helper functions that simplify work with std::string.
  • variant.hpp - A lightweight yet simple implementation of type-safe unions. That works under C++0x standard.

How to Use

All the libraries have documentation at the beginning of their sources. And you can find relative detailed information up from there. To use some library in your own project just copy its source file in project's directory and use the following lines of code:

/// Use the header when you need the declarations only
#include "library_name.hpp"

/// The macro above should be placed once at some cpp file
#define LIBRARY_NAME_IMPLEMENTATION
#include "library_name.hpp"

where LIBRARY_NAME is one of the listed above.


How to Contribute

To provide your own single-header library you can use template file library_template.hpp which lies inside /source directory. Also you can find more information in CONTRIBUTING.md file about code style.

About

Wrench is a set of cross-platform single-header C++ libraries. All of them were developed during work on my personal projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages