在下面的例子中,Outer包含一个嵌套的fusion :: vector:
struct A { fusion::vector<int, double> sub_elements_; };
struct B { fusion::vector<char *, char *> sub_elements_; };
class Outer { fusion::vector<A, A, B> elements_; };
Outer outer_;
如何以扁平化方式访问Outer?例如,我希望这些是等价的:
fusion::at_c<0>(fusion::at_c<2>(outer_.elements_).sub_elements_);
fusion::at_c<4>(outer_); // Same result; how to make such a flattened access work?
fusion::joint_view
;然而,这似乎不是最优的,因为视图为其子序列添加了多余的引用层。 访问嵌套向量是一项非常通用的任务 - boost :: fusion是否为此提供了一个很好的解决方案?