#ifndef OVERLOAD_HPP_ #define OVERLOAD_HPP_ template struct overloaded : Ts... { using Ts::operator()...; }; template overloaded(Ts...) -> overloaded; #endif