Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Token.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PERSISTENTDATAMODEL_TOKEN_H
6 #define PERSISTENTDATAMODEL_TOKEN_H
7 
14 
15 #include <string>
16 #include <utility>
17 
21 class Token {
22 public:
23  // typedef std::pair<long long int, long long int> OID_t;
24  struct OID_t : public std::pair<long long int, long long int> {
25  OID_t() {}
26  OID_t(long long int i1, long long int i2) : std::pair<long long int, long long int> (i1,i2) {}
27  };
28 
29 private:
31  Token(const Token& copy);
33  Token& operator=(const Token& copy);
34 
35 public:
37  Token();
39  explicit Token(const Token* source);
41  explicit Token(Token&& source);
43  virtual ~Token();
45  bool operator<(const Token& refToken) const { return less(refToken); }
47  bool operator>(const Token& refToken) const {
48  if (less(refToken)) return false;
49  return !equal(refToken);
50  }
52  bool operator==(const Token& refToken) const { return equal(refToken); }
54  bool operator!=(const Token& refToken) const { return !equal(refToken); }
56  virtual bool less(const Token& pTok) const;
58  virtual bool equal(const Token& pTok) const;
60  int release();
62  int addRef() { return ++m_refCount; }
64  const Guid& dbID() const { return m_dbID; }
66  Token& setDb(const Guid& db) { m_dbID = db; return *this; }
67  Token& setDb(const std::string& db) { m_dbID.fromString(db); return *this; }
69  const std::string& contID() const { return m_cntID; }
71  Token& setCont(const std::string& cnt) { m_cntID = cnt; return *this; }
73  const Guid& classID() const { return m_classID; }
75  Token& setClassID(const Guid& cl_id) { m_classID = cl_id; return *this; }
77  int technology() const { return m_technology; }
79  Token& setTechnology(int t) { m_technology = t; return *this; }
81  const OID_t& oid() const { return m_oid; }
83  OID_t& oid() { return m_oid; }
85  Token& setOid(const OID_t& oid) { m_oid = oid; return *this; }
87  int type() const { return m_type; }
89  Token& setType(int t) { m_type = t; return *this; }
91  const std::string& auxString() const { return m_auxString; }
93  Token& setAuxString(const std::string& auxString) { m_auxString = auxString; return *this; }
94 
96  virtual const std::string toString() const;
98  virtual const std::string key() const;
100  Token& fromString(const std::string& from);
102  const Token& set(Token* pToken) const;
104  const Token& setData(Token* pToken) const;
105 
107  static int numInstances();
108 
109 private:
113  unsigned int m_technology;
117  std::string m_cntID;
123  int m_type;
125  std::string m_auxString;
126 };
127 
128 #endif
Token::m_type
int m_type
Token type.
Definition: Token.h:123
Token::OID_t::OID_t
OID_t(long long int i1, long long int i2)
Definition: Token.h:26
Token::contID
const std::string & contID() const
Access container identifier.
Definition: Token.h:69
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
Token::auxString
const std::string & auxString() const
Access auxiliary string.
Definition: Token.h:91
Token::m_dbID
Guid m_dbID
Database identifier.
Definition: Token.h:115
Token::dbID
const Guid & dbID() const
Access database identifier.
Definition: Token.h:64
Token::operator>
bool operator>(const Token &refToken) const
Operator > to allow ordering.
Definition: Token.h:47
Token::m_technology
unsigned int m_technology
Technology identifier.
Definition: Token.h:113
Token::less
virtual bool less(const Token &pTok) const
Fast token comparison: operator less.
Definition: Token.cxx:109
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Token::classID
const Guid & classID() const
Access database identifier.
Definition: Token.h:73
Token::OID_t::OID_t
OID_t()
Definition: Token.h:25
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
Token::m_classID
Guid m_classID
Object global identifier.
Definition: Token.h:119
Token::m_cntID
std::string m_cntID
Container identifier.
Definition: Token.h:117
Token::operator<
bool operator<(const Token &refToken) const
Operator < to allow ordering.
Definition: Token.h:45
Token::OID_t
Definition: Token.h:24
Token::addRef
int addRef()
Increase reference count.
Definition: Token.h:62
Token::fromString
Token & fromString(const std::string &from)
Build from the string representation of a token.
Definition: Token.cxx:148
Token::setClassID
Token & setClassID(const Guid &cl_id)
Access database identifier.
Definition: Token.h:75
Token::setDb
Token & setDb(const std::string &db)
Definition: Token.h:67
Token::technology
int technology() const
Access technology type.
Definition: Token.h:77
Token::setType
Token & setType(int t)
Set token type.
Definition: Token.h:89
Token::operator=
Token & operator=(const Token &copy)
No assignment allowed: put prototype to disable bit-wise assignment.
Definition: Token.cxx:84
Token::equal
virtual bool equal(const Token &pTok) const
Fast token comparison: operator equals.
Definition: Token.cxx:92
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
Token::oid
OID_t & oid()
Access object identifier.
Definition: Token.h:83
Token::setDb
Token & setDb(const Guid &db)
Set database name.
Definition: Token.h:66
Token::release
int release()
Release token: Decrease reference count and eventually delete.
Definition: Token.cxx:75
Token::m_oid
OID_t m_oid
Persistent object identifier.
Definition: Token.h:121
Token::type
int type() const
Access token type.
Definition: Token.h:87
Token::setTechnology
Token & setTechnology(int t)
Set technology type.
Definition: Token.h:79
Token::operator!=
bool operator!=(const Token &refToken) const
Equality operator.
Definition: Token.h:54
Token::toString
virtual const std::string toString() const
Retrieve the string representation of the token.
Definition: Token.cxx:129
Token::setOid
Token & setOid(const OID_t &oid)
Set object identifier.
Definition: Token.h:85
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
Token::~Token
virtual ~Token()
Standard destructor: release all allocated resources.
Definition: Token.cxx:70
Token::m_auxString
std::string m_auxString
Auxiliary string.
Definition: Token.h:125
trigbs_pickEvents.cnt
cnt
Definition: trigbs_pickEvents.py:71
Token::Token
Token()
Standard Constructor.
Definition: Token.cxx:22
Token::oid
const OID_t & oid() const
Access object identifier.
Definition: Token.h:81
Token::setAuxString
Token & setAuxString(const std::string &auxString)
Set auxiliary string.
Definition: Token.h:93
Guid::fromString
const Guid & fromString(const std::string &s)
Automatic conversion from string representation.
Definition: Guid.cxx:65
Token::setCont
Token & setCont(const std::string &cnt)
Set container name.
Definition: Token.h:71
copySelective.source
string source
Definition: copySelective.py:32
calibdata.copy
bool copy
Definition: calibdata.py:27
Guid.h
This file contains the class definition for the Guid class (migrated from POOL).
Token::numInstances
static int numInstances()
expose Token instance counter for debugging
Definition: Token.cxx:19
Token::m_refCount
int m_refCount
Reference count.
Definition: Token.h:111
Token::setData
const Token & setData(Token *pToken) const
Set all the data part of the token.
Definition: Token.cxx:209
Token::set
const Token & set(Token *pToken) const
Set token information.
Definition: Token.cxx:200
Token::operator==
bool operator==(const Token &refToken) const
Equality operator.
Definition: Token.h:52
Token::key
virtual const std::string key() const
Retrieve token key.
Definition: Token.cxx:187