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));
76 for(
unsigned int i = 0; i < obj.size(); i++)
79 _picohash_md5_update(s.
GetMD5CTXPtr(),
reinterpret_cast< const void*
>(&ch),
sizeof(
char));
113 template<
typename XValueType >
121 template<
typename XValueType,
typename... XValueTypeS >
128 long long,
unsigned long long, float, double,
long double, std::string >
165 std::stringstream ss;
169 std::stringstream hss;
170 hss << std::setw(2) << std::setfill(
'0') << std::hex << (int)(tmp);
171 std::string hexstr = hss.str();
Class MHO_MD5HashGeneratorMultiType declares a multi-type streamer with a variadic template parameter...
Definition: MHO_MD5HashGenerator.hh:105
Class MHO_MD5HashGeneratorSingleType<std::string> specialization for string type.
Definition: MHO_MD5HashGenerator.hh:68
virtual _picohash_md5_ctx_t * GetMD5CTXPtr()=0
Getter for md5ctxptr.
MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:70
virtual ~MHO_MD5HashGeneratorSingleType()
Definition: MHO_MD5HashGenerator.hh:71
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:73
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:135
uint8_t fDigest[PICOHASH_MD5_DIGEST_LENGTH]
Definition: MHO_MD5HashGenerator.hh:209
MHO_MD5HashGenerator()
Definition: MHO_MD5HashGenerator.hh:137
void Finalize()
Finalizes the MD5 hash calculation and stores the result in fDigest.
Definition: MHO_MD5HashGenerator.hh:156
std::string GetDigest()
Getter for digest.
Definition: MHO_MD5HashGenerator.hh:163
MHO_MD5HashGenerator & Self() override
Returns a reference to the current instance of MHO_MD5HashGenerator.
Definition: MHO_MD5HashGenerator.hh:206
MHO_UUID GetDigestAsUUID()
Getter for digest as uuid.
Definition: MHO_MD5HashGenerator.hh:182
_picohash_md5_ctx_t fHashStruct
Definition: MHO_MD5HashGenerator.hh:208
virtual _picohash_md5_ctx_t * GetMD5CTXPtr() override
Getter for md5ctxptr.
Definition: MHO_MD5HashGenerator.hh:199
void Initialize()
Recursive function to initialize a game state.
Definition: MHO_MD5HashGenerator.hh:144
virtual ~MHO_MD5HashGenerator()
Definition: MHO_MD5HashGenerator.hh:139
Class MHO_UUID - a class for a 16 byte UUID (for object and type identification)
Definition: MHO_UUID.hh:27
Definition: MHO_ChannelLabeler.hh:17
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:129
#define PICOHASH_MD5_DIGEST_LENGTH
Definition: picohash.h:44
Definition: picohash.h:46