Boost logo

Boost-Commit :

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;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk