diff --git a/README.md b/README.md new file mode 100644 index 0000000..38f9269 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# libscheaders — Grab bag of header-only C++ functionality + +## Build + +Headers only, so: no build step! + +## Install + +`sudo make install` + +or, on OpenBSD: + +`doas gmake install` + +## Documentation + +In progress. + +Currently, there are 4 headers: + +functools.hpp + +: Contains nestable versions of the functional programming triad `map`, + `filter`, and `reduce`. Whereas the C++ Standard Library algorithms can handle + different containers, as usual, these versions only work with `std::vector`, + with the specific feature that they can be nested. + +integer_locale.hpp + +: Contains a custom locale which displays long integers with a dot (`.`) as + thousands separator. + +plugin.hpp + +: Contains full support for POSIX shared libraries to be used as plugins. + Defines an interface for a generic plugin class. I use this in my + [screensaver](https://git.bobpolis.com/bob/screensaver/) project. + +sync_queue.hpp + +: This is taken from Bjarne Stroustrup's book "The C++ Programming Language", 4th + Ed., and implements a simple thread-safe queue.