44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #ifndef GREG_DURATION_TYPES_HPP___
 | |
| #define GREG_DURATION_TYPES_HPP___
 | |
|                                                                                 
 | |
| /* Copyright (c) 2004 CrystalClear Software, Inc.
 | |
|  * Subject to Boost Software License, Version 1.0. (See accompanying
 | |
|  * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 | |
|  * Author: Jeff Garland, Bart Garst
 | |
|  * $Date$
 | |
|  */
 | |
| 
 | |
| 
 | |
| #include <boost/date_time/gregorian/greg_date.hpp>
 | |
| #include <boost/date_time/int_adapter.hpp>
 | |
| #include <boost/date_time/adjust_functors.hpp>
 | |
| #include <boost/date_time/date_duration_types.hpp>
 | |
| #include <boost/date_time/gregorian/greg_duration.hpp>
 | |
| 
 | |
| namespace boost {
 | |
| namespace gregorian {
 | |
| 
 | |
|   //! config struct for additional duration types (ie months_duration<> & years_duration<>)
 | |
|   struct greg_durations_config {
 | |
|     typedef date date_type;
 | |
|     typedef date_time::int_adapter<int> int_rep;
 | |
|     typedef date_time::month_functor<date_type> month_adjustor_type; 
 | |
|   };
 | |
| 
 | |
|   typedef date_time::months_duration<greg_durations_config> months;
 | |
|   typedef date_time::years_duration<greg_durations_config> years;
 | |
| 
 | |
|   class weeks_duration : public date_duration {
 | |
|   public:
 | |
|     weeks_duration(duration_rep w) 
 | |
|       : date_duration(w * 7) {}
 | |
|     weeks_duration(date_time::special_values sv) 
 | |
|       : date_duration(sv) {}
 | |
|   };
 | |
| 
 | |
|   typedef weeks_duration weeks;
 | |
| 
 | |
| }} // namespace boost::gregorian
 | |
| 
 | |
| #endif // GREG_DURATION_TYPES_HPP___
 | 
