Boost logo

Boost :

Subject: Re: [boost] [chrono] New Features + Bug fixes + Updated documentation
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2009-12-11 03:37:31


----- Original Message -----
From: "vicente.botet" <vicente.botet_at_[hidden]>
To: <boost_at_[hidden]>; <boost-users_at_[hidden]>
Sent: Tuesday, December 08, 2009 11:46 PM
Subject: [boost] [chrono] New Features + Bug fixes + Updated documentation

Hi,

I'm pleased to annonce the new version of the Boost.Chrono library. Even if the library is not yet ready for review I wanted to share it with you.

The library can be downloaded from the vault http://www.boostpro.com/vault/index.php?action=downloadfile&filename=chrono.zip&directory=System& and the documentation is online on the sandbox http://svn.boost.org/svn/boost/sandbox/chrono/libs/chrono/doc/html.

For the moment I'm not able to test it on Windows and Mac platforms.
Could you check if there are some regressions on Windows or on Mac platforms?

Of course, any comments or suggestions are welcome.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Hi,

Tom Tan has reported me a lot of errors on Windows platform.
* Replace INTMAC_C by BOOST_INTMAC_C.
* Define BOOST_CHRONO_HAS_CLOCK_MONOTONIC when BOOST_CHRONO_WINDOWS_API
* Commenting invalid operator declarations
* Take care of Boost min/max recommendations
These errors have been corrected on the sandbox revision (58287)

There is yet an error with gcc-4.4.0

./boost/chrono/chrono.hpp:945: error: declaration of 'typedef class boost::chrono::duration<long long int, boost::ratio<1ll, 10000000ll> > boost::chrono::system_clock::duration'
./boost/chrono/chrono.hpp:458: error: changes meaning of 'duration' from 'class boost::chrono::duration<long long int, boost::ratio<1ll, 10000000ll> >'

Note that the line numbers will be no more significant. It corresponds to the following

namespace chrono {

    template <class Rep, class Period>
    class duration
    {...}

  class BOOST_CHRONO_DECL system_clock
  {
  public:
      typedef BOOST_SYSTEM_CLOCK_DURATION duration;
    ...
  };
}

where

#ifdef BOOST_CHRONO_WINDOWS_API
// The system_clock tick is 100 nanoseconds
# define BOOST_SYSTEM_CLOCK_DURATION duration<boost::int_least64_t, ratio<BOOST_INTMAX_C(1), BOOST_INTMAX_C(10000000)> >
#else
# define BOOST_SYSTEM_CLOCK_DURATION boost::chrono::nanoseconds
#endif

There is also a lot of warnings, between them

/boost/boost/type_traits/is_convertible.hpp: At global scope:
/boost/boost/type_traits/is_convertible.hpp: In instantiation of 'const bool boost::detail::is_convertible_basic_impl<boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> >&, boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> > >::value':
/boost/boost/type_traits/is_convertible.hpp:295: instantiated from 'const bool boost::detail::is_convertible_impl<boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> >, boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> > >::value'
/boost/boost/type_traits/is_convertible.hpp:418: instantiated from 'boost::is_convertible<boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> >, boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> > >'
/boost/boost/utility/enable_if.hpp:36: instantiated from 'boost::enable_if<boost::is_convertible<boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> >, boost::chrono::duration<timeval_demo::xtime, boost::ratio<1ll, 1000000ll> > >, void>'
C:\cygwin\sandbox\chrono\libs\chrono\example\timeval_demo.cpp:189: instantiated from here
/boost/boost/type_traits/is_convertible.hpp:136: warning: suggest parentheses around && within ||

Any hint?

Thanks,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk