boost::variant
タイプに関係なく に含まれる要素を処理したいユースケースがあります。
variant
要素の型を知らなくても のデータへのポインタを取得する方法はありますか?
boost::variant
タイプに関係なく に含まれる要素を処理したいユースケースがあります。
variant
要素の型を知らなくても のデータへのポインタを取得する方法はありますか?
あなたはそれを行うために訪問者を書くことができます:
typedef boost::variant<T1,T2,T3> my_variant;
void foo(my_variant v) {
struct get_pointer: boost::static_visitor<void *> {
template<class T>
void *operator()(T &element) const
{
return &element
}
};
get_pointer vis;
void *data = boost::apply_visitor(vis, v);
}