diff options
Diffstat (limited to 'qpid/cpp/include')
| -rw-r--r-- | qpid/cpp/include/qpid/types/Uuid.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/qpid/cpp/include/qpid/types/Uuid.h b/qpid/cpp/include/qpid/types/Uuid.h index 02af4c7e7f..5e3ee94db0 100644 --- a/qpid/cpp/include/qpid/types/Uuid.h +++ b/qpid/cpp/include/qpid/types/Uuid.h @@ -57,7 +57,7 @@ class QPID_TYPES_CLASS_EXTERN Uuid /** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */ QPID_TYPES_EXTERN std::string str() const; - QPID_TYPES_EXTERN size_t size() const; + QPID_TYPES_EXTERN size_t size() const; QPID_TYPES_EXTERN const unsigned char* data() const; friend QPID_TYPES_EXTERN bool operator==(const Uuid&, const Uuid&); @@ -69,6 +69,14 @@ class QPID_TYPES_CLASS_EXTERN Uuid friend QPID_TYPES_EXTERN std::ostream& operator<<(std::ostream&, Uuid); friend QPID_TYPES_EXTERN std::istream& operator>>(std::istream&, Uuid&); + /** Hash value suitable for use with unordered_map */ + size_t hash() const; + + /** Hasher for use with unordered_map */ + struct Hasher { + size_t operator()(const Uuid& u) const { return u.hash(); } + }; + private: unsigned char bytes[16]; }; @@ -91,4 +99,5 @@ QPID_TYPES_EXTERN std::istream& operator>>(std::istream&, Uuid&); }} // namespace qpid::types + #endif /*!QPID_TYPES_UUID_H*/ |
