Hello all, I'm currently busy to get things like this working: struct person { std::string name; int age; }; int main(int argc, char **argv) { person p; p.name = "Matthijs" p.age = 1234; std::string key = "name"; // Now try to fetch the value based on the key string. std::cout << p.{key} << std::endl; // does not compile return 0; } Of course above doesn't work for obvious reasons. The closest I get is: struct person { std::string name; int age; }; namespace keys { struct name; struct age; } BOOST_FUSION_ADAPT_ASSOC_STRUCT( person, (std::string, name, keys::name) (int, age, keys::age) ); int main(int argc, char **argv) { person x; x.name = "Matthijs"; x.age = 1234; std::cout << "Name: " << boost::fusion::at_keykeys::name(x) << std::endl; std::cout << "Age: " << boost::fusion::at_keykeys::age(x) << std::endl; return 0; } Now my question, is there maybe another way to achieve this? Regards, Matthijs Möhlmann Cacholong