Re: ROOT, CINT and STL

From: mario alemi (Mario.Alemi@cern.ch)
Date: Wed Feb 10 1999 - 12:04:39 MET


On Wed, 10 Feb 1999, Alexander Zvyagin wrote:

> Yes. It is possible [using vector class].
> 
> The idea is that ROOT and CINT should not know 
> anything  about your STL objects. In header files use directive
> "#ifndef __CINT__" (or similar) to hide all STL-parts, and write your 
> own Streamer function(s) for ROOT class(es). You must write also your own 
> functions to get access to STL data members from CINT.

and...

On Tue, 19 May 1998, Masaharu Goto wrote:

M> You need special STL header file sets for cint which is not included in
M> ROOT package now. Copy cint source package and unpack it. There is
M> $CINTSYSDIR/stl directory. Copy that directory as $ROOTSYS/cint/stl. 
M> Then, simply do 'root[0] #include <vector>'. Don't use absolute path. 

M> With above setting, you can use some feature of STL. But not all. You
M> can use array, <vector> and <string> but they are not fast. <list> may
M> work to some extent but very slow. <deque>, <map>, <multimap> do not
M> work yet. Please do not expect too much here.

M> Right now, cint interprets all STL templates. It is nicer if we have
M> precompiled sets of STL containers. 

Now: if I follow the instruction of Masaharu can I skip the 
"#ifndef __CINT__" ? 

Mario Alemi



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:29 MET