...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::date_time::date_itr_base — Base date iterator type.
// In header: <boost/date_time/date_iterator.hpp> template<typename date_type> class date_itr_base { public: // types typedef date_type::duration_type duration_type; typedef date_type value_type; typedef std::input_iterator_tag iterator_category; // construct/copy/destruct date_itr_base(date_type); ~date_itr_base(); // public member functions date_itr_base & operator++() ; date_itr_base & operator--() ; duration_type get_offset(const date_type &) const; duration_type get_neg_offset(const date_type &) const; date_type operator*() ; date_type * operator->() ; bool operator<(const date_type &) ; bool operator<=(const date_type &) ; bool operator>(const date_type &) ; bool operator>=(const date_type &) ; bool operator==(const date_type &) ; bool operator!=(const date_type &) ; };
This class provides the skeleton for the creation of iterators. New and interesting interators can be created by plugging in a new function that derives the next value from the current state. generation of various types of -based information.
Template Parameters
date_type
The date_type is a concrete date_type. The date_type must define a duration_type and a calendar_type.
date_itr_base
public member functionsdate_itr_base & operator++() ;
date_itr_base & operator--() ;
duration_type get_offset(const date_type & current) const;
duration_type get_neg_offset(const date_type & current) const;
date_type operator*() ;
date_type * operator->() ;
bool operator<(const date_type & d) ;
bool operator<=(const date_type & d) ;
bool operator>(const date_type & d) ;
bool operator>=(const date_type & d) ;
bool operator==(const date_type & d) ;
bool operator!=(const date_type & d) ;