From: Paul S. <pa...@st...> - 2002-08-01 13:40:23
|
On Thursday, August 1, 2002, at 02:21 AM, Andrew Green wrote: > > I looked at the Pro 8 headers prior to the release and had anticipated > some problems with the various vector and string implementations that > the new MSL provides, but didn't actually do anything about it. > > A quick workaround that will preserve the semantics ZooLib is = expecting > from the STL -- define _MSL_RAW_ITERATORS in your project's .pch file > (or in zconfig.h for that matter). That will make all iterators be > typedefed pointers, just as they have been up till now. FYI, MetroWerks told me that the best way of handling this would be theTrail.AppendTrail( &*(iDest.begin() + matchUntil), They recommend avoiding _MSL_RAW_ITERATORS except as a quick fix, and=20 politely deprecated my ".base()" workaround. "&*" looks a little strange, but it probably optimizes well. I haven't=20= actually tested this in ZooLib yet but it worked in another project. Thanks for the prebuilt zac. Paul > >> MetroWerks has changed the STL part of MSL (see the release notes for >> the details.) I spent a morning on this one in my company=92s = product >> already this week. >> In ZFileTrail::sTrailFromTo(): >> if (matchUntil < iDest.size()) >> theTrail.AppendTrail((iDest.begin() + = matchUntil).base(), >> iDest.size() - matchUntil); >> >> Adding =93.base()=94 fixes the problem, which seems to involve = getting a >> pointer to data out of an iterator. This shouldn't be necessary and=20= >> the >> |