$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r51969 - in trunk/boost/interprocess: containers/container containers/container/detail detail sync
From: igaztanaga_at_[hidden]
Date: 2009-03-25 13:26:35
Author: igaztanaga
Date: 2009-03-25 13:26:33 EDT (Wed, 25 Mar 2009)
New Revision: 51969
URL: http://svn.boost.org/trac/boost/changeset/51969
Log:
Changes for Boost.1.39
Text files modified: 
   trunk/boost/interprocess/containers/container/detail/algorithms.hpp |     4 ++--                                    
   trunk/boost/interprocess/containers/container/stable_vector.hpp     |     1 +                                       
   trunk/boost/interprocess/detail/move.hpp                            |     2 --                                      
   trunk/boost/interprocess/sync/named_condition.hpp                   |     4 ++--                                    
   4 files changed, 5 insertions(+), 6 deletions(-)
Modified: trunk/boost/interprocess/containers/container/detail/algorithms.hpp
==============================================================================
--- trunk/boost/interprocess/containers/container/detail/algorithms.hpp	(original)
+++ trunk/boost/interprocess/containers/container/detail/algorithms.hpp	2009-03-25 13:26:33 EDT (Wed, 25 Mar 2009)
@@ -68,13 +68,13 @@
 #else
 template<class T, class InpIt>
 inline void construct_in_place(T* dest, InpIt source)
-{     new((void*)dest)T(*source);   }
+{     ::new((void*)dest)T(*source);   }
 #endif
 
 template<class T, class U, class D>
 inline void construct_in_place(T *dest, default_construct_iterator<U, D>)
 {
-   new((void*)dest)T();
+   ::new((void*)dest)T();
 }
 
 template<class T, class U, class E>
Modified: trunk/boost/interprocess/containers/container/stable_vector.hpp
==============================================================================
--- trunk/boost/interprocess/containers/container/stable_vector.hpp	(original)
+++ trunk/boost/interprocess/containers/container/stable_vector.hpp	2009-03-25 13:26:33 EDT (Wed, 25 Mar 2009)
@@ -213,6 +213,7 @@
    #ifndef BOOST_CONTAINERS_PERFECT_FORWARDING
 
    node_type()
+      : value()
    {}
 
    #define BOOST_PP_LOCAL_MACRO(n)                                      \
Modified: trunk/boost/interprocess/detail/move.hpp
==============================================================================
--- trunk/boost/interprocess/detail/move.hpp	(original)
+++ trunk/boost/interprocess/detail/move.hpp	2009-03-25 13:26:33 EDT (Wed, 25 Mar 2009)
@@ -185,8 +185,6 @@
 #define BOOST_INTERPROCESS_ENABLE_MOVE_EMULATION(TYPE)\
    operator boost::interprocess::rv<TYPE>&() \
    {  return static_cast<boost::interprocess::rv<TYPE>& >(*this);   }\
-   operator const boost::interprocess::rv<TYPE>&() \
-   {  return static_cast<const boost::interprocess::rv<TYPE>& >(*this);   }\
 //
 
 
Modified: trunk/boost/interprocess/sync/named_condition.hpp
==============================================================================
--- trunk/boost/interprocess/sync/named_condition.hpp	(original)
+++ trunk/boost/interprocess/sync/named_condition.hpp	2009-03-25 13:26:33 EDT (Wed, 25 Mar 2009)
@@ -153,7 +153,7 @@
    void do_wait(Lock& lock)
    {
       //named_condition only works with named_mutex
-      BOOST_STATIC_ASSERT((detail::is_same<typename Lock::mutex_type, named_mutex>::value == true));
+      BOOST_STATIC_ASSERT((detail::is_convertible<typename Lock::mutex_type&, named_mutex&>::value == true));
       
       //lock internal before unlocking external to avoid race with a notifier
       scoped_lock<interprocess_mutex>     internal_lock(*this->mutex());
@@ -170,7 +170,7 @@
    bool do_timed_wait(Lock& lock, const boost::posix_time::ptime &abs_time)
    {
       //named_condition only works with named_mutex
-      BOOST_STATIC_ASSERT((detail::is_same<typename Lock::mutex_type, named_mutex>::value == true));
+      BOOST_STATIC_ASSERT((detail::is_convertible<typename Lock::mutex_type&, named_mutex&>::value == true));
       //lock internal before unlocking external to avoid race with a notifier  
       scoped_lock<interprocess_mutex>     internal_lock(*this->mutex(), abs_time);  
       if(!internal_lock) return false;