Skip to content
Snippets Groups Projects
Commit 44b1ef51 authored by Marco Clemencic's avatar Marco Clemencic
Browse files

update to DataObjID: switch order of parameters in constructor

Change the order of the parameters in the DataObjID constructor from
(Key,ClassID) to (ClassID,Key) in order to match more general usage in
Atlas.

Update to GAUDI-1102.

See merge request !64
parents 148f1bca 3e3883e6
No related branches found
No related tags found
No related merge requests found
......@@ -39,11 +39,11 @@ class DataObjID {
public:
friend DataObjID_Hasher;
DataObjID();
DataObjID() {};
DataObjID(const std::string& key);
DataObjID(const std::string& key, const CLID& clid);
DataObjID(const std::string& key, const std::string& className);
DataObjID(const DataObjID& d);
DataObjID(const CLID& clid, const std::string& key);
DataObjID(const std::string& className, const std::string& key);
DataObjID(const DataObjID&) = default;
// only return the last part of the key
const std::string& key() const { return m_key; }
......@@ -65,6 +65,10 @@ public:
return (m_hash == other.m_hash);
}
bool operator!=( const DataObjID& other ) const {
return (m_hash != other.m_hash);
}
private:
void hashGen();
......@@ -72,11 +76,11 @@ private:
void setClid();
void setClassName();
CLID m_clid;
std::size_t m_hash;
CLID m_clid {0};
std::size_t m_hash {0};
std::string m_key;
std::string m_className;
std::string m_className {""};
std::string m_key {"INVALID"};
static void getClidSvc();
static IClassIDSvc* p_clidSvc;
......@@ -84,31 +88,24 @@ private:
};
inline DataObjID::DataObjID():
m_clid(0), m_hash(0), m_key("INVALID"), m_className("") {}
inline DataObjID::DataObjID(const std::string& key):
m_clid(0), m_key(key), m_className("") {
m_key(key) {
hashGen();
}
inline DataObjID::DataObjID(const std::string& key, const CLID& clid):
inline DataObjID::DataObjID(const CLID& clid, const std::string& key):
m_clid(clid), m_key(key) {
setClassName();
hashGen();
}
inline DataObjID::DataObjID(const std::string& key, const std::string& className):
m_key(key), m_className(className) {
inline DataObjID::DataObjID(const std::string& className, const std::string& key):
m_className(className), m_key(key) {
setClid();
hashGen();
}
inline DataObjID::DataObjID(const DataObjID& d):
m_clid(d.m_clid), m_hash(d.m_hash), m_key(d.m_key), m_className(d.m_className) {}
inline void DataObjID::updateKey(const std::string& key) {
m_key = key;
hashGen();
......
......@@ -2,6 +2,12 @@ Package : GaudiKernel
Package manager : Marco Clemencic
Commit Id: $Format:%H$
! 2015-11-09 - Charles Leggett
- DataObjID: made prettier
! 2015-10-29 - Charles Leggett
- DataObjID: change order of parameters in constructor to ClassID/Key
! 2015-07-21 - Marco Clemencic
- Fixed some unchecked StatusCode.
- Fixed some whitespaces.
......
......@@ -56,9 +56,9 @@ namespace Gaudi {
++it;
if ( c != 0) {
v = DataObjID(k,c);
v = DataObjID(c,k);
} else {
v = DataObjID(k,cn);
v = DataObjID(cn,k);
}
} else {
std::cerr << "Unable to instantiate a DataObjID from a Property " << s
......@@ -105,7 +105,7 @@ namespace Gaudi {
while (it != tokens.end()) {
if (isGaudi) {
v.insert( DataObjID( *it ) );
v.emplace( DataObjID( *it ) );
++it;
} else {
......@@ -125,9 +125,9 @@ namespace Gaudi {
++it;
if ( c != 0) {
v.insert( DataObjID(k,c) );
v.emplace( DataObjID(c,k) );
} else {
v.insert( DataObjID(k,cn) );
v.emplace( DataObjID(cn,k) );
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment