![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "GaudiKernel/System.h"
52 const std::type_info& dst_ti)
54 if (
tryInit (src_ti, dst_ti).isFailure()) {
57 <<
"Incompatible conversion: from " <<
srcName() <<
" to " <<
dstName();
58 return StatusCode::FAILURE;
60 return StatusCode::SUCCESS;
83 const std::vector<const std::type_info*>& dst_tis,
86 size_t sz = dst_tis.size();
89 return StatusCode::SUCCESS;
93 std::ostringstream dst_names;
97 dst_names << System::typeinfoName (*dst_tis[
which]);
101 <<
"Incompatible conversion: from " <<
srcName() <<
" to one of ["
102 << dst_names.str() <<
"]";
103 return StatusCode::FAILURE;
173 const std::type_info& dst_ti)
188 return StatusCode::SUCCESS;
194 return StatusCode::SUCCESS;
200 return StatusCode::SUCCESS;
203 return StatusCode::FAILURE;
std::string dstName() const
Return the name of the destination type, or an empty string.
@ SRC_BASE
Destination is a base of source — use source BaseInfo.
Strategy m_strategy
Strategy to use for the conversion.
Helper to convert pointers.
const std::type_info * m_dstTypeinfo
The destination type.
void * cast(void *p, CLID clid) const
Cast to a base pointer.
StatusCode init(const std::type_info &src_ti, const std::type_info &dst_ti)
Initialize the converter.
std::string srcName() const
Return the name of the source type, or an empty string.
const void * convertUntyped(const void *p) const
Convert pointer.
Block filler tool for noisy FEB information.
const std::type_info * m_srcTypeinfo
The source type.
Provide an interface for finding inheritance information at run time.
TypeConverter()
Default constructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
void * castTo(void *p, CLID clid) const
Cast to a derived pointer.
static const BaseInfoBase * find(CLID clid)
Find the BaseInfoBase instance for clid.
Helpers for checking error return status codes and reporting errors.
const SG::BaseInfoBase * m_srcBIB
BaseInfo for the source type.
#define REPORT_MESSAGE(LVL)
Report a message.
@ IDENTICAL
Source and destination types are identical.
@ DST_BASE
Source is a base of destination — use destination BaseInfo.
#define ATLAS_THREAD_SAFE
const std::type_info & typeinfo() const
Return the std::type_info for this class.
StatusCode tryInit(const std::type_info &src_ti, const std::type_info &dst_ti)
Initialize the converter.
const SG::BaseInfoBase * m_dstBIB
BaseInfo for the destination type.
bool is_base(CLID clid) const
Return true if clid is the ID of a class that is known to be a base of T.