$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r65566 - sandbox/conversion/boost/conversion/boost
From: vicente.botet_at_[hidden]
Date: 2010-09-23 18:22:25
Author: viboes
Date: 2010-09-23 18:22:24 EDT (Thu, 23 Sep 2010)
New Revision: 65566
URL: http://svn.boost.org/trac/boost/changeset/65566
Log:
Conversion: Fix ADL issue + duration_cast needed
Text files modified: 
   sandbox/conversion/boost/conversion/boost/chrono_duration_to_posix_time_duration.hpp |     8 ++++----                                
   sandbox/conversion/boost/conversion/boost/chrono_time_point_to_posix_time_ptime.hpp  |    15 ++++++++-------                         
   2 files changed, 12 insertions(+), 11 deletions(-)
Modified: sandbox/conversion/boost/conversion/boost/chrono_duration_to_posix_time_duration.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/boost/chrono_duration_to_posix_time_duration.hpp	(original)
+++ sandbox/conversion/boost/conversion/boost/chrono_duration_to_posix_time_duration.hpp	2010-09-23 18:22:24 EDT (Thu, 23 Sep 2010)
@@ -95,11 +95,11 @@
     }
 
     namespace posix_time {
-        template < class Rep, class Period>
-        inline chrono::duration<Rep, Period> convert_to(time_duration const & from
-                            , boost::dummy::type_tag<chrono::duration<Rep, Period> > const&)
+        template < class Duration>
+        inline Duration convert_to(time_duration const & from
+                            , boost::dummy::type_tag<Duration> const&)
         {
-            return  chrono::duration_cast<chrono::duration<Rep, Period> >(chrono::nanoseconds(from.total_nanoseconds()));
+            return  chrono::duration_cast<Duration>(chrono::nanoseconds(from.total_nanoseconds()));
         }
 
         template < class Rep, class Period>
Modified: sandbox/conversion/boost/conversion/boost/chrono_time_point_to_posix_time_ptime.hpp
==============================================================================
--- sandbox/conversion/boost/conversion/boost/chrono_time_point_to_posix_time_ptime.hpp	(original)
+++ sandbox/conversion/boost/conversion/boost/chrono_time_point_to_posix_time_ptime.hpp	2010-09-23 18:22:24 EDT (Thu, 23 Sep 2010)
@@ -57,8 +57,7 @@
                 posix_time::time_duration const time_since_epoch=from-posix_time::from_time_t(0);
                 chrono::time_point<Clock, Duration> t=chrono::system_clock::from_time_t(time_since_epoch.total_seconds());
                 long nsec=time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second());
-                return  t+chrono::nanoseconds(nsec);
-
+                return  t+chrono::duration_cast<Duration>(chrono::nanoseconds(nsec));
             }
         };
         template < class Clock, class Duration>
@@ -102,17 +101,19 @@
         }
 
     }
+
     namespace posix_time {
-        template < class Clock, class Duration>
-        inline chrono::time_point<Clock, Duration> convert_to(const ptime& from
-                , boost::dummy::type_tag<chrono::time_point<Clock, Duration> > const&)
+        template < class TP>
+        inline TP convert_to(const ptime& from
+                , boost::dummy::type_tag<TP > const&)
         {
             time_duration const time_since_epoch=from-from_time_t(0);
-            chrono::time_point<Clock, Duration> t=chrono::system_clock::from_time_t(time_since_epoch.total_seconds());
+            TP t=chrono::system_clock::from_time_t(time_since_epoch.total_seconds());
             long nsec=time_since_epoch.fractional_seconds()*(1000000000/time_since_epoch.ticks_per_second());
-            return  t+chrono::nanoseconds(nsec);
+            return  t+chrono::duration_cast<typename TP::duration>(chrono::nanoseconds(nsec));
         }
 
+
         template < class Clock, class Duration>
         inline ptime& assign_to(ptime& to, const chrono::time_point<Clock, Duration>& from
                     , boost::dummy::type_tag<posix_time::ptime> const&