From: Warren Young Date: September 19 2005 7:51pm Subject: Re: [patch] row::operator[] - template version List-Archive: http://lists.mysql.com/plusplus/4958 Message-Id: <432F16CA.6090902@etr-usa.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Warren Young wrote: > > I have tested it on both g++ on Linux and VC++ 7.1 on Windows, and it > seems to work. I overlooked the fact that this will break the ABI, while the other patch will not. Rather than endorse the other one, which I really don't like, I'm now in favor of putting this on the v3.0 wishlist, where we can break the ABI at will. A solution we shouldn't overlook is simply changing the SizeType definition at the const_subscript_iterator level to 'int'. Negative subscripts don't make sense, but the range checking in vector::at() will take care of this. Then we don't need ugly overloads, and can avoid the risks pps brought up.