1 #ifndef MHO_MD5HashGenerator_HH__
2 #define MHO_MD5HashGenerator_HH__
28 class MHO_MD5HashGenerator;
42 _picohash_md5_update(s.
GetMD5CTXPtr(),
reinterpret_cast< const void*
>(&obj),
sizeof(XValueType));
75 for(
unsigned int i = 0; i < obj.size(); i++)
78 _picohash_md5_update(s.
GetMD5CTXPtr(),
reinterpret_cast< const void*
>(&ch),
sizeof(
char));
112 template<
typename XValueType >
120 template<
typename XValueType,
typename... XValueTypeS >
127 long long,
unsigned long long, float, double,
long double, std::string >
164 std::stringstream ss;
168 std::stringstream hss;
169 hss << std::setw(2) << std::setfill(
'0') << std::hex << (int)(tmp);
170 std::string hexstr = hss.str();
Class MHO_MD5HashGeneratorMultiType declares a multi-type streamer with a variadic template parameter...
Definition: MHO_MD5HashGenerator.hh:104
Class MHO_MD5HashGeneratorSingleType<std::string> specialization for string type.
Definition: MHO_MD5HashGenerator.hh:67
virtual _picohash_md5_ctx_t * GetMD5CTXPtr()=0
Getter for md5ctxptr.
MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:69
virtual ~MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:70
virtual MHO_MD5HashGenerator & Self()=0
Returns a reference to the current instance of MHO_MD5HashGenerator.
friend MHO_MD5HashGenerator & operator<<(MHO_MD5HashGeneratorSingleType< std::string > &s, std::string &obj)
Definition: MHO_MD5HashGenerator.hh:72
Class MHO_MD5HashGeneratorSingleType - template class for a single-type streamer, generic for most PO...
Definition: MHO_MD5HashGenerator.hh:34
virtual MHO_MD5HashGenerator & Self()=0
Returns a reference to the current instance of MHO_MD5HashGenerator.
friend MHO_MD5HashGenerator & operator<<(MHO_MD5HashGeneratorSingleType< XValueType > &s, const XValueType &obj)
Definition: MHO_MD5HashGenerator.hh:39
virtual _picohash_md5_ctx_t * GetMD5CTXPtr()=0
Getter for md5ctxptr.
MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:36
virtual ~MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:37
Class MHO_MD5HashGenerator declares the concrete class which does the work for file streams.
Definition: MHO_MD5HashGenerator.hh:134
uint8_t fDigest[PICOHASH_MD5_DIGEST_LENGTH]
Definition: MHO_MD5HashGenerator.hh:208
MHO_MD5HashGenerator()
Definition: MHO_MD5HashGenerator.hh:136
void Finalize()
Finalizes the MD5 hash calculation and stores the result in fDigest.
Definition: MHO_MD5HashGenerator.hh:155
std::string GetDigest()
Getter for digest.
Definition: MHO_MD5HashGenerator.hh:162
MHO_MD5HashGenerator & Self() override
Returns a reference to the current instance of MHO_MD5HashGenerator.
Definition: MHO_MD5HashGenerator.hh:205
MHO_UUID GetDigestAsUUID()
Getter for digest as uuid.
Definition: MHO_MD5HashGenerator.hh:181
_picohash_md5_ctx_t fHashStruct
Definition: MHO_MD5HashGenerator.hh:207
virtual _picohash_md5_ctx_t * GetMD5CTXPtr() override
Getter for md5ctxptr.
Definition: MHO_MD5HashGenerator.hh:198
void Initialize()
Recursive function to initialize a game state.
Definition: MHO_MD5HashGenerator.hh:143
virtual ~MHO_MD5HashGenerator()
Definition: MHO_MD5HashGenerator.hh:138
Class MHO_UUID - a class for a 16 byte UUID (for object and type identification)
Definition: MHO_UUID.hh:27
Definition: MHO_AdhocFlagging.hh:18
MHO_MD5HashGeneratorMultiType< bool, char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string > MHO_MD5HashGeneratorBasicTypes
Definition: MHO_MD5HashGenerator.hh:128
#define PICOHASH_MD5_DIGEST_LENGTH
Definition: picohash.h:44
Definition: picohash.h:46