|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   24   std::ostringstream 
os;
 
   25   if (auxid != null_auxid) {
 
   27     os << 
"`" << 
r.getClassName (auxid);
 
   28     if (!
os.str().empty())
 
   30     os << 
r.getName (auxid);
 
   31     os << 
"' (" << auxid << 
")";
 
   46   std::ostringstream 
os;
 
   47   os << 
"SG::ExcNoAuxStore: " 
   48      << 
"Requested aux data item " 
   50      << 
" but there is no associated aux data store.";
 
   58   std::ostringstream 
os;
 
   59   os << 
"SG::ExcNoAuxStore: " 
   60      << 
"Operation attempted on container with no associated aux data store: ";
 
   92   std::ostringstream 
os;
 
   93   os << 
"SG::ExcBadAuxVar: " 
   94      << 
"Attempt to retrieve nonexistent aux data item " 
  117   std::ostringstream 
os;
 
  118   os << 
"SG::ExcConstAuxData: " 
  119      << 
"Non-const operation `" << op << 
"' performed on const aux data " 
  145     (
"SG::ExcUntrackedSetStore: " 
  146      "Attempt to set aux data store on container that doesn't track indices, " 
  147      "or disable index tracking for a container with aux data.")
 
  160   : std::runtime_error (
"SG::ExcBadPrivateStore: " 
  161                         "Bad use of private store: " + op)
 
  171                                        const std::type_info& new_type,
 
  172                                        const std::type_info& old_type,
 
  173                                        const std::string& new_alloc_type,
 
  174                                        const std::string& old_alloc_type)
 
  176   std::ostringstream 
os;
 
  177   os << 
"SG::ExcAuxTypeMismatch: " 
  178      << 
"Type mismatch for aux variable " 
  182   if (old_alloc_type != new_alloc_type)
 
  184     os << 
".  Old allocator type is " << old_alloc_type
 
  185        << 
" new allocator type is " << new_alloc_type;
 
  200                                         const std::type_info& new_type,
 
  201                                         const std::type_info& old_type,
 
  202                                         const std::string& new_alloc_type,
 
  203                                         const std::string& old_alloc_type)
 
  217                                             const std::type_info& base_type,
 
  218                                             const std::type_info& complete_type)
 
  220   std::ostringstream 
os;
 
  221   os << 
"SG::ExcInsertionInBaseClass: " 
  222      << 
"Attempted to do " << op
 
  225      << 
"; can only be done on the most-derived class.";
 
  238     const std::type_info& base_type,
 
  239     const std::type_info& complete_type)
 
  253   std::ostringstream 
os;
 
  254   os << 
"SG::ExcStoreLocked: " 
  255      << 
"Attempted to modify auxiliary data in a locked store: ";
 
  264   std::ostringstream 
os;
 
  265   os << 
"SG::ExcStoreLocked: " 
  266      << 
"Attempted to modify auxiliary data in a locked store: ";
 
  299   : std::runtime_error (
"SG::ExcNonowningContainer: Attempted to insert a unique_ptr to a non-owning container.")
 
  318                                       const std::string& clsname,
 
  319                                       const std::type_info* typ)
 
  321   std::ostringstream 
os;
 
  322   os << 
"SG::ExcUnknownAuxItem: " 
  323      << 
"Unknown aux data item ";
 
  324   if (!clsname.empty())
 
  325     os << clsname << 
"::";
 
  340                                       const std::string& clsname ,
 
  341                                       const std::type_info* typ )
 
  354                              const std::string& clsname ,
 
  355                              const std::type_info* typ )
 
  367   std::ostringstream 
os;
 
  368   os << 
"SG::ExcDVToELV: " 
  369      << 
