53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #ifndef DATE_TIME_TIME_ITERATOR_HPP___ | ||
|  | #define DATE_TIME_TIME_ITERATOR_HPP___ | ||
|  | 
 | ||
|  | /* Copyright (c) 2002,2003 CrystalClear Software, Inc. | ||
|  |  * Use, modification and distribution is 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) | ||
|  |  * Author: Jeff Garland, Bart Garst | ||
|  |  * $Date$ | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | namespace boost { | ||
|  | namespace date_time { | ||
|  | 
 | ||
|  | 
 | ||
|  |   //! Simple time iterator skeleton class | ||
|  |   template<class time_type> | ||
|  |   class time_itr { | ||
|  |   public: | ||
|  |     typedef typename time_type::time_duration_type time_duration_type; | ||
|  |     time_itr(time_type t, time_duration_type d) : current_(t), offset_(d) {} | ||
|  |     time_itr& operator++() | ||
|  |     { | ||
|  |       current_ = current_ + offset_; | ||
|  |       return *this; | ||
|  |     } | ||
|  |     time_itr& operator--() | ||
|  |     { | ||
|  |       current_ = current_ - offset_; | ||
|  |       return *this; | ||
|  |     } | ||
|  |     time_type operator*() {return current_;} | ||
|  |     time_type* operator->() {return ¤t_;} | ||
|  |     bool operator<  (const time_type& t) {return current_ < t;} | ||
|  |     bool operator<= (const time_type& t) {return current_ <= t;} | ||
|  |     bool operator!=  (const time_type& t) {return current_ != t;} | ||
|  |     bool operator== (const time_type& t) {return current_ == t;} | ||
|  |     bool operator>  (const time_type& t) {return current_ > t;} | ||
|  |     bool operator>= (const time_type& t) {return current_ >= t;} | ||
|  | 
 | ||
|  |   private: | ||
|  |     time_type current_; | ||
|  |     time_duration_type offset_; | ||
|  |   }; | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | } }//namespace date_time | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif |