Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef __HASH_H__
00023 #define __HASH_H__
00024 
00025 #include <cstddef>
00026 #include <stdint.h>
00027 
00028 struct ATSHashBase
00029 {
00030   virtual void update(const void *, size_t) = 0;
00031   virtual void final(void) = 0;
00032   virtual void clear(void) = 0;
00033   virtual ~ATSHashBase();
00034 };
00035 
00036 struct ATSHash:ATSHashBase
00037 {
00038   virtual const void *get(void) const = 0;
00039   virtual size_t size(void) const = 0;
00040   virtual bool operator==(const ATSHash &) const;
00041 };
00042 
00043 struct ATSHash32:ATSHashBase
00044 {
00045   virtual uint32_t get(void) const = 0;
00046   virtual bool operator==(const ATSHash32 &) const;
00047 };
00048 
00049 struct ATSHash64:ATSHashBase
00050 {
00051   virtual uint64_t get(void) const = 0;
00052   virtual bool operator==(const ATSHash64 &) const;
00053 };
00054 
00055 #endif