
Greetings. I am kind of newbie to Boost.Fusion. I have a sequence of "Field"s: typedef fusion::vector< Field<int, 3, Check1, ..>, Field<float, 8, Check2, ..>, Field<MyString, 2, Check3, ..>, ...
MySequence;
Each "Field" knows how to (de)serialize, has some checking policy and a few more little stuff. "Field" also has a "int" property "TypeSize": static const int TypeSize = somevalue_known_at_compile_time; I'd like to traverse the type "MySequence" and get the sum of all the sizes at compile time. Like: Field<int,3,Check1>::TypeSize + Field<float, 8, Check2>::TypeSize + Field<MyString,2,Check3>::TypeSize + ... ; I tried playing with fusion::accumulate and mpl<int_> but couldn't do it. There's no much documentation/examples about fusion (correct me if I am wrong please). How can I get the accumulated sum of Field<...>::TypeSize of all the members in "MySequence"? Thanks in advance, Benedetto PS: It's not really a priority (the cost of doing that at runtime once for object is minimal), but I'd really like to fully understand Fusion, which I have found very useful so far.