Merge branch 'dev-smartif-use' into 'master'
Provide (and use) C++11 smart pointer 'look and feel' for SmartIF The aim of this branch is to confine, for everything that inherits from IInterface, the calls to addRef(), release() and queryInterface() to the SmartIF implementation. Exceptions are a few places where interfaces (currently) return bare pointers (instead of SmartIF...) and where one thus has to addRef() explicitly to avoid returning a dangling pointer. This can be avoided by changing the relevant interface to return a SmartIF instead of a bare pointer. In addition, make SmartIF 'look and feel' like a smart pointer. - use explict bool conversion instead of .isValid() - add SmartIF::as<IFace>(), to return a SmartIF<IFace> to an alternate interface -- which (together with move) encourages the use of auto - add ISvcLocator::as<IFace>(), to return a SmartIF<IFace> to the current ISvcLocator. - add ServiceManager::service<IFace>() which return SmartIF<IFace> which encourages the use of auto And add a few other C++11 modernizations (eg. prefer STL over raw loop) Fixes GAUDI-1094 See merge request !24
Showing
- .gitignore 1 addition, 0 deletions.gitignore
- GaudiAlg/GaudiAlg/GaudiCommon.h 3 additions, 3 deletionsGaudiAlg/GaudiAlg/GaudiCommon.h
- GaudiAlg/GaudiAlg/GaudiCommonImp.h 3 additions, 3 deletionsGaudiAlg/GaudiAlg/GaudiCommonImp.h
- GaudiAlg/GaudiAlg/Tuple.h 7 additions, 6 deletionsGaudiAlg/GaudiAlg/Tuple.h
- GaudiAlg/src/components/TimingAuditor.cpp 21 additions, 24 deletionsGaudiAlg/src/components/TimingAuditor.cpp
- GaudiAlg/src/lib/GaudiAlgorithm.cpp 1 addition, 1 deletionGaudiAlg/src/lib/GaudiAlgorithm.cpp
- GaudiAlg/src/lib/GaudiCommon.icpp 11 additions, 15 deletionsGaudiAlg/src/lib/GaudiCommon.icpp
- GaudiAlg/src/lib/GaudiSequencer.cpp 5 additions, 7 deletionsGaudiAlg/src/lib/GaudiSequencer.cpp
- GaudiAlg/src/lib/Sequencer.cpp 28 additions, 28 deletionsGaudiAlg/src/lib/Sequencer.cpp
- GaudiAlg/src/lib/Tuple.cpp 0 additions, 44 deletionsGaudiAlg/src/lib/Tuple.cpp
- GaudiAud/src/AlgContextAuditor.cpp 3 additions, 12 deletionsGaudiAud/src/AlgContextAuditor.cpp
- GaudiAud/src/AlgContextAuditor.h 13 additions, 14 deletionsGaudiAud/src/AlgContextAuditor.h
- GaudiCommonSvc/src/AlgContextSvc.cpp 6 additions, 14 deletionsGaudiCommonSvc/src/AlgContextSvc.cpp
- GaudiCommonSvc/src/AlgContextSvc.h 1 addition, 1 deletionGaudiCommonSvc/src/AlgContextSvc.h
- GaudiCommonSvc/src/AuditorSvc.cpp 9 additions, 19 deletionsGaudiCommonSvc/src/AuditorSvc.cpp
- GaudiCommonSvc/src/AuditorSvc.h 3 additions, 3 deletionsGaudiCommonSvc/src/AuditorSvc.h
- GaudiCommonSvc/src/ChronoStatSvc.cpp 2 additions, 2 deletionsGaudiCommonSvc/src/ChronoStatSvc.cpp
- GaudiCommonSvc/src/CounterSvc.cpp 1 addition, 0 deletionsGaudiCommonSvc/src/CounterSvc.cpp
- GaudiCommonSvc/src/DataSvc/EvtDataSvc.cpp 1 addition, 2 deletionsGaudiCommonSvc/src/DataSvc/EvtDataSvc.cpp
- GaudiCommonSvc/src/DataSvc/MultiStoreSvc.cpp 27 additions, 47 deletionsGaudiCommonSvc/src/DataSvc/MultiStoreSvc.cpp
Loading
Please register or sign in to comment