overloaded

Reference

#include <actl/functional/overloaded.hpp>
template<typename ...Lambdas>
struct overloaded : public Lambdas...

Function object that combines all the overloads from the given Lambdas.

Designed primarily for convenience when visiting a variant, see https://en.cppreference.com/w/cpp/utility/variant/visit

std::visit(ac::overloaded{
    [](int i) { std::print("int = {}", i); },
    [](std::string_view s) { std::print("string = “{}”", s); },
}, std::variant<int, std::string>{...});

See tests at tests/functional/overloaded.cpp