Allow ACLiC to use a flat directory structure when a build directory is specified.
To use a flat structure do:
gSystem->SetBuildDir(whereIwant, kTRUE); // the default for the 2nd parameter is kFALSE
Or use '-' in the option of CompileMacro
gSystem->CompileMacro(myscript,"k-",...);
Meta
Implement polymorphism for Emulated object (still not supporting polymorphism
of Emulated Object inheriting from compiled class).
This avoids memory leaks when the user data model relies on polymorphism
and does not the shared library defining the classes theand avoid splicing if the data is copied.
TStreamerInfo::New inserts the address of the creating TStreamerInfo into
the object. This address is inserted in each emulated that does not inherit
from an emulated class and is positioned after all the base classes (which
are compiled classes). A derived class will set this value inside each
of its emulated base class. TStreamerInfo::Destruct and the new method TStreamerInfo::GetActualClass
use this information to detect the TStreamerInfo actually used to create
the object and hence run the proper emulated destructor.
Cont
New functions for TClonesArray:
AbsorbObjects(TClonesArray* otherTCA):
Allows one to directly move the object pointers from otherTCA to the calling
TCA without cloning (copying). The calling TCA takes over ownership of all of
the moved objects. otherTCA is left empty upon return.
MultiSort(Int_t nTCs, TClonesArray** tcs):
Sorts multiple TClonesArrays simultaneously using the calling TCA's objects
as the sorting key.
New function for TSeqCollection:
QSort(Object **a, Int_t nBs, TObject ***b):
Sort array a of TObject pointers using a quicksort algorithm. Arrays b will
be sorted just like a (a determines the sort; nBs is the number of TObject**
arrays in b). Uses ObjCompare() to compare objects. This function is used by
the new function TClonesArray::MultiSort().