
On Sun, 26 Mar 2006 22:25:13 +0000 (UTC), george wrote
template<class point_rep, class duration_rep> inline void period<point_rep,duration_rep>::expand(const duration_rep& d) { begin_ = begin_ - d; last_ = last_ + d; }
Jeff
thanks Jeff,nice patch. but if I want period to get smaller? I have to go with a tmp period object? are you planing to add a method for this also?
I don't want to play with boost::date_time and do it by myself becouse the source will be open to others and I want to use the 'standard' boost. this patch will be in 1.34?
Well, you could write a 'contract' method. However, contract is much more dangerous in that there is the possibility of making an ill formed period. I'd stick with the temporary object approach -- you can easily write this into your own little functions that hide the details. Something like this: date_period contract(const date_period& dp, days len) { if (dp.length() < len) { //handle errors here -- after contraction nothing is left... } return date_period(dp.start() + len, dp.end()-len); } In use: date_period dp(....); dp = contract(dp, days(2)); expand won't be in 1.34 b/c we've already had a feature freeze. For now you could trivially write the expand as I'm suggesting above. Jeff