From e3b6538c17884b5985a78e3d7c507d02b7af2e78 Mon Sep 17 00:00:00 2001 From: dec05eba <0xdec05eba@gmail.com> Date: Tue, 8 May 2018 17:53:10 +0200 Subject: Add more comparison functions to hash --- include/odhtdb/Hash.hpp | 3 +++ src/Hash.cpp | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/odhtdb/Hash.hpp b/include/odhtdb/Hash.hpp index c1212ec..05e85d2 100644 --- a/include/odhtdb/Hash.hpp +++ b/include/odhtdb/Hash.hpp @@ -38,6 +38,9 @@ namespace odhtdb size_t operator()() const; bool operator==(const Hash &other) const; + bool operator!=(const Hash &other) const; + + bool isEmpty() const; std::string toString() const; private: diff --git a/src/Hash.cpp b/src/Hash.cpp index 364cddd..4b045a4 100644 --- a/src/Hash.cpp +++ b/src/Hash.cpp @@ -17,6 +17,8 @@ namespace odhtdb static SodiumInitializer __sodiumInitializer; + static const Hash EMPTY_HASH; + Hash::Hash() { memset(data, 0, HASH_BYTE_SIZE); @@ -44,8 +46,18 @@ namespace odhtdb return memcmp(data, other.data, HASH_BYTE_SIZE) == 0; } + bool Hash::operator!=(const Hash &other) const + { + return !operator==(other); + } + std::string Hash::toString() const { return bin2hex(data, HASH_BYTE_SIZE); } + + bool Hash::isEmpty() const + { + return *this == EMPTY_HASH; + } } -- cgit v1.2.3