1 #ifndef POSIX_TIME_DURATION_HPP___
2 #define POSIX_TIME_DURATION_HPP___
4 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
5 * Use, modification and distribution is subject to the
6 * Boost Software License, Version 1.0. (See accompanying
7 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
12 #include <boost/date_time/compiler_config.hpp>
13 #include <boost/date_time/posix_time/posix_time_config.hpp>
16 namespace posix_time {
18 //! Allows expression of durations as an hour count
19 /*! \ingroup time_basics
21 class BOOST_SYMBOL_VISIBLE hours : public time_duration
24 explicit hours(long h) :
25 time_duration(static_cast<hour_type>(h),0,0)
29 //! Allows expression of durations as a minute count
30 /*! \ingroup time_basics
32 class BOOST_SYMBOL_VISIBLE minutes : public time_duration
35 explicit minutes(long m) :
36 time_duration(0,static_cast<min_type>(m),0)
40 //! Allows expression of durations as a seconds count
41 /*! \ingroup time_basics
43 class BOOST_SYMBOL_VISIBLE seconds : public time_duration
46 explicit seconds(long s) :
47 time_duration(0,0,static_cast<sec_type>(s))
52 //! Allows expression of durations as milli seconds
53 /*! \ingroup time_basics
55 typedef date_time::subsecond_duration<time_duration,1000> millisec;
56 typedef date_time::subsecond_duration<time_duration,1000> milliseconds;
58 //! Allows expression of durations as micro seconds
59 /*! \ingroup time_basics
61 typedef date_time::subsecond_duration<time_duration,1000000> microsec;
62 typedef date_time::subsecond_duration<time_duration,1000000> microseconds;
64 //This is probably not needed anymore...
65 #if defined(BOOST_DATE_TIME_HAS_NANOSECONDS)
67 //! Allows expression of durations as nano seconds
68 /*! \ingroup time_basics
70 typedef date_time::subsecond_duration<time_duration,1000000000> nanosec;
71 typedef date_time::subsecond_duration<time_duration,1000000000> nanoseconds;
79 } }//namespace posix_time