#ifndef UTILS_H #define UTILS_H template struct overload : Ts... { using Ts::operator()...; }; template overload(Ts...) -> overload; #endif // UTILS_H