2   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
    5 /** @file DataLinkCnv_p1.icc
 
    6  *  @brief This file contains the implementation for the DataLinkCnv_p1 template methods.
 
    7  *  @author Marcin.Nowak@cern.ch
 
   13 template <typename DLINK_TYPE>
 
   15 void DataLinkCnv_p1<DLINK_TYPE>::transToPers(const DLink_t& trans, PersDLink_t& pers, MsgStream& /*log*/) const
 
   18    tmp.toPersistent(); // ??? May not be needed now.
 
   19    pers.m_SGKeyHash = tmp.key();
 
   22 template <typename DLINK_TYPE>
 
   25 DataLinkCnv_p1<DLINK_TYPE>
 
   26 ::transToPers(const DLink_t* trans, PersDLink_t* pers, MsgStream& log) const
 
   28    this->transToPers(*trans, *pers, log);
 
   33 template <typename DLINK_TYPE >
 
   35 void DataLinkCnv_p1< DLINK_TYPE >::persToTrans(const PersDLink_t& pers, DLink_t& trans, MsgStream& /*log*/) const
 
   37   if ( !pers.m_link.empty() ) {
 
   38     trans.toIdentifiedObject(pers.m_link);
 
   39     if( !trans.toTransient() ) {
 
   40       throw std::runtime_error("persToTrans: failed to convert DataLink.");
 
   43   else if (pers.m_SGKeyHash != 0) {
 
   44     trans.toIdentifiedObject (pers.m_SGKeyHash);
 
   50 template <typename DLINK_TYPE >
 
   53 DataLinkCnv_p1< DLINK_TYPE >
 
   54 ::persToTrans(const PersDLink_t* pers, DLink_t* trans, MsgStream& log) const
 
   56    this->persToTrans(*pers, *trans, log);