Re: [ROOT] Print() collections

From: Valeri Fine (Faine) (fine@bnl.gov)
Date: Fri Mar 16 2001 - 17:04:53 MET


Hi  Anton,   you are wrong at this point.
 
 Please, look up "roottak" archive carefully for further information.
There were plenty of talks there.

  My best regards,
             Valeri

----- Original Message ----- 
From: Anton Fokin <anton.fokin@smartquant.com>
Cc: roottalk <roottalk@pcroot.cern.ch>
Subject: Re: [ROOT] Print() collections


> Nice. Was there a reason to put consts? Does it improve anything except
> making c++ funs happy? It is OK if you introduce non-compatible changes
> which can be easily seen when you recompile your code but in the case of
> const a compiler does not issue any warning on const and non-const
> "overloaded" functions. It is Ok if a user plays with one class and can
> easily see that someting is going wrong at run time. Unfortunately some
> people develop more complex things. 

> 
> /Anton
> 
> 
> http://www.smartquant.com
> 
> 
> ----- Original Message -----
> From: Rene Brun <Rene.Brun@cern.ch>
> To: Anton Fokin <anton.fokin@smartquant.com>
> Cc: roottalk <roottalk@pcroot.cern.ch>
> Sent: Friday, March 16, 2001 2:59 PM
> Subject: Re: [ROOT] Print() collections
> 
> 
> > Anton,
> >
> > That's why we put the changes about Constness as the first item in our
> > release notes for version 3.00/06 that you can find at:
> >
> >    http://root.cern.ch/root/roottalk/roottalk01/0956.html
> >
> > Rene Brun
> >
> > Anton Fokin wrote:
> > >
> > > Ok,
> > >
> > > now I see you've introduced
> > >
> > > TObject::Print(..) const
> > >
> > > so actually I do not overload Print with my old non-const prints...
> which I
> > > have in all my (about hundred of) classes... I also foress that some of
> > > other overloads are not overloads any longer.
> > >
> > > What a mess...
> > >
> > > /Anton
> > >
> > > http://www.smartquant.com
> > >
> > > ----- Original Message -----
> > > From: Rene Brun <Rene.Brun@cern.ch>
> > > To: Anton Fokin <anton.fokin@smartquant.com>
> > > Cc: roottalk <roottalk@pcroot.cern.ch>
> > > Sent: Friday, March 16, 2001 2:34 PM
> > > Subject: Re: [ROOT] Print() collections
> > >
> > > > Hi Anton,
> > > >
> > > > You must be using an old version. TCollection::Print uses an iterator
> > > > and not the macro ForEach.
> > > >
> > > > I take this opportunity to mention again:
> > > >  PLEASE ALWAYS INDICATE WHICH VERSION/OS YOU USE
> > > >
> > > > Rene Brun
> > > >
> > > > Anton Fokin wrote:
> > > > >
> > > > > Hi Rene&Fons,
> > > > >
> > > > > by default TCollection uses
> > > > >
> > > > > this->ForEach(TObject,Print)(option);
> > > > >
> > > > > Thus if you put objects derived from TObject with their own Print()
> > > memeber
> > > > > function you will still get
> > > > >
> > > > > OBJ: TTicker    TTicker A ticker
> > > > > OBJ: TTicker    TTicker A ticker
> > > > > OBJ: TTicker    TTicker A ticker
> > > > > OBJ: TTicker    TTicker A ticker
> > > > > OBJ: TTicker    TTicker A ticker
> > > > >
> > > > > instead of actual Prints.
> > > > >
> > > > > Ticker3  Bloomberg3  Reuter3  NYSE3  CUSIP3
> > > > > Ticker2  Bloomberg2  Reuter2  NYSE2  CUSIP2
> > > > > Ticker5  Bloomberg5  Reuter5  NYSE5  CUSIP5
> > > > > Ticker4  Bloomberg4  Reuter4  NYSE4  CUSIP4
> > > > > Ticker1  Bloomberg1  Reuter1  NYSE1  CUSIP1
> > > > >
> > > > > Is it done on purpose? If not, I propose you use another iterator
> like
> > > > > next() to get things printed correctly.
> > > > >
> > > > > Regards,
> > > > > Anton
> > > > >
> > > > > http://www.smartquant.com
> > > >
> > > >
> >
> >
> 
> 
> 



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:40 MET