File: ex_calc_rules.xml

package info (click to toggle)
boost1.88 1.88.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 576,932 kB
  • sloc: cpp: 4,149,234; xml: 136,789; ansic: 35,092; python: 33,910; asm: 5,698; sh: 4,604; ada: 1,681; makefile: 1,633; pascal: 1,139; perl: 1,124; sql: 640; yacc: 478; ruby: 271; java: 77; lisp: 24; csh: 6
file content (59 lines) | stat: -rw-r--r-- 2,124 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" 
"../../../tools/boostbook/dtd/boostbook.dtd">

<!-- Copyright (c) 2001-2005 CrystalClear Software, Inc.
     Subject to the Boost Software License, Version 1.0. 
     (See accompanying file LICENSE_1_0.txt or  http://www.boost.org/LICENSE_1_0.txt)
-->

<section id="date_time.examples.calc_rules">
  <title>Daylight Savings Calc Rules</title>

  <para> 
    Example of creating various Daylight Savings Calc Rule objects.
  </para>
  <programlisting>
    <![CDATA[
  /* A simple example for creating various dst_calc_rule instances
   */

  #include "boost/date_time/gregorian/gregorian.hpp"
  #include "boost/date_time/local_time/local_time.hpp"
  #include <iostream>

  int
  main() 
  {
    using namespace boost;
    using namespace local_time;
    using namespace gregorian;

    /***** create the necessary date_generator objects *****/
    // starting generators
    first_day_of_the_week_in_month fd_start(Sunday, May);
    last_day_of_the_week_in_month ld_start(Sunday, May);
    nth_day_of_the_week_in_month nkd_start(nth_day_of_the_week_in_month::third, 
                                           Sunday, May);
    partial_date pd_start(1, May);
    // ending generators
    first_day_of_the_week_in_month fd_end(Sunday, Oct);
    last_day_of_the_week_in_month ld_end(Sunday, Oct);
    nth_day_of_the_week_in_month nkd_end(nth_day_of_the_week_in_month::third, 
                                         Sunday, Oct);
    partial_date pd_end(31, Oct);

    /***** create the various dst_calc_rule objects *****/
    dst_calc_rule_ptr pdr(new partial_date_dst_rule(pd_start, pd_end));
    dst_calc_rule_ptr flr(new first_last_dst_rule(fd_start, ld_end));
    dst_calc_rule_ptr llr(new last_last_dst_rule(ld_start, ld_end));
    dst_calc_rule_ptr nlr(new nth_last_dst_rule(nkd_start, ld_end));
    dst_calc_rule_ptr ndr(new nth_day_of_the_week_in_month_dst_rule(nkd_start, 
                                                                    nkd_end));

    return 0;
  }

    ]]>
  </programlisting>
</section>