PageRenderTime 15ms CodeModel.GetById 8ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/date_time/gregorian/greg_duration_types.hpp

http://hadesmem.googlecode.com/
C++ Header | 43 lines | 26 code | 10 blank | 7 comment | 0 complexity | 66c0ab6b5eca915f467965214e09dbc9 MD5 | raw file
 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: 2008-11-13 06:37:53 +1100 (Thu, 13 Nov 2008) $
 9 */
10
11
12#include <boost/date_time/gregorian/greg_date.hpp>
13#include <boost/date_time/int_adapter.hpp>
14#include <boost/date_time/adjust_functors.hpp>
15#include <boost/date_time/date_duration_types.hpp>
16#include <boost/date_time/gregorian/greg_duration.hpp>
17
18namespace boost {
19namespace gregorian {
20
21  //! config struct for additional duration types (ie months_duration<> & years_duration<>)
22  struct greg_durations_config {
23    typedef date date_type;
24    typedef date_time::int_adapter<int> int_rep;
25    typedef date_time::month_functor<date_type> month_adjustor_type; 
26  };
27
28  typedef date_time::months_duration<greg_durations_config> months;
29  typedef date_time::years_duration<greg_durations_config> years;
30
31  class weeks_duration : public date_duration {
32  public:
33    weeks_duration(duration_rep w) 
34      : date_duration(w * 7) {}
35    weeks_duration(date_time::special_values sv) 
36      : date_duration(sv) {}
37  };
38
39  typedef weeks_duration weeks;
40
41}} // namespace boost::gregorian
42
43#endif // GREG_DURATION_TYPES_HPP___