General Utility Library for C++14
2.11
|
The General Utility Library for C++14 (GUL14) contains often-used utility functions and types that form the foundation for other libraries and programs. The main fields covered by the library are:
To keep the library useful for as many users as possible, special-purpose code has no place in it. Specifically, the library includes:
We strive for a very high quality level. To ensure this, we follow a list of Quality Standards.
GUL14 was developed at the German national particle accelerator laboratory DESY. It was originally meant to provide a modern and well-tested foundation for the DOOCS control system which drives most of the lab's accelerators. It is still used mainly in this role, but has since spread to many unrelated projects as well. At some point we decided to publish it on GitHub to make collaboration outside the lab easier.
To use the library:
All functions and classes are enclosed in the namespace gul14.
GUL14 requires at least C++14. It works fine with newer versions of the standard, but uses its own backport types (e.g. gul14::string_view) in function interfaces.
If you are using the vcpkg package manager, you can install the library simply by running:
vcpkg install gul14
Otherwise, you may have to build and install it manually. Have a look at the readme file on GitHub.
You can browse or clone the source code at https://github.com/gul-cpp/gul14.git.
Bug reports and feature requests are always welcome and highly appreciated. So are pull requests, but they should fit into the scope of the library – it may be better to discuss new features in a GitHub issue before diving into the implementation.