Actions
Feature #276
closedPointer to extension structure
Responsible:
Description
To help with maintaining binary compatibility for future patch releases of a given main release, add a pointer to an extension data structure to THaAnalysisObject. By default, this is a null pointer. If a bug fix or new feature in a certain class requires new data members (something which happens rather often), its constructor would allocate a structure containing those data members. They would be accessed like
MyDetectorExtraData* ex = static_cast<MyDetectorExtraData*>(fExtra); if( ex->fSomeData > 0 ) // do something
The
fExtra pointer should be to some kind of "extra data" base class that offers a minimal common API, e.g. to find out the stucture's size, stream the info etc. Maybe it is easiest to let the base class just be TObject.
Updated by Ole Hansen over 7 years ago
- Status changed from New to Closed
- Start date set to 03/07/2018
- % Done changed from 0 to 100
Implemented for THaAnalysisObject, THaAnalyzer, THaRunBase and THaOutput in commit f1c2db6
Actions