Thanks a lot for the reply.
You're welcome.
That worked for me. But can you help me understand the following in your code,
1.Second argument of the constructor, member_property_map(Map map, Type bundle_type::* member) : m_map(map), m_member(member) {}
It is a pointer-to-data-member and it's the only time I have ever used it. http://en.cppreference.com/w/cpp/language/pointer#Pointers_to_data_members
2.What does the put_get_helper class actually do?
The property map concepts require the following usage: value = get(map, key) and put(map, key, value). put_get_helper is a an undocumented (and empty) class in property_map.hpp. By deriving from put_get_helper a class that implements operator[] will match the get and put functions defined in property_map.hpp. http://www.boost.org/doc/libs/1_59_0/boost/property_map/property_map.hpp