#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: 2008-02-27 15:00:24 -0500 (Wed, 27 Feb 2008) $ */ 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