Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename Variant, typename ... F>
- constexpr auto match(Variant&& v, F&& ... f)
- noexcept(noexcept(std::visit(overloaded{ std::forward<decltype(f)>(f)... },
- std::forward<decltype(v)>(v))))
- {
- return std::visit(overloaded{ std::forward<decltype(f)>(f)... },
- std::forward<decltype(v)>(v));
- }
- // ...
- std::variant<int, double> variant;
- match(
- variant,
- [](int){ /* code */ },
- [](double){ /* code */ }
- );
Advertisement
Add Comment
Please, Sign In to add comment