*** ../chrono/boost/chrono/chrono.hpp 2010-08-04 16:13:03.204352521 +0200 --- boost/chrono/chrono.hpp 2010-08-04 16:16:16.441852738 +0200 *************** *** 68,74 **** #include #include ! #include #include #include --- 68,74 ---- #include #include ! #include #include #include #include *************** *** 521,534 **** BOOST_CHRONO_CONSTEXPR duration() { } // = default; template BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r, ! typename boost::enable_if_c < ! ( (boost::is_convertible::value) ! && ((treat_as_floating_point::value) ! || ( !treat_as_floating_point::value ! && !treat_as_floating_point::value) ! ) ! ) >::type* = 0) : rep_(r) { } ~duration() {} //= default; --- 521,541 ---- BOOST_CHRONO_CONSTEXPR duration() { } // = default; template BOOST_CHRONO_CONSTEXPR explicit duration(const Rep2& r, ! typename boost::enable_if < ! boost::mpl::and_ ! < ! boost::is_convertible, ! boost::mpl::or_ ! < ! treat_as_floating_point, ! boost::mpl::and_ ! < ! boost::mpl::not_ >, ! boost::mpl::not_ > ! > ! > ! > >::type* = 0) : rep_(r) { } ~duration() {} //= default; *************** *** 542,553 **** // conversions template BOOST_CHRONO_CONSTEXPR duration(const duration& d, ! typename boost::enable_if_c < ! ( (treat_as_floating_point::value) ! || ( (ratio_divide::type::den == 1) ! && (!treat_as_floating_point::value)) ! ) >::type* = 0) #ifdef __GNUC__ // GCC 4.2.4 refused to accept a definition at this point, --- 549,565 ---- // conversions template BOOST_CHRONO_CONSTEXPR duration(const duration& d, ! typename boost::enable_if < ! boost::mpl::or_ ! < ! treat_as_floating_point, ! boost::mpl::and_ ! < ! boost::mpl::bool_::type::den == 1>, ! boost::mpl::not_ > ! > ! > >::type* = 0) #ifdef __GNUC__ // GCC 4.2.4 refused to accept a definition at this point, *************** *** 621,631 **** template inline ! typename boost::enable_if_c < ! ( (boost::is_convertible::type>::value) ! && (boost::is_convertible::type>::value) ! ), duration::type, Period> >::type operator*(const duration& d, const Rep2& s) --- 633,645 ---- template inline ! typename boost::enable_if < ! boost::mpl::and_ ! < ! boost::is_convertible::type>, ! boost::is_convertible::type> ! >, duration::type, Period> >::type operator*(const duration& d, const Rep2& s) *************** *** 638,648 **** template inline ! typename boost::enable_if_c < ! ( (boost::is_convertible::type>::value) ! && (boost::is_convertible::type>::value) ! ), duration::type, Period> >::type operator*(const Rep1& s, const duration& d) --- 652,664 ---- template inline ! typename boost::enable_if < ! boost::mpl::and_ ! < ! boost::is_convertible::type>, ! boost::is_convertible::type> ! >, duration::type, Period> >::type operator*(const Rep1& s, const duration& d) *************** *** 1081,1092 **** template template BOOST_CHRONO_CONSTEXPR duration::duration(const duration& d, ! typename boost::enable_if_c < ! ( (treat_as_floating_point::value) ! || ( (ratio_divide::type::den == 1) ! && (!treat_as_floating_point::value)) ! ) >::type*) : rep_(duration_cast(d).count()) {} #endif --- 1097,1113 ---- template template BOOST_CHRONO_CONSTEXPR duration::duration(const duration& d, ! typename boost::enable_if < ! boost::mpl::or_ ! < ! treat_as_floating_point, ! boost::mpl::and_ ! < ! boost::mpl::bool_::type::den == 1>, ! boost::mpl::not_ > ! > ! > >::type*) : rep_(duration_cast(d).count()) {} #endif