ESSA Util
ESSA Util is a general-purpose utility library, a supplement to C++ standard library.
Full feature list
- Custom Unicode-aware strings and streams (WIP)
- Custom 2,3,4-dimensional vectors, matrices, rects
- Colors: RGB and HSV support, many predefined colors
- Utility classes (
NonCopyable
,DelayedInit
) - Unit wrappers (angle, length, distance etc) and unit formatting
- Clock utilities and formatters (C++-y wrapper for
strftime
) - Endianness conversions
- Character type detection (wrapper for C functions like
isdigit
,isalpha
) - Some things imported from SerenityOS AK:
- CMake function
essautil_setup_target
to setup sensible defaults for targets (C++20, all warnings treated as errors, sanitizers enabled in Debug and optimizations in Release, add project root directory to include path) - (WIP) Testing framework - currently not exported
Building
Required dependencies: fmt
Simple install (will use global system-wide location):
./install.sh
If you want to run cmake manually:
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install