10#include <unordered_map>
32 return StatusCode::SUCCESS;
42 std::unordered_map<IdentifierHash, std::unique_ptr<MM_RawDataCollection>> rdo_map;
50 int nerr_duplicate{0}, nerr_rdo{0};
53 for (
auto& [hash, collection]: rdo_map) {
55 if ((!collection) or collection->empty())
continue;
61 }
else if (!lock.
addOrDelete(std::move(collection)).isSuccess()) {
69 if (nerr_duplicate)
ATH_MSG_WARNING(nerr_duplicate <<
" elinks skipped since the same module hash has been added by a previous ROB fragment");
71 ATH_MSG_ERROR(
"Failed to add "<<nerr_rdo<<
" RDOs into the identifiable container");
72 return StatusCode::FAILURE;
76 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
StatusCode addOrDelete(std::unique_ptr< T > ptr)
IDC_WriteHandle getWriteHandle(IdentifierHash hash)
size_t size() const
Duplicate of fullSize for backwards compatability.
eformat::ROBFragment< PointerType > ROBFragment