![]() |
ATLAS Offline Software
|
Helpers for calling TP converters. More...
#include "TPTools/ITPConverter.h"#include "GaudiKernel/MsgStream.h"#include <memory>#include <type_traits>Go to the source code of this file.
Namespaces | |
| namespace | EventContainers |
| namespace | AthenaPoolCnvSvc |
Functions | |
| template<class TPCNV, typename std::enable_if_t< std::is_base_of_v< ITPConverter, TPCNV > > * = nullptr> | |
| std::unique_ptr< typename TPCNV::Pers_t > | AthenaPoolCnvSvc::createPersistent (TPCNV &cnv, const typename TPCNV::Trans_t *transObj, const std::string &key, MsgStream &log) |
| Create a persistent object from a transient object. | |
| template<class TPCNV, typename std::enable_if_t< std::is_base_of_v< ITPConverter, TPCNV > > * = nullptr> | |
| std::unique_ptr< typename TPCNV::Trans_t > | AthenaPoolCnvSvc::createTransient (TPCNV &cnv, const typename TPCNV::Pers_t *persObj, const std::string &key, MsgStream &log) |
| Create a transient object from a persistent object. | |
Helpers for calling TP converters.
This file providers two helpers for calling TP converters from the templated pool converters.
Some TP converters derive from ITPConverter. In that case, we want to call createPersistent / createTransient(). But some TP converters do not; in that case, we should call transToPers() / persToTrans() directly.
In the first case, we actually call the *WithKey versions. We don't support passing the key to converters that don't derive from ITPConverter.
Definition in file T_AthenaPoolCreateFuncs.h.