A collection of C++ tools.
Non-exhaustive summary of the cool stuff in there (ordered by decreasing coolness, to my own appreciation):
Thing | Summary |
---|---|
tree |
An allocator-aware arbitrary tree to store hierarchies of objects. STL-compatible, comes with traversal utilities. |
ranges |
A collection of range adaptors. |
exception |
An exception model and a collection of exception types with convenient macros to throw them. |
Predicates | A collection of predicate generators for common numerical comparisons and functional combinatorics. |
bitwise_enum_ops |
Scoped, concept-enabled operator overloads for bitwise operations on enum types. |
cli |
Convenient CLI menu builder. Bundled with basic building blocks and a (mostly failproof) input model. See project PicrossEngine for an example usage. Also packs a command-line argument parsing facility. |
shell |
Shell emulator taking in user input to run registered commands. Works with the input model from cli . See project PicrossEngine for an example usage. |
interruptible |
Interface for an entity able to run a threaded task and handle requests to pause, resume and stop. |
worker |
A proposed, all-purpose implementation of the interruptible interface. |
String toolbox | Basic string processing: tokenization, char removal, etc. |
See list.todo
for a quick overview of what is likely to be worked
on at present.
The unit tests for stuff in
cli
fail: file "xxx" not found.
Make sure you're running the test executable through CTest. If for some reason
you need to run the test executable manually, make sure that folder resources
(located in folder tests
) is copied next to the unit tests executable. CMake
should be doing that as a post-build task though, so if you're encountering that
problem as part of building through CMake, please file an issue.