$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r78440 - trunk/boost/property_map
From: jewillco_at_[hidden]
Date: 2012-05-12 16:34:39
Author: jewillco
Date: 2012-05-12 16:34:38 EDT (Sat, 12 May 2012)
New Revision: 78440
URL: http://svn.boost.org/trac/boost/changeset/78440
Log:
Removed GCC 2.95 workarounds, changed to make_shared for exception safety, tried more to get VC++ to work
Text files modified: 
   trunk/boost/property_map/dynamic_property_map.hpp |    33 ++-------------------------------       
   1 files changed, 2 insertions(+), 31 deletions(-)
Modified: trunk/boost/property_map/dynamic_property_map.hpp
==============================================================================
--- trunk/boost/property_map/dynamic_property_map.hpp	(original)
+++ trunk/boost/property_map/dynamic_property_map.hpp	2012-05-12 16:34:38 EDT (Sat, 12 May 2012)
@@ -144,32 +144,18 @@
   //   can be converted to value_type via iostreams.
   void do_put(const any& in_key, const any& in_value, mpl::bool_<true>)
   {
-#if !(defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95))
     using boost::put;
-#endif
 
     key_type key = any_cast<key_type>(in_key);
     if (in_value.type() == typeid(value_type)) {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
-      boost::put(property_map_, key, any_cast<value_type>(in_value));
-#else
       put(property_map_, key, any_cast<value_type>(in_value));
-#endif
     } else {
       //  if in_value is an empty string, put a default constructed value_type.
       std::string v = any_cast<std::string>(in_value);
       if (v.empty()) {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
-        boost::put(property_map_, key, value_type());
-#else
         put(property_map_, key, value_type());
-#endif
       } else {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
-        boost::put(property_map_, key, detail::read_value<value_type>(v));
-#else
         put(property_map_, key, detail::read_value<value_type>(v));
-#endif
       }
     }
   }
@@ -185,28 +171,14 @@
 
   virtual boost::any get(const any& key)
   {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
-    return boost::get(property_map_, any_cast<key_type>(key));
-#else
-    // using boost::get;
-
     return get_wrapper_xxx(property_map_, any_cast<key_type>(key));
-#endif
   }
 
   virtual std::string get_string(const any& key)
   {
-#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ == 95)
     std::ostringstream out;
-    out << boost::get(property_map_, any_cast<key_type>(key));
+    out << get_wrapper_xxx(property_map_, any_cast<key_type>(key));
     return out.str();
-#else
-    using boost::get;
-
-    std::ostringstream out;
-    out << get(property_map_, any_cast<key_type>(key));
-    return out.str();
-#endif
   }
 
   virtual void put(const any& in_key, const any& in_value)
@@ -254,9 +226,8 @@
   dynamic_properties&
   property(const std::string& name, PropertyMap property_map_)
   {
-    // Tbd: exception safety
     boost::shared_ptr<dynamic_property_map> pm(
-      new detail::dynamic_property_map_adaptor<PropertyMap>(property_map_));
+      boost::make_shared<detail::dynamic_property_map_adaptor<PropertyMap> >(property_map_));
     property_maps.insert(property_maps_type::value_type(name, pm));
 
     return *this;