#ifndef OVERLOAD_HPP #define OVERLOAD_HPP template struct overload : Callable... { overload(Callable &&... c) : Callable{std::move(c)}... {} using Callable::operator()...; }; #endif