Re: ROOT, CINT and STL

mario alemi (Mario.Alemi@cern.ch)
Wed, 10 Feb 1999 12:04:39 +0100 (CET)


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