26 const auto diffTypes = (0 != std::strcmp(colTId.name(), tid.name()));
27 auto inheritedType = [&]() {
32 if (diffTypes && !inheritedType()) {
35 std::string errMsg =
"RDefineReader: column \"" + define.
GetName() +
"\" is being used as ";
38 errMsg +=
" (extracted from type info)";
42 errMsg +=
" but defined column has type ";
43 if (colTypeName.empty()) {
46 errMsg +=
" (extracted from type info)";
48 errMsg += colTypeName;
50 throw std::runtime_error(errMsg);
std::string GetName() const
virtual const std::type_info & GetTypeId() const =0
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
void CheckDefineType(RDFDetail::RDefineBase &define, const std::type_info &tid)
std::string TypeID2TypeName(const std::type_info &id)
Returns the name of a type starting from its type_info An empty string is returned in case of failure...