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); }