I have a struct definition with about 25 elements
struct X { field 1; field 2; .. };
and I\'m trying to fill it with some map values <
It's not really possible to do that; the information you need is no longer present at runtime. You might be able to do something with a map and some pointers, but to be honest you would probably be better off just wrapping it up in a function that takes a map and puts the values into the appropriate fields.