Ticket #9549: dynamic_properties.patch

File dynamic_properties.patch, 1.3 KB (added by anonymous, 9 years ago)
  • dynamic_property_map.hpp

     
    117117
    118118namespace detail {
    119119
    120 // Trying to work around VC++ problem that seems to relate to having too many
    121 // functions named "get"
    122 template <typename PMap, typename Key>
    123 typename boost::property_traits<PMap>::reference
    124 get_wrapper_xxx(const PMap& pmap, const Key& key) {
    125   using boost::get;
    126   return get(pmap, key);
    127 }
    128 
    129120//
    130121// dynamic_property_map_adaptor -
    131122//   property-map adaptor to support runtime polymorphism.
     
    171162
    172163  virtual boost::any get(const any& key_)
    173164  {
    174     return get_wrapper_xxx(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
     165    using boost::get;
     166    return get(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
    175167  }
    176168
    177169  virtual std::string get_string(const any& key_)
    178170  {
    179171    std::ostringstream out;
    180     out << get_wrapper_xxx(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
     172    using boost::get;
     173    out << get(property_map_, any_cast<typename boost::property_traits<PropertyMap>::key_type>(key_));
    181174    return out.str();
    182175  }
    183176