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-16 04:38:13 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!newsfeed.icl.net!opentransit.net!wanadoo.fr!proxad.net!feeder2-1.proxad.net!news1-2.free.fr!not-for-mail Message-ID: <3BCC1BEE.99169F8B@free.fr> Date: Tue, 16 Oct 2001 13:37:18 +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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Organization: Guest of ProXad - France NNTP-Posting-Date: 16 Oct 2001 13:38:12 MEST NNTP-Posting-Host: 158.140.208.29 X-Trace: 1003232292 news1-2.free.fr 210 158.140.208.29 X-Complaints-To: abuse@proxad.net Xref: archiver1.google.com comp.lang.ada:14654 Date: 2001-10-16T13:38:12+02:00 List-Id: Ehud Lamm wrote: > > Let's try to make a list of req the Ada community in general can agree on, > and than see which of the existing libraries is closest and concentrate on > that. * the library should have an organisation which make it extensible; * for one ADT, it should be possible to choose between several implementations (say an hash table or a red black tree for the ADT dictionnary); * if several ADT are using the same implementation (say a stack and a queue provided over singly linked lists), it should be possible to share the implementation package; * I prefer the STL way over the Booch components one, ie all iterators provide the same interface but are not overwise related (the same would hold for the dictionnary packages). * the container types should be limited (one can always provides a clone function if needed). * the contained types should not be limited (one can always provides a standard wrapper for limited types) * the save iterators should be provided (that is iterator not silently invalidated like in the STL) and be the default if unsave iterators are also provided; * I prefer using a single iterators instead of the double iterators of the STL; A possible organisation which provides the first two points is to have the packages providing abstract data type be childs of packages providing concrete data type. Yours, -- Jean-Marc