ATLAS Offline Software
Loading...
Searching...
No Matches
AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS > Class Template Reference

Helper for calling TP converters from an Athena converter. More...

#include <TPCnvList.h>

Collaboration diagram for AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >:

Public Types

using list_t = std::tuple<TPCnvElt<CNV, TPCNVS>...>

Public Member Functions

std::unique_ptr< TRANS > createTransient (CNV &parent, const Token *token, const std::string &key, MsgStream &msg)
 Read the persistent object and convert it to transient.
bool persToTrans (CNV &parent, TRANS *trans, const Token *token, const std::string &key, MsgStream &msg)
 Read the persistent object and convert it to transient.

Private Attributes

list_t m_list {}
 List of TP converter instances, wrapped by TPCnvElt.

Detailed Description

template<class CNV, class TRANS, class ... TPCNVS>
class AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >

Helper for calling TP converters from an Athena converter.

Definition at line 30 of file TPCnvList.h.

Member Typedef Documentation

◆ list_t

template<class CNV, class TRANS, class ... TPCNVS>
using AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >::list_t = std::tuple<TPCnvElt<CNV, TPCNVS>...>

Definition at line 33 of file TPCnvList.h.

Member Function Documentation

◆ createTransient()

template<class CNV, class TRANS, class ... TPCNVS>
std::unique_ptr< TRANS > AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >::createTransient ( CNV & parent,
const Token * token,
const std::string & key,
MsgStream & msg )

Read the persistent object and convert it to transient.

Parameters
parentThe top-level pool converter object.
keyThe SG key of the object being read.
msgMsgStream for error reporting.

Returns a newly-allocated object. If the type of the persistent object on the file does not match the the type of any of our TP converters, return nullptr. Other errors are reported by raising exceptions.

◆ persToTrans()

template<class CNV, class TRANS, class ... TPCNVS>
bool AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >::persToTrans ( CNV & parent,
TRANS * trans,
const Token * token,
const std::string & key,
MsgStream & msg )

Read the persistent object and convert it to transient.

Parameters
parentThe top-level pool converter object.
transThe transient object to modify.
keyThe SG key of the object being read.
msgMsgStream for error reporting.

Overwrites the provided transient object. If the type of the persistent object on the file does not match the the type of any of our TP converters, return false. Other errors are reported by raising exceptions.

Member Data Documentation

◆ m_list

template<class CNV, class TRANS, class ... TPCNVS>
list_t AthenaPoolCnvSvc::TPCnvList< CNV, TRANS, TPCNVS >::m_list {}
private

List of TP converter instances, wrapped by TPCnvElt.

Definition at line 68 of file TPCnvList.h.

68{};

The documentation for this class was generated from the following file: