boost::variant conversion to type

喜欢而已 提交于 2019-12-05 02:48:39

You have to use boost::get<type>(variant) to get the value from a variant.

Maybe a better way for you is to use visitors - so you will have to write find_attribute only once:

struct find_attr_visitor : public boost::static_visitor<>
{
    template <typename T> void operator()( T & operand ) const
    {
        find_attribute(operand);
    }
};
...
// calling:
boost::apply_visitor(find_attr_visitor(), your_variant);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!