Re: [ROOT] Root Conflicts with Windows

From: Matthew D. Langston (langston@SLAC.stanford.edu)
Date: Tue Sep 26 2000 - 19:56:40 MEST


Hi George,

Your statement is not entirely correct.

If one uses namespaces properly, then only one header file would have to
change.  For example, putting the following two lines into a project's
configuration file (or a custom, per project version of RConfig.h, for
example) is all that is required for a user to use a namespace-enabled
version of ROOT without having to change a single line of code in any user's
file:

namespace ROOT = ROOT_2_25_03;
using namespace ROOT;

Please don't scare user's with statements like "many hundreds of header
files, many in production code, which would break if this was done".  Your
statement is simply not true (unless you haven't bothered to learn about how
to use namespaces).

Moving ROOT into a unique namespace is mild work for the ROOT Team, with
practically zero impact for the end user *unless* the end user wants to take
advantage of namespaces.  The cure, IMHO, is not only much better than the
disease, it also promotes good health :-)

Regards, Matt

----- Original Message -----
From: "George Heintzelman" <georgeh@sparrowhawk.chm.bnl.gov>
To: "Matthew D. Langston" <langston@SLAC.Stanford.EDU>;
<roottalk@pcroot.cern.ch>
Sent: Tuesday, September 26, 2000 9:44 AM
Subject: Re: [ROOT] Root Conflicts with Windows


>
> > The ROOT libraries really should be in their own namespace.  All of the
> > compilers which you provide binaries for support namespaces, do they
not?
> >
> > I occasionally, but consistently,  run into namepsace conflicts too.  In
my
> > own case it is not with system libraries, but with third party libraries
> > (i.e. user code).
> >
> > Why not put each release of ROOT into a separate namespace, i.e.
> >
> > namespace ROOT_2_25_03
> > {
> >    ...
> > }
>
> I ordinarily would support this. There's one problem, though. There are
> many hundreds of header files, many in production code, which would
> break if this was done without also adding to every root header file
> the line:
>
> using namespace ROOT_2_25_03;
>
> or whatever. And in that case, IMHO, the cure is worse than the disease.
>
> I would support making this kind of change requiring significant
> changes to user code in a hypothetical Root 3.0.
>
> George Heintzelman
> gah@bnl.gov
>
>
>
>



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:33 MET