This is a loose collection of C++14 libraries I tend to reuse between different, mostly game-related, projects.
They are meant mostly for me (Emil Ernerfeldt), but if you find them useful, have at it.
Their only dependencies are either system dependencies (pthread etc) and Loguru. gl_lib also depends on OpenGL and GLEW. The libraries does not depend on each other.
They all work on OSX and iOS and probably Linux. Some may work elsewhere.
This is a "fake coroutine" class which implements a cooperative thread and methods for passing execution between the outer and inner thread.
This is really nice for handling things that you would normally use a state machine for. Perfect for games where you might want to have a scripted event, a dialouge or something else running in its own thread, but not at the same time as the main game logic thread.
This library allows you to watch for changes in a directory, e.g. new files, deleted files or changes in existing files. This is great for doing automatic hot-reloading of things like textures, shaders, etc.
Code for doing simple things in OpenGL.
Simple O(N) map/set with small overhead and great performance for small N.
Not part of emilib, but included for examples to work. Find Loguru on GitHub for latest version of Loguru.
Simple wrapper around mmap with RAII.
Stream mp3 music on OSX and iOS.
Track movement of some data, e.g. to estimate velocity from recent movement.
Nice text rendering for OSX and iOS.
Monotonic wall time chronometer.
Really basic utf8 operations.
Parse WAVE (.wav) sound files into a nice format.