Boost.Fusionシーケンスの要素を別のシーケンスの要素で初期化する必要があります。融合ベクターでこれを実現するための私の唯一のアイデアは、このアイデアでBoost.Fusionシーケンスの要素を別のシーケンスから初期化する
BVector b(transform(AVector(), magic_functor()));
のようなものである
class A {
A1 a;
A2 b;
A3 c;
};
class B {
B1 a;
B2 b;
B3 c;
B(const A& o) : a(o.a), b(o.b), c(o.c) {}
};
、magic_functor
は結果タイプを持っているでしょう:私は核融合を使用していないだろうときに、これは次のようになります。 Bi
をAi
とし、その構成をoperator()
で実行します。 しかし、magic_functor
は、キャストする正しいタイプを知っていなければならず、その結果ロジックが重複します。
初期化を行うと、より良い融合方法がありますか?
どうもありがとうございました。 – thiton