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
 |