From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8eff44ec1bcf8433 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-18 02:04:03 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!opentransit.net!proxad.net!feeder2-1.proxad.net!news2-2.free.fr!not-for-mail Message-ID: <3BCE9ACE.40B6BC3D@free.fr> Date: Thu, 18 Oct 2001 11:03:10 +0200 From: Jean-Marc Bourguet X-Mailer: Mozilla 4.78 [en] (X11; U; SunOS 5.7 sun4u) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Container reqs References: <9qctpn$lil$1@news.huji.ac.il> <3BCC01B1.18C18C98@free.fr> <3BCC6CB7.20BAA30D@boeing.com> <3BCD2EC3.3B3C4498@free.fr> <3BCD91D9.C77668AA@free.fr> <8ghz7.32783$ev2.39537@www.newsranger.com> <3BCDB29B.EBD01D8C@free.fr> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Organization: Guest of ProXad - France NNTP-Posting-Date: 18 Oct 2001 11:04:02 MEST NNTP-Posting-Host: 158.140.208.29 X-Trace: 1003395842 news2-2.free.fr 2309 158.140.208.29 X-Complaints-To: abuse@proxad.net Xref: archiver1.google.com comp.lang.ada:14869 Date: 2001-10-18T11:04:02+02:00 List-Id: Lutz Donnerhacke wrote: > > * Jean-Marc Bourguet wrote: > >But I don't think it is a good argument in favor of working hard and > >complexifying the library in order to be able to modify a tree from > >several tasks using shared iterators. > > Multiple tasks modifying the same data structure simultanously is a common > requirement for any larger application. Yes but in my experience * the data structure is often more complex than a simple container, so you need synchronization from outside the container and you need to encapsulate the whole data structure to provide the wanted interface * the set of modifying operations allowed is often restricted so you need encapsulate the data structure not to expose implementation details. My conclusion was that it is not needed to complexify the library to provide a synchronization which will often be also provided from the user. The only exception I've met where none of these two points did hold is a queue. -- Jean-Marc