Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!samsung!usc!zaphod.mps.ohio-state.edu!casbah.acns.nwu.edu!nucsrl!tellab5!balr!clrcom!rmartin From: rmartin@clear.com (Bob Martin) Newsgroups: comp.lang.c++ Subject: Re: C++ basic libraries Summary: (A Classix user's comments.) Keywords: libraries Message-ID: <1991Apr25.123223.20675@clear.com> Date: 25 Apr 91 12:32:23 GMT References: <1991Apr22.122217.486@aar.alcatel-alsthom.fr> Organization: Clear Communications, Inc. Lines: 51 In article <1991Apr22.122217.486@aar.alcatel-alsthom.fr> devarenn@aar.alcatel-alsthom.fr () writes: >We are starting an important development in C++ and we are looking >for basic libraries : sets, bags, collections, Btrees, stacks, lists... > >We have presently four candidates: >- NIHCL >- Tools.h from RogueWave >- Classix.h from Classix >- the gnu one > >Has anyone ever used these libraries? What do you know about them >(efficiency, reusability, flexibility, bugs...)? I have been a user of Classix for a few months now. The library consists of simple basics, and so far everything I have tried works. Furthermore the library is concise and doesn't add a megabyte to my executables like NIHCL did. The classes are easy to use and reasonably complete.. I have had the following problems: The string class could be better. NIHCL's is much better. Classix string class has no converter from String to char*. You have to derive your own class if you want it. Also substrings are not supported. Although they claim to have a "parameterizing" utility which will convert their generic container classes into specific container classes, they have delayed shipment of this utility. It has been several months since I placed my order and I still have not received it. The DATUM concept is a bit week. First of all the type name DATUM conflicts with another 3rd party package the I am using, so I was forced to change DATUM to CDatum. Secondly I have declared CDatum to be void*. THis allows me general access to the container classes but since void* has no meaningful comparison operators the "sorted" classes which depend on object comparisons aren't worth much. Finally they used the type `Node' as a subtype in the tree classes. This conflicts with some of my own code which also declared a type `Node', so I had to change their source to use a less common name. I am using their library, and I think I will be a bit happier when I can parameterize the container classes properly. Right now its slim-pickin's out there and we have to use what's available. THE INDUSTRY NEEDS TO DEVELOP SOME LIBRARY STANDARDS like an IC data book. -- Path: clrcom!balr!tellab5!laidbak!ism.isc.com!ispd-newsserver!rpi!zaphod.mps.ohio-state.edu!mips!apple!tahoe!jimi!arrakis!niobium From: niobium@nevada.edu (Christopher W. Carlson) Newsgroups: comp.sys.amiga.datacomm Subject: Re: Fixing NiftyTerm to use SHARED mode on serial.device