|
RE: Date_Time library question...: msg#00321lib.boost.user
Hi Luc - > I was wondering, while looking at the source files, why the > date_iterator doesn't provide an operator--() ??? A couple reasons. 1) I wasn't sure it would be needed, so to keep things simple I left it out. 2) See below... > I've added this in the "date_iterator.hpp" file : > > //--------------------------------------------------------- > date_itr_base& operator--() > { > current_ = current_ - get_offset(current_); > return *this; > } > //--------------------------------------------------------- > > I've rebuilt the library and done this little test : > > //--------------------------------------------------------- > #include <iostream> > #include <boost/date_time/gregorian/gregorian.hpp> > > int main(void) > { > using namespace boost::gregorian; > > date today = day_clock::local_day(); > day_iterator ditr(today, 1); > int nbDaysToIterate = 360; > > for (;nbDaysToIterate != 0; --ditr, --nbDaysToIterate) > { > std::cout << to_iso_extended_string(*ditr) << std::endl; > } > } > //--------------------------------------------------------- > > Everything seems to run OK. I've checked the february month and it has a > 28th... Now I wonder why wasn't it included in the release ??? It's true that this works fine for the day_iterator. If you try the same test with the month and year iterators, they will fail. The reason being that the functors that calculate 'add a month' and 'add a year' are written assuming a forward iterator. That's not to say that they couldn't be modified to support bi-directional iteration, just that it is a tad harder in these cases. Jeff ------------------------ Yahoo! Groups Sponsor ---------------------~--> Get 128 Bit SSL Encryption! http://us.click.yahoo.com/CBxunD/vN2EAA/xGHJAA/EbFolB/TM ---------------------------------------------------------------------~-> Info: <http://www.boost.org> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> Unsubscribe: <mailto:boost-users-unsubscribe@xxxxxxxxxxxxxxx> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Using function_traits: 00321, John Maddock |
|---|---|
| Next by Date: | boost::iterator_adaptor: 00321, Julia Donawald |
| Previous by Thread: | Date_Time library question...i: 00321, Luc Bergeron |
| Next by Thread: | max, min, VC++6 and 7: 00321, soulofsealion |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |