le&gt; name2gpa;
  boost::associative_property_map&lt; std::map&lt;std::string, int&gt; &gt;
    age_map(name2age);
  boost::associative_property_map&lt; std::map&lt;std::string, double&gt; &gt;
    gpa_map(name2gpa);

  std::string fred(&quot;Fred&quot;);
  // add key-value information
  name2age.insert(make_pair(fred,17));
  name2gpa.insert(make_pair(fred,2.7));

  // build and populate dynamic interface
  boost::dynamic_properties properties;
  properties.property(&quot;age&quot;,age_map);
  properties.p