2020-11-15 13:20:10 -06:00
|
|
|
#ifndef STORM_HASH_HASHKEY_HPP
|
|
|
|
|
#define STORM_HASH_HASHKEY_HPP
|
|
|
|
|
|
2025-09-03 20:38:06 -05:00
|
|
|
class HASHKEY_NONE {
|
2020-11-15 13:20:10 -06:00
|
|
|
public:
|
2025-09-03 20:38:06 -05:00
|
|
|
// Member functions
|
|
|
|
|
bool operator==(const HASHKEY_NONE& key);
|
|
|
|
|
};
|
2020-11-15 13:20:10 -06:00
|
|
|
|
2025-09-03 20:38:06 -05:00
|
|
|
class HASHKEY_PTR {
|
|
|
|
|
public:
|
2020-11-15 13:20:10 -06:00
|
|
|
// Member functions
|
2025-09-02 21:25:37 -05:00
|
|
|
HASHKEY_PTR();
|
2025-09-02 20:08:57 -05:00
|
|
|
HASHKEY_PTR(void* key);
|
2025-09-03 20:38:06 -05:00
|
|
|
HASHKEY_PTR& operator=(const HASHKEY_PTR& key);
|
2025-09-03 17:18:13 -05:00
|
|
|
bool operator==(const HASHKEY_PTR& key) const;
|
2025-09-03 20:38:06 -05:00
|
|
|
void* GetPtr() const;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
// Member variables
|
|
|
|
|
void* m_key;
|
2020-11-15 13:20:10 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class HASHKEY_STR {
|
|
|
|
|
public:
|
|
|
|
|
// Member functions
|
2025-09-02 21:25:37 -05:00
|
|
|
HASHKEY_STR();
|
|
|
|
|
HASHKEY_STR(const char* str);
|
2020-11-15 13:20:10 -06:00
|
|
|
~HASHKEY_STR();
|
2022-12-28 17:08:59 -06:00
|
|
|
HASHKEY_STR& operator=(const char* str);
|
2025-09-03 20:38:06 -05:00
|
|
|
HASHKEY_STR& operator=(const HASHKEY_STR& key);
|
2025-09-03 17:18:13 -05:00
|
|
|
bool operator==(const char* str) const;
|
2025-09-03 20:38:06 -05:00
|
|
|
bool operator==(const HASHKEY_STR& key) const;
|
|
|
|
|
const char* GetString() const;
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
// Member variables
|
|
|
|
|
char* m_str;
|
2020-11-15 13:20:10 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class HASHKEY_STRI : public HASHKEY_STR {
|
|
|
|
|
public:
|
|
|
|
|
// Member functions
|
2025-09-03 20:38:06 -05:00
|
|
|
HASHKEY_STRI() : HASHKEY_STR() {};
|
|
|
|
|
HASHKEY_STRI(const char* str) : HASHKEY_STR(str) {};
|
2022-12-28 17:08:59 -06:00
|
|
|
HASHKEY_STRI& operator=(const char* str);
|
2025-09-03 20:38:06 -05:00
|
|
|
HASHKEY_STRI& operator=(const HASHKEY_STRI& key);
|
2025-09-03 17:18:13 -05:00
|
|
|
bool operator==(const char* str) const;
|
2025-09-03 20:38:06 -05:00
|
|
|
bool operator==(const HASHKEY_STRI& key) const;
|
2020-11-15 13:20:10 -06:00
|
|
|
};
|
|
|
|
|
|
2025-10-16 14:39:21 -07:00
|
|
|
class HASHKEY_CONSTSTR {
|
|
|
|
|
public:
|
|
|
|
|
// Member functions
|
|
|
|
|
HASHKEY_CONSTSTR();
|
|
|
|
|
HASHKEY_CONSTSTR(const char* str);
|
|
|
|
|
~HASHKEY_CONSTSTR();
|
|
|
|
|
HASHKEY_CONSTSTR& operator=(const char* str);
|
|
|
|
|
HASHKEY_CONSTSTR& operator=(const HASHKEY_CONSTSTR& key);
|
|
|
|
|
bool operator==(const char* str) const;
|
|
|
|
|
bool operator==(const HASHKEY_CONSTSTR& key) const;
|
|
|
|
|
const char* GetString() const;
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
// Member variables
|
|
|
|
|
const char* m_str;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class HASHKEY_CONSTSTRI : public HASHKEY_CONSTSTR {
|
|
|
|
|
public:
|
|
|
|
|
// Member functions
|
|
|
|
|
HASHKEY_CONSTSTRI() : HASHKEY_CONSTSTR() {};
|
|
|
|
|
HASHKEY_CONSTSTRI(const char* str) : HASHKEY_CONSTSTR(str) {};
|
|
|
|
|
HASHKEY_CONSTSTRI& operator=(const char* str);
|
|
|
|
|
HASHKEY_CONSTSTRI& operator=(const HASHKEY_CONSTSTRI& key);
|
|
|
|
|
bool operator==(const char* str) const;
|
|
|
|
|
bool operator==(const HASHKEY_CONSTSTRI& key) const;
|
|
|
|
|
};
|
|
|
|
|
|
2020-11-15 13:20:10 -06:00
|
|
|
#endif
|