"Can't convert DataVector to vector of ElementLinks: " 
  392   : std::runtime_error (
"ViewVector not in view mode.")
 
  414                         "was used in a context that requires a CLID, " 
  415                         "but no CLID was available.  Make sure a " 
  416                         "VIEWVECTOR_CLASS_DEF declaration exists for the class " 
  417                         "in a library that has been loaded.")
 
  438   : std::runtime_error (
"Missing BaseInfo for " +
 
  460   : std::runtime_error (
"Ownership mismatch for insertMove.")
 
  475     if (!
out.empty()) 
out += 
" ";
 
  479   return "[" + 
out + 
"]";
 
  485                                     const std::type_info& 
type,
 
  489   std::ostringstream 
os;
 
  490   os << 
"SG::ExcFlagMismatch: " 
  491      << 
"Flag mismatch for aux variable " 
  495      << 
" and requested " << 
excFormatFlags (requested_flags) << 
" flags. " 
  496      << 
"This may occur as a result of not using AtomicDecorator to access an atomic variable.";
 
  509                                   const std::type_info& 
type,
 
  522                                     const std::type_info& 
type,
 
  526   std::ostringstream 
os;
 
  527   os << 
"SG::ExcLinkMismatch: " 
  528      << 
"Linked variable mismatch for aux variable " 
  531      << 
" between existing " << 
excFormatName (existing_linked_id)
 
  532      << 
" and requested " << 
excFormatName (requested_linked_id) << 
" linked variables.";
 
  545                                   const std::type_info& 
type,
 
  549                                                 existing_linked_id, requested_linked_id))
 
  559                                    const std::type_info& 
type)
 
  561   std::ostringstream 
os;
 
  562   os << 
"SG::ExcNoLinkedVar: " 
  563      << 
"Linked variable not found for aux variable " 
  576                                 const std::type_info& 
type)
 
  587                                              const std::string& 
key)
 
  589   std::ostringstream 
os;
 
  590   os << 
"SG::ExcInvalidThinningTarget: " 
  591      << 
"ThinningHandle target does not exist: " 
  592      << clid << 
"/" << 
key;
 
  603                                                     const std::string& 
key)
 
  616   : std::runtime_error (
"SG::ExcBadIterSwap: Attempt to swap between containers with inconsistent ownership.")
 
  628   : std::runtime_error (
"SG::ExcAllocOwnership: Bad allocation ownership.")
 
  648   std::ostringstream 
os;
 
  649   os << 
"SG::ExcBadVarName: " 
  650      << 
"Bad name for auxiliary variable `" << 
name << 
"'. " 
  651      << 
"Variable and class names must consist of only digits, letters, " 
  652      << 
"and underscores, and cannot start with a digit.  " 
  653      << 
"Variable names may not be empty, but class names may be.";
 
  674   return "SG::ExcJaggedVecOverlappingCopy: Overlapping copies not implemented for jagged vectors.  Talk to core software if this is an issue.";
 
  704   std::ostringstream 
os;
 
  705   os << 
"SG::ExcOutOfRange: " 
  706      << 
"Range reference out of bounds in " << 
what << 
"; " 
  707      << 
