|
|
|
|
|
by coffeeaddict1
810 days ago
|
|
You can even do better with something like: namespace StlHelpers { template<class... Ts> struct overload : Ts... { using Ts::operator()...; }; template<class... Ts> overload(Ts...) -> overload<Ts...>; template<class var_t, class... Func> auto visit(var_t & variant, Func &&... funcs) { return std::visit(overload{ funcs... }, variant);
}} And then StlHelpers::visit(var, [](MyType1 t1) {...},
[](MyType2 t2) {...},
[](auto t) {...}
); |
|