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 | |
EventContainers | |
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. More... | |
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. More... | |
Helpers for calling TP 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.