#pragma once namespace util { /** * @brief Overload set for lambdas * * @tparam Ts Types of lambdas */ template struct OverloadSet : Ts... { using Ts::operator()...; }; /** * @brief Deduction guide for OverloadSet * * @tparam Ts Types of lambdas */ template OverloadSet(Ts...) -> OverloadSet; } // namespace util