Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 24 Jun 2011 06:37:32 -0500 From: Pete Becker Organization: Roundhouse Consulting, Ltd. Newsgroups: comp.lang.c++ Date: Fri, 24 Jun 2011 07:37:32 -0400 Message-ID: <2011062407373255925-pete@versatilecodingcom> References: <2879c8f0-969f-4ecb-8da8-86874b949168@t38g2000prj.googlegroups.com> <67239772-4eef-4db5-be19-01a792194bb2@c41g2000yqm.googlegroups.com> <81290455-6ea3-49ed-8809-e6aa59fcf8c0@gv8g2000vbb.googlegroups.com> <1fe9003e-9a7b-4be0-a0ba-009803b9938a@j13g2000pro.googlegroups.com> <3c2fc00f-c7e2-45ae-92be-532809b17218@16g2000yqy.googlegroups.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: Fast swapping of STL containers User-Agent: Unison/2.1.4 Lines: 25 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-PIopOWOSw8LDek7hXk5p3Ep4R5SCDQrU+dZnh29Iebt1w42SPf/45oatThuzhW5oGSdpP9NWUxpd3uS!jQKMbwarO+tzakjylvRmCngHb5/vGNFILLAcsWgSRM3JxFITHX/OigmsgGYrD59qlci2hkaS X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2198 Xref: x330-a1.tempe.blueboxinc.net comp.lang.c++:7117 On 2011-06-24 07:01:48 -0400, gwowen said: > On Jun 24, 11:30 am, ittium wrote: >> On Jun 24, 3:26 pm, gwowen wrote: >> >>> On Jun 24, 6:49 am, Rune Allnor wrote: >> >>>> Why? For this particular task or in general? >> >>> Because you can't guarantee an O(1) std::swap. >> >> For other containers can you guarantee O(1) swap. > > Amortized O(1), yes. See http://www.sgi.com/tech/stl/Container.html > (footnote [9] in particular). I don't see where this mentions *amortized* O(1). There's nothing to amortize; swap for containers other than array is O(1). -- Pete Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The Standard C++ Library Extensions: a Tutorial and Reference (www.petebecker.com/tr1book)