YOMM2 is a C++17 library that implements fast, open multi-methods. It is inspired by the papers by Peter Pirkelbauer, Yuriy Solodkyy, and Bjarne Stroustrup. Open methods are like virtual functions, except that they live outside a class, as free functions. This effectively solves the expression problem
YOMM2 also allows methods to have multiple virtual parameters (aka multiple dispatch).
improve and reorganise documentation (imitating cppreference.com)
core C++ constructs behind the macros are now documented (+ tutorial)
experimental support for templatized methods and definitions (+ tutorial)
make library exception agnostic
static registration objects no longer allocate from the heap
major cleanup of the internals