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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,dba6154e2cfb68a5 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-21 16:08:31 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!nntp.flash.net!news-out.visi.com!hermes.visi.com!nnxp1.twtelecom.net!news-east.rr.com!news-west.rr.com!sn-xit-06!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: "Matthew Heaney" Newsgroups: comp.lang.ada Subject: Re: component libraries Date: Thu, 21 Feb 2002 19:13:38 -0500 Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Complaints-To: newsabuse@supernews.com Xref: archiver1.google.com comp.lang.ada:20235 Date: 2002-02-21T19:13:38-05:00 List-Id: "Matthew Heaney" wrote in message news:u75uk4emkto526@corp.supernews.com... > Actually, I just released an alpha version of "charles", a data structure > library based on the C++ STL. The library includes lists (monolithic), > unbounded arrays, sets, multisets, maps, and multimaps. > > I sent it to David B but he hasn't hosted it at adapower yet. If you're > interested, I can send you a zip file directly. I just posted this on my (very minimal) home page at Earthlink: http://home.earthlink.net/~matthewjheaney/charles-20020213.zip Below is a copy of the readme. Charles Data Structure Library 2002/02/13 Charles is a data structure and algorithm library for Ada95, modeled on the C++ STL. This is an alpha release, so it is not done. The purpose of this release is to solicit comment from the Ada community. A list of packages is included below. Try using some of them, and please drop me a line if you have any questions. I have only a single algorithm (quicksort) done. More are on the way. I wanted to get a minimal subset of data structures done first. You can reach me at the following email address: If you have any opinions (positive or negative) about the direction I have taken with the library, please let me know. If you're interested in doing some work on the library, let me know. I haven't put headers or anything in the files yet. For now I'll release them using the GNAT Modified GPL license. Thanks, Matt charles The root of the subsystem. charles-access_control Implements the equivalent of the C++ auto_ptr class. charles-unbounded_lists charles-bounded_lists charles-limited_bounded_lists charles-limited_unbounded_lists Implements a container optimized for constant-time insertion and removal (a monolithic doubly-linked list). charles-unbounded_lists-generic_quicksort Stable sort of an unbounded list. I still need to add this for the bounded form. charles-unbounded_arrays charles-limited_unbounded_arrays Like an STL vector. Still need bounded form. charles-unbounded_arrays-generic_modification charles-unbounded_arrays-generic_selection Passive iterators. charles-bounded_sets charles-unbounded_sets Stores items that are their own key. charles-bounded_maps charles-unbounded_maps charles-limited_bounded_maps charles-limited_unbounded_maps Associates a key with a value. charles-unbounded_indefinite_maps charles-unbounded_indefinite_sets A bit of an experiment. To allow a client to use an indefinite type (e.g. String) as the key. Let me know what you think. If there's interest we can provide the other forms. charles-bounded_multisets charles-unbounded_multisets A set that accetps duplicate keys. charles-bounded_multimaps charles-unbounded_multimaps charles-limited_bounded_multimaps charles-limited_unbounded_multimaps A map that accepts duplicate keys. charles-default_pools charles-default_pools-objects Provides a pool type and a pool object you can use to instantiate unbounded forms. (Right now the type is implemented as a derivation of GNAT.Debug_Pools.) charles-double_lists Doubly-linked list used to implement list containers. charles-red_black_trees Red-black tree used to implement sets and maps. charles-dynamic_pools charles-static_pools Examples of types that derive from Root_Storage_Pool. charles-generic_quicksort Generic sort algorithm that accepts random-access iterators. integer_lists.ads unbounded_string_maps.ads Examples of instantiation.