Example #1
0
int main()
{
    auto visitor = make_visitor
    (
        [](int& i) { std::cout << i << std::endl; },
        [](std::string& i) { std::cout << i << std::endl; }
    );
    boost::variant<int, std::string> v;
    v = "Hello world";
    boost::apply_visitor(visitor, v);
    v = 100;
    boost::apply_visitor(visitor, v);

    return 0;
}
int main()
{
    // clang-format off
    auto vnp = make_visitor
    (
        [](int x)    { std::cout << x << "i\n"; },
        [](float x)  { std::cout << x << "f\n"; },
        [](double x) { std::cout << x << "d\n"; }
    );
    // clang-format on

    vnum v0{0};
    vr::visit(vnp, v0);

    v0 = 5.f;
    vr::visit(vnp, v0);

    v0 = 33.51;
    vr::visit(vnp, v0);
}