RE:Template things

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Fri Oct 23 1998 - 13:01:00 MEST


Christoph,

>------------------------------------------------------------------------
>Limitation: Number of typedef exceed 1000 FILE:arte/ArteTable.hh LINE:115
>Fatal error, exit program. Increase G__MAXTYPEDEF in G__ci.h and recompile
>rootcint
>------------------------------------------------------------------------
>------------------------------------------------------------------------
>Limitation: Function name length overflow
>strlen(reverse_bidirectional_iterator<ArteTableIterator<CDIM>,
>       ArtePointer<CDIM>,ArtePointer<CDIM>&,long>()>79
>FILE:/afs/desy.de/user/b/borg/public/gatetest/include/cintstl/iterator.h
>LINE:219
>------------------------------------------------------------------------
>
>First small question: Can the function name limitation, too, be fixed by
>#define G__MAXNAME 180
>in G__ci.h ?

You can increase G__MAXNAME and G__MAXTYPEDEF in G__ci.h. If you recompile
ROOT/CINT, it should work find. 

Ones that you can not increase easily are G__MAXFUNCPARA and G__ONELINE.
If you change these numbers, old DLLs can not be used. Other macros are
mostly OK to modify.

>P.S.: How can I tell CINT (inside ROOT) to look in a certain directory for
>its includes (e.g. to read the CINT version of iterator.h instead of
>/usr/include/g++/iterator.h) ?

 $ROOTSYS/cint/include and $ROOTSYS/cint/stl directories are defalut 
include pathes for standard include files. If you have $ROOTSYS/cint/stl
directory, cint should look into there. 
But, lately, I'm a bit confused about ROOT's macro search path policy. 
Rene and Fons, will you comment if my answer here is correct?

Masaharu Goto



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