是否有boost :: visit像std :: visit一样用于boost :: variant?

时间:2019-05-17 09:51:47

标签: c++ boost c++14 boost-variant std-variant

在C ++ 14中,我使用def ready(self): import users.signals 作为编译时多态的一种方式:

boost::variant

两个类都具有方法using MyType = boost::variant<A, B>; 。我想打电话:

sayHello()

我知道static_visitor的方式,但是我觉得很麻烦。我缺少像std::visit这样的MyType obj = ...; // either A() or B() boost::visit([](auto&& o) { o.sayHello();}, obj); 吗?如果没有,为什么不存在?

最小示例here

1 个答案:

答案 0 :(得分:1)

有,但是叫做boost::apply_visitor。与boost::variant相关的行为与std::visitstd::variant的行为相同。