17 using Ts::operator()...;
23template <
class... Args,
class... Ts>
24constexpr decltype(
auto) Visit(
const std::variant<Args...>& var, Ts&&... ts) {
25 return std::visit(
Overloaded{std::forward<Ts>(ts)...}, var);
28template <
class... Args,
class... Ts>
29constexpr decltype(
auto) Visit(std::variant<Args...>& var, Ts&&... ts) {
30 return std::visit(
Overloaded{std::forward<Ts>(ts)...}, var);
33template <
class... Args,
class... Ts>
34constexpr decltype(
auto) Visit(std::variant<Args...>&& var, Ts&&... ts) {
35 return std::visit(
Overloaded{std::forward<Ts>(ts)...}, std::move(var));