]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/date_time/gregorian/greg_duration_types.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / date_time / gregorian / greg_duration_types.hpp
1 #ifndef GREG_DURATION_TYPES_HPP___
2 #define GREG_DURATION_TYPES_HPP___
3
4 /* Copyright (c) 2004 CrystalClear Software, Inc.
5 * Subject to Boost Software License, Version 1.0. (See accompanying
6 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
7 * Author: Jeff Garland, Bart Garst
8 * $Date$
9 */
10
11
12 #include <boost/date_time/compiler_config.hpp>
13 #include <boost/date_time/gregorian/greg_date.hpp>
14 #include <boost/date_time/int_adapter.hpp>
15 #include <boost/date_time/adjust_functors.hpp>
16 #include <boost/date_time/date_duration_types.hpp>
17 #include <boost/date_time/gregorian/greg_duration.hpp>
18
19 namespace boost {
20 namespace gregorian {
21
22 //! config struct for additional duration types (ie months_duration<> & years_duration<>)
23 struct BOOST_SYMBOL_VISIBLE greg_durations_config {
24 typedef date date_type;
25 typedef date_time::int_adapter<int> int_rep;
26 typedef date_time::month_functor<date_type> month_adjustor_type;
27 };
28
29 typedef date_time::months_duration<greg_durations_config> months;
30 typedef date_time::years_duration<greg_durations_config> years;
31
32 class BOOST_SYMBOL_VISIBLE weeks_duration : public date_duration {
33 public:
34 weeks_duration(duration_rep w)
35 : date_duration(w * 7) {}
36 weeks_duration(date_time::special_values sv)
37 : date_duration(sv) {}
38 };
39
40 typedef weeks_duration weeks;
41
42 }} // namespace boost::gregorian
43
44 #endif // GREG_DURATION_TYPES_HPP___