[comp.lang.c++] C++ basic libraries

devarenn@aar.alcatel-alsthom.fr (Agnes Devarenne) (04/22/91)

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...)?

Thanks in advance for any comment.

*===============================================================*
*                                                               *
*  Agnes Devarenne                                              *
*                                                               *
*       Alcatel-Alsthom Recherche
*       Route de Nozay,                                         *
*           91460 MARCOUSSIS    FRANCE                 		*
*								*
* Tel. : (33) (1) 64.49.17.71,                                  *
* mail : devarenn@aar.alcatel-alsthom.fr
*===============================================================*
* Sometimes a cigar is just a cigar                             *
*                                  (S. Freud)                   *
*===============================================================*



-- 
*===============================================================*
*                                                               *
*  Agnes Devarenne                                              *
*                                                               *

laborell@mimosa.unice.fr (Louis Laborelli) (04/24/91)

Bonjour, In article <1991Apr22.122217.486@aar.alcatel-alsthom.fr>, devarenn@aar.alcatel-alsthom.fr (Agnes Devarenne) 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...)?
|> 
|> Thanks in advance for any comment.

Je ne connais pas Tools et Classix .Ce sont des produits commerciaux ? 
( je crois me souvenir d'une librairie de methodes numeriques simples 
nomme rogue . ( Matrices , fft...))
J'ai surtout utilise depuis deux ans libg++ , pour les structures de donnees . 
Ca marche a peu pres bien , (les bugs sont en faible nombre et repertoriees dans gnu.libg++.bugs)
C'est toutefois assez dur a utiliser . (il faut generer de nombreuses methodes , modifier a la main certains fichiers ...).
Je peux me tromper mais mais je n'ai pas reussi a avoir plusieurs instanciations generiques d'un ensemble  avec le meme code . De ce fait , ca devient vite gigantesque . 
J'attend avec impatience les templates....
efficacite : bonne , sauf pour certaines operations , et ce n'est que peu documente . 
Le probleme de la documentation est important , car on ne sait pas trop si on a droit de tout faire ( par exemple entrelacer des operations de parcours et d'ajout )
NIH n'etait pas documente il ya deux ans..donc...
Il faut aussi considerer ET++ qui possede plusieurs structures de donnees.
Je travaille avec libg++ et InterViews.



-- 
 Louis Laborelli

 Universite de Nice Sophia Antipolis  / phone: (33) 92 94 26 89	       
 I3S LISAN - CNRS Batiment 4          \	telex: GRP 970006F
 250 rue Albert Einstein	      / fax: (33) 92 94 28 98
 Sophia Antipolis	              \ e-mail:laborell@zig.inria.fr
 06560 Valbonne FRANCE                / or laborell@mimosa.unice.fr

rmartin@clear.com (Bob Martin) (04/25/91)

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

balden@wimsey.bc.ca (Bruce Balden) (04/28/91)

Here follows an interlinear translation of Louis Laborelli's useful comments
on libg++ and other related stuff, which, however, American and Canadian
readers may not fully understand in the French language.
In article <77@taloa.unice.fr> laborell@mimosa.unice.fr (Louis Laborelli) writes:
>Bonjour, In article <1991Apr22.122217.486@aar.alcatel-alsthom.fr>, devarenn@aar.alcatel-alsthom.fr (Agnes Devarenne) 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...)?
>Je ne connais pas Tools et Classix .Ce sont des produits commerciaux ? 
I'm not familiar with Tools or Classix (are these commercial products?)

>( je crois me souvenir d'une librairie de methodes numeriques simples 
>nomme rogue . ( Matrices , fft...))
I seem to remember a library of simple numerical methods
called rogue (matrices, fft, etc.)
>J'ai surtout utilise depuis deux ans libg++ , pour les structures de donnees . 
The library I've used most over the past two years is libg++, for
data structures.
>Ca marche a peu pres bien , (les bugs sont en faible nombre et repertoriees dans gnu.libg++.bugs)
It works more or less well; its bugs are few in number and
reported in gnu.libg++.bugs.
>C'est toutefois assez dur a utiliser . (il faut generer de nombreuses methodes , modifier a la main certains fichiers ...).
It is nevertheless rather difficult to use (you have to generate many
methods and modify certain files by hand)
>Je peux me tromper mais mais je n'ai pas reussi a avoir plusieurs instanciations generiques d'un ensemble  avec le meme code . De ce fait , ca devient vite gigantesque . 
I could be making a mistake, but I've not succeeded in making multiple 
instantiations of the same generic type share code. Because of this fact,
the code quickly mushrooms in size.
>J'attend avec impatience les templates....
I impatiently await templates ...
>efficacite : bonne , sauf pour certaines operations , et ce n'est que peu documente . 
Efficiency: good, except for certain operations, and its only
a little documented.
>Le probleme de la documentation est important , car on ne sait pas trop si on a droit de tout faire ( par exemple entrelacer des operations de parcours et d'ajout )
The lack of documentation is serious, because one never sure how methods are
going to interact (for example, interleaving the operations of traversal
and adding [to a tree]).
>NIH n'etait pas documente il ya deux ans..donc...
NIH was not decoumented two years ago, hence...
>Il faut aussi considerer ET++ qui possede plusieurs structures de donnees.
You should consider ET++ which has many data structure [classes].
>Je travaille avec libg++ et InterViews.
I have worked with libg++ and Interviews.
> Louis Laborelli
> Universite de Nice Sophia Antipolis  / phone: (33) 92 94 26 89	       
> I3S LISAN - CNRS Batiment 4          \	telex: GRP 970006F
> 250 rue Albert Einstein	      / fax: (33) 92 94 28 98
> Sophia Antipolis	              \ e-mail:laborell@zig.inria.fr
> 06560 Valbonne FRANCE                / or laborell@mimosa.unice.fr
-- 
*******************************************************************************
*	Bruce E. Balden	    		Computer Signal Corporation Canada    *
*	Thaumaturgist			225B Evergreen Drive		      *
*	balden@xenophon.wimsey.bc.ca	Port Moody, B.C. V3H 1S1     CANADA   *