#ifndef UTILS_H #define UTILS_H /** * @brief A utility structure for enabling function overloading with template-based classes. * see : https://stackoverflow.com/a/64018031 */ template struct overload : Ts... { using Ts::operator()...; }; /** * @brief Deduction guide for the `overload` template. * see : https://stackoverflow.com/a/64018031 */ template overload(Ts...) -> overload; #endif // UTILS_H