diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-06-14 00:50:34 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-06-14 00:50:34 +0100 |
commit | 37e364b2c6cc7487a1c888d256a73e5337bb7189 (patch) | |
tree | eaf6e857382eef16c2dd940eb4125536fbe068bd /src/T2DLL/LComparator.h | |
download | t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.tar.gz t2win-37e364b2c6cc7487a1c888d256a73e5337bb7189.zip |
initial commit
Diffstat (limited to '')
-rw-r--r-- | src/T2DLL/LComparator.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/T2DLL/LComparator.h b/src/T2DLL/LComparator.h new file mode 100644 index 0000000..8f51bd0 --- /dev/null +++ b/src/T2DLL/LComparator.h @@ -0,0 +1,28 @@ +#pragma once +#include "common.h" + +class LComparator { +public: + LComparator(); + virtual ~LComparator(); + virtual int Compare(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const; + virtual BOOL IsEqualTo(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const; + virtual int CompareToKey(const void* inItem, unsigned int inSize, const void* inKey) const; + virtual BOOL IsEqualToKey(const void* inItem, unsigned int inSize, const void* inKey) const; + static LComparator* GetComparator(); + virtual LComparator* Clone(); +protected: + static LComparator* sComparator; +}; + +class LLongComparator : public LComparator { +public: + LLongComparator(); + virtual ~LLongComparator(); + virtual int Compare(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const; + virtual BOOL IsEqualTo(const void* inItemOne, const void* inItemTwo, unsigned int inSizeOne, unsigned int inSizeTwo) const; + static LLongComparator* GetComparator(); + virtual LComparator* Clone(); +protected: + static LLongComparator* sLongComparator; +}; |