]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/date_time/example/local_time/calc_rules.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / date_time / example / local_time / calc_rules.cpp
1 /* A simple example for creating various dst_calc_rule instances
2 */
3
4 #include "boost/date_time/gregorian/gregorian.hpp"
5 #include "boost/date_time/local_time/local_time.hpp"
6 #include <iostream>
7
8 int
9 main()
10 {
11 using namespace boost;
12 using namespace local_time;
13 using namespace gregorian;
14
15 /***** create the necessary date_generator objects *****/
16 // starting generators
17 first_day_of_the_week_in_month fd_start(Sunday, May);
18 last_day_of_the_week_in_month ld_start(Sunday, May);
19 nth_day_of_the_week_in_month nkd_start(nth_day_of_the_week_in_month::third,
20 Sunday, May);
21 partial_date pd_start(1, May);
22 // ending generators
23 first_day_of_the_week_in_month fd_end(Sunday, Oct);
24 last_day_of_the_week_in_month ld_end(Sunday, Oct);
25 nth_day_of_the_week_in_month nkd_end(nth_day_of_the_week_in_month::third,
26 Sunday, Oct);
27 partial_date pd_end(31, Oct);
28
29 /***** create the various dst_calc_rule objects *****/
30 dst_calc_rule_ptr pdr(new partial_date_dst_rule(pd_start, pd_end));
31 dst_calc_rule_ptr flr(new first_last_dst_rule(fd_start, ld_end));
32 dst_calc_rule_ptr llr(new last_last_dst_rule(ld_start, ld_end));
33 dst_calc_rule_ptr nlr(new nth_last_dst_rule(nkd_start, ld_end));
34 dst_calc_rule_ptr ndr(new nth_day_of_the_week_in_month_dst_rule(nkd_start, nkd_end));
35
36 std::cout << "Program run successfully" << std::endl;
37
38 return 0;
39 }
40
41 /* Copyright 2001-2005: CrystalClear Software, Inc
42 * http://www.crystalclearsoftware.com
43 *
44 * Subject to the Boost Software License, Version 1.0.
45 * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
46 */
47