The helper class to represent the efficient "key" for access.
More...
#include <StringKey.h>
|
| | StringKey (const std::string &key="") |
| | constructor from the string, perform hashing
|
| |
| const std::string & | str () const |
| | the actual string
|
| |
| | operator const std::string & () const |
| | implicit cast to std::string
|
| |
| bool | empty () const |
| | empty key?
|
| |
| bool | operator! () const |
| | empty key?
|
| |
| bool | operator== (const StringKey &o) const |
| | equality Key for efficiency reason compare the hash-values first
|
| |
| bool | operator== (const std::string &o) const |
| | equality, without hashing string rely on the native string equality
|
| |
| bool | operator!= (const StringKey &o) const |
| | non equality Key
|
| |
| bool | operator!= (const std::string &o) const |
| | non-equality string
|
| |
| bool | operator< (const StringKey &o) const |
| | less key It can be used as a key for std::map, e.g.
|
| |
| bool | operator> (const StringKey &o) const |
| | greater key
|
| |
| bool | operator<= (const StringKey &o) const |
| | less or equal key
|
| |
| bool | operator>= (const StringKey &o) const |
| | greater or equal key
|
| |
| std::size_t | __hash__ () const |
| | the actual access to the hash
|
| |
| std::string | __str__ () const |
| | the representation of the object
|
| |
| std::string | __repr__ () const |
| | the representation of the object
|
| |
| bool | __eq__ (const StringKey &right) const |
| | equality operator for python
|
| |
| bool | __eq__ (const std::string &right) const |
| | equality operators for python
|
| |
| bool | __neq__ (const StringKey &right) const |
| | non-equality operator for python
|
| |
| bool | __neq__ (const std::string &right) const |
| | non-equality operator for python
|
| |
| std::string | toString () const |
| | string representation (for properties)
|
| |
|
| std::string | m_str |
| | the actual string:
|
| |
| std::size_t | m_hash |
| | the hash:
|
| |
The helper class to represent the efficient "key" for access.
Essentially it is a bit modified version ("boost-free") of the original class stringKey by Gerhard Raven, which is heavily used now in HLT
- Attention
- NEVER use the actual hash value for anything stored in files, as it is not guaranteed that the hashing scheme will remain the same.
- Author
- Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
- Date
- 2009-04-08
Definition at line 35 of file StringKey.h.
| Gaudi::StringKey::StringKey |
( |
const std::string & |
key = "" | ) |
|
constructor from the string, perform hashing
Definition at line 25 of file StringKey.cpp.
| bool Gaudi::StringKey::__eq__ |
( |
const StringKey & |
right | ) |
const |
equality operator for python
Definition at line 44 of file StringKey.cpp.
{ return this == &right || *this == right ; }
| bool Gaudi::StringKey::__eq__ |
( |
const std::string & |
right | ) |
const |
equality operators for python
Definition at line 49 of file StringKey.cpp.
{ return *this == right ; }
| std::size_t Gaudi::StringKey::__hash__ |
( |
| ) |
const |
|
inline |
the actual access to the hash
- Attention
- NEVER use the actual hash value for anything stored in files, as it is not guaranteed that the hashing scheme will remain the same. The two reason for this function are:
- transparent usage of this object for hashmap-like containers
- Python the actual hash value
Definition at line 114 of file StringKey.h.
| bool Gaudi::StringKey::__neq__ |
( |
const StringKey & |
right | ) |
const |
non-equality operator for python
Definition at line 54 of file StringKey.cpp.
{ return this != &right && *this != right ; }
| bool Gaudi::StringKey::__neq__ |
( |
const std::string & |
right | ) |
const |
non-equality operator for python
Definition at line 59 of file StringKey.cpp.
{ return *this != right ; }
| std::string Gaudi::StringKey::__repr__ |
( |
| ) |
const |
the representation of the object
Definition at line 41 of file StringKey.cpp.
| std::string Gaudi::StringKey::__str__ |
( |
| ) |
const |
the representation of the object
Definition at line 37 of file StringKey.cpp.
| bool Gaudi::StringKey::empty |
( |
| ) |
const |
|
inline |
| Gaudi::StringKey::operator const std::string & |
( |
| ) |
const |
|
inline |
implicit cast to std::string
Definition at line 47 of file StringKey.h.
| bool Gaudi::StringKey::operator! |
( |
| ) |
const |
|
inline |
| bool Gaudi::StringKey::operator< |
( |
const StringKey & |
o | ) |
const |
|
inline |
less key It can be used as a key for std::map, e.g.
std::map<StringKey,double> Note that with such maps one can gain if using prehashed key:
typedef std::map<StringKey,double> MAP ;
MAP::const_iterator i1 =
m.find ( key ) ;
MAP::const_iterator i2 = m_find( "SomeLongKey,_e.g._TES_Locaiton" );
Definition at line 94 of file StringKey.h.
| bool Gaudi::StringKey::operator<= |
( |
const StringKey & |
o | ) |
const |
|
inline |
less or equal key
Definition at line 99 of file StringKey.h.
{ return !(*this > o ) ; }
| bool Gaudi::StringKey::operator== |
( |
const StringKey & |
o | ) |
const |
|
inline |
equality Key for efficiency reason compare the hash-values first
Definition at line 58 of file StringKey.h.
| bool Gaudi::StringKey::operator== |
( |
const std::string & |
o | ) |
const |
|
inline |
equality, without hashing string rely on the native string equality
Definition at line 63 of file StringKey.h.
| bool Gaudi::StringKey::operator> |
( |
const StringKey & |
o | ) |
const |
|
inline |
| bool Gaudi::StringKey::operator>= |
( |
const StringKey & |
o | ) |
const |
|
inline |
greater or equal key
Definition at line 101 of file StringKey.h.
{ return !(*this < o ) ; }
| const std::string& Gaudi::StringKey::str |
( |
| ) |
const |
|
inline |
| std::string Gaudi::StringKey::toString |
( |
| ) |
const |
string representation (for properties)
Definition at line 32 of file StringKey.cpp.
| std::size_t Gaudi::StringKey::m_hash |
|
private |
| std::string Gaudi::StringKey::m_str |
|
private |
The documentation for this class was generated from the following files:
- /afs/.cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r2/GaudiKernel/GaudiKernel/StringKey.h
- /afs/.cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r2/GaudiKernel/src/Lib/StringKey.cpp