|
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 "
180 <<
"; old type is " << AthContainers_detail::typeinfoName (old_type)
181 <<
" new type is " << AthContainers_detail::typeinfoName (new_type);
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
223 <<
" on a " << AthContainers_detail::typeinfoName (base_type)
224 <<
" base class of " << AthContainers_detail::typeinfoName (complete_type)
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 <<
"::";
328 os <<
" (of type " << AthContainers_detail::typeinfoName (*typ) <<
")";
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 "
493 <<
" of type " << AthContainers_detail::typeinfoName (
type)
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 "
530 <<
" of type " << AthContainers_detail::typeinfoName (
type)
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 "
565 <<
" of type " << AthContainers_detail::typeinfoName (
type);
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.
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.