Hi!

I am trying to use boost fusion to build [de]serializer for simple types (int ...) and structs.
I had success until I tried structures holding arrays.

Example:
struct EntryTable
{
    unsigned int count;
    unsigned int data[4];
};

BOOST_FUSION_ADAPT_STRUCT(
  EntryTable,
  (unsigned int, count)
  (unsigned int, data[4])
)

I would wish to get a fusion::vector<unsigned int, unsigned int[4]>, but
the assignment of the struct only compiles if the fusion vector is defined
as fusion::vector<unsigned int, unsigned int>.

EntryTable t;
fusion::vector<unsigned int, unsigned int> f1 = t;  // works
fusion::vector<unsigned int, unsigned int[4]> f2 = t;  // doesnt work (not even compile)

What am I doing wrong? Is there a simple way to simple wrap an array using fusion?


Bye Gunther

using boost 1.42
g++ 4.4.5