i << 
" >= " << 
size;
 
  
std::string excInsertionInBaseClass_format(const char *op, const std::type_info &base_type, const std::type_info &complete_type)
Helper: format exception error string.
ExcInsertMoveOwnershipMismatch()
Constructor.
std::string excFlagMismatch_format(SG::auxid_t auxid, const std::type_info &type, SG::AuxVarFlags existing_flags, SG::AuxVarFlags requested_flags)
Helper: format exception error string.
ExcAuxTypeMismatch(SG::auxid_t auxid, const std::type_info &new_type, const std::type_info &old_type, const std::string &new_alloc_type, const std::string &old_alloc_type)
Constructor.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
ExcMissingViewVectorCLID(const std::type_info &ti)
Constructor.
ExcBadAuxVar(SG::auxid_t auxid)
Constructor.
std::string excStoreLocked_format(SG::auxid_t auxid)
Helper: format exception error string.
std::string excJaggedVecOverlappingCopy_format()
Helper: format exception error string.
Exception — ViewVector not in view mode.
Exceptions that can be thrown from AthContainers.
void throwJaggedVecOverlappingCopy()
Throw a SG::ExcJaggedVecOverlappingCopy exception.
Exception — Range reference out of bounds.
void throwExcAllocOwnership()
Throw a SG::ExcAllocOwnership exception.
Exception — Missing CLID for ViewVector.
std::string excConstAuxData_format(const std::string &op, SG::auxid_t auxid)
Helper: format exception error string.
std::string excFormatName(SG::auxid_t auxid)
Helper: format an aux data item name.
ExcStoreLocked(SG::auxid_t auxid)
Constructor.
std::string excAuxTypeMismatch_format(SG::auxid_t auxid, const std::type_info &new_type, const std::type_info &old_type, const std::string &new_alloc_type, const std::string &old_alloc_type)
Helper: format exception error string.
std::string excBadVarName_format(const std::string &name)
Helper: format exception error string.
ExcAllocOwnership()
Constructor.
std::string excOutOfRange_format(const char *what, size_t i, size_t size)
Helper: format exception error string.
Exception — Unknown aux data item.
ExcUnknownAuxItem(const std::string &name, const std::string &clsname="", const std::type_info *typ=0)
Constructor.
Handle mappings between names and auxid_t.
void throwExcMissingBaseInfo(const std::type_info &ti)
Throw a SG::ExcMissingBaseInfo exception.
@ Linked
Mark that this variable is linked to another one.
void throwExcNonowningContainer()
Throw a SG::ExcNonowningContainer exception.
size_t auxid_t
Identifier for a particular aux data item.
ExcOutOfRange(const char *what, size_t i, size_t size)
Constructor.
ExcInvalidThinningTarget(unsigned int clid, const std::string &key)
Constructor.
std::string typeinfoName(const std::type_info &ti)
Convert a type_info to a demangled string.
ExcViewVectorNotView()
Constructor.
std::string excNoLinkedVar_format(SG::auxid_t auxid, const std::type_info &type)
Helper: format exception error string.
ExcBadVarName(const std::string &name)
Constructor.
Exception — Bad allocation ownership.
std::string excInvalidThinningTarget_format(unsigned int clid, const std::string &key)
Helper: format exception error string.
Helper for emitting error messages.
ExcBadIterSwap()
Constructor.
Exception — Overlapping copies not implemented for jagged vectors.
Exception — Attempted to insert a unique_ptr to a non-owning container.
AuxVarFlags
Additional flags to qualify an auxiliary variable.
ExcConstAuxData(const std::string &op, SG::auxid_t auxid=null_auxid)
Constructor.
std::string excNoAuxStore_format(SG::auxid_t auxid)
Helper: format exception error string.
void throwExcMissingViewVectorCLID(const std::type_info &ti)
Throw a SG::ExcMissingViewVectorCLID exception.
ExcMissingBaseInfo(const std::type_info &ti)
Constructor.
ExcBadPrivateStore(const std::string &op)
Constructor.
ExcLinkMismatch(SG::auxid_t auxid, const std::type_info &type, SG::auxid_t existing_linked_id, SG::auxid_t requested_linked_id)
Constructor.
std::string excDVToELV_format(const std::string &detail)
Helper: format exception error string.
void throwExcUnknownAuxItem(const std::string &name, const std::string &clsname="", const std::type_info *typ=0)
Throw a SG::ExcUnknownAuxItem exception.
ExcNoLinkedVar(SG::auxid_t auxid, const std::type_info &type)
Constructor.
ExcNonowningContainer()
Constructor.
ExcUntrackedSetStore()
Constructor.
void throwOutOfRange(const char *what, size_t i, size_t size)
Throw a SG::ExcOutOfRange exception.
@ Atomic
Mark that this variable should only be accessed atomically.
std::string excLinkMismatch_format(SG::auxid_t auxid, const std::type_info &type, SG::auxid_t existing_linked_id, SG::auxid_t requested_linked_id)
Helper: format exception error string.
std::string excBadAuxVar_format(SG::auxid_t auxid)
Helper: format exception error string.
ExcJaggedVecOverlappingCopy()
Constructor.
std::string excUnknownAuxItem_format(const std::string &name, const std::string &clsname, const std::type_info *typ)
Helper: format exception error string.
Handle mappings between names and auxid_t.
ExcDVToELV(const std::string &detail)
Constructor.
ExcInsertionInBaseClass(const char *op, const std::type_info &base_type, const std::type_info &complete_type)
Constructor.
ExcFlagMismatch(SG::auxid_t auxid, const std::type_info &type, SG::AuxVarFlags existing_flags, SG::AuxVarFlags requested_flags)
Constructor.
Exception — Missing BaseInfo.
ExcNoAuxStore(SG::auxid_t auxid)
Constructor.
std::string excFormatFlags(SG::AuxVarFlags flags)
Helper: format flags.
void throwExcViewVectorNotView()
Throw a SG::ExcViewVectorNotView exception.