1 #ifndef DATE_TIME_TIME_ITERATOR_HPP___
2 #define DATE_TIME_TIME_ITERATOR_HPP___
4 /* Copyright (c) 2002,2003 CrystalClear Software, Inc.
5 * Use, modification and distribution is subject to the
6 * Boost Software License, Version 1.0. (See accompanying
7 * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
8 * Author: Jeff Garland, Bart Garst
17 //! Simple time iterator skeleton class
18 template<class time_type
>
21 typedef typename
time_type::time_duration_type time_duration_type
;
22 time_itr(time_type t
, time_duration_type d
) : current_(t
), offset_(d
) {};
23 time_itr
& operator++()
25 current_
= current_
+ offset_
;
28 time_itr
& operator--()
30 current_
= current_
- offset_
;
33 time_type
operator*() {return current_
;};
34 time_type
* operator->() {return ¤t_
;};
35 bool operator< (const time_type
& t
) {return current_
< t
;};
36 bool operator<= (const time_type
& t
) {return current_
<= t
;};
37 bool operator!= (const time_type
& t
) {return current_
!= t
;};
38 bool operator== (const time_type
& t
) {return current_
== t
;};
39 bool operator> (const time_type
& t
) {return current_
> t
;};
40 bool operator>= (const time_type
& t
) {return current_
>= t
;};
44 time_duration_type offset_
;
49 } }//namespace date_time