summaryrefslogtreecommitdiff
path: root/ThirdParty/hash-library/hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'ThirdParty/hash-library/hash.h')
-rw-r--r--ThirdParty/hash-library/hash.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/ThirdParty/hash-library/hash.h b/ThirdParty/hash-library/hash.h
new file mode 100644
index 0000000..6c6f2ea
--- /dev/null
+++ b/ThirdParty/hash-library/hash.h
@@ -0,0 +1,28 @@
+// //////////////////////////////////////////////////////////
+// hash.h
+// Copyright (c) 2014,2015 Stephan Brumme. All rights reserved.
+// see http://create.stephan-brumme.com/disclaimer.html
+//
+
+#pragma once
+
+#include <string>
+
+/// abstract base class
+class Hash
+{
+public:
+ /// compute hash of a memory block
+ virtual std::string operator()(const void* data, size_t numBytes) = 0;
+ /// compute hash of a string, excluding final zero
+ virtual std::string operator()(const std::string& text) = 0;
+
+ /// add arbitrary number of bytes
+ virtual void add(const void* data, size_t numBytes) = 0;
+
+ /// return latest hash as hex characters
+ virtual std::string getHash() = 0;
+
+ /// restart
+ virtual void reset() = 0;
+};