
On Sun, 29 Mar 2009 16:33:14 -0500, Larry Evans <cppljevans@suddenlink.net> wrote:
On 03/29/09 14:35, Steven Watanabe wrote: [snip]
what's the rationale for vector0::lower_bound_::value == 32768 push_front decreases lower_bound_, and the lower_bound_ needs to stay positive. the lower_bound_ in vector zero needs to be fairly high to avoid problems. There is no reason why it has to be exactly 32768.
OK. That's what I initially thought, i.e. it has to be positive; however, I'm wondering if that's true. What would happen if it it were zero? I know the v_item<_,_1> uses prior; however, I don't see how that would cause a problem. After all, the static item_ function only requires some type which just happens to be, in the current implementation, an instance of long_, but why couldn't there be an item_<long_<-1> >? Is there some other piece of code that requires a positive index_?
This might be a historic artifact at this point. It's easy enough to verify: just change it to go negative and run the tests :).
at_front indicates whether to use push_front or push_back. It's really a bool not an int.
I understand; however, I really just wanted to know why the items could be added from the front instead of the back.
It makes vector a more versatile sequence at almost no cost, thus helping to avoid proliferation of different types of sequences user has to chose from. HTH, -- Aleksey Gurtovoy MetaCommunications Engineering