From e6ea75fc995b4d3ec0b04e0a4de2279632b93a17 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 5 Jan 2022 12:29:15 +0100
Subject: [PATCH] DataHandleHolderBase: define semantics for
 ExtraInputs/Outputs

Define `OrderedSet` merge semantics for the `ExtraInputs` and `ExtraOutputs`
properties. The C++ property type is `std::unordered_set`, so we don't
strictly need it to be "ordered" but it does not hurt either (and we do
not have a regular `set` merge semantics defined).
---
 GaudiKernel/include/GaudiKernel/DataHandleHolderBase.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/GaudiKernel/include/GaudiKernel/DataHandleHolderBase.h b/GaudiKernel/include/GaudiKernel/DataHandleHolderBase.h
index 821d3d71ea..b98ac91a5a 100644
--- a/GaudiKernel/include/GaudiKernel/DataHandleHolderBase.h
+++ b/GaudiKernel/include/GaudiKernel/DataHandleHolderBase.h
@@ -1,5 +1,5 @@
 /***********************************************************************************\
-* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
+* (c) Copyright 1998-2022 CERN for the benefit of the LHCb and ATLAS collaborations *
 *                                                                                   *
 * This software is distributed under the terms of the Apache version 2 licence,     *
 * copied verbatim in the file "LICENSE".                                            *
@@ -100,8 +100,10 @@ protected:
 private:
   std::unordered_set<Gaudi::DataHandle*> m_handles;
 
-  Gaudi::Property<DataObjIDColl> m_extInputDataObjs{ this, "ExtraInputs", DataObjIDColl{} };
-  Gaudi::Property<DataObjIDColl> m_extOutputDataObjs{ this, "ExtraOutputs", DataObjIDColl{} };
+  Gaudi::Property<DataObjIDColl> m_extInputDataObjs{ this, "ExtraInputs", DataObjIDColl{},
+                                                     "Additional input dependencies", "OrderedSet<DataObjID>" };
+  Gaudi::Property<DataObjIDColl> m_extOutputDataObjs{ this, "ExtraOutputs", DataObjIDColl{},
+                                                      "Additional output dependencies", "OrderedSet<DataObjID>" };
 };
 
 #endif // !GAUDIKERNEL_DATAHANDLEHOLDERBASE
-- 
GitLab