Index: icu46/source/common/uhash_us.cpp |
=================================================================== |
--- icu46/source/common/uhash_us.cpp (revision 0) |
+++ icu46/source/common/uhash_us.cpp (revision 0) |
@@ -0,0 +1,68 @@ |
+/* |
+****************************************************************************** |
+* Copyright (C) 1997-2010, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+****************************************************************************** |
+* Date Name Description |
+* 03/22/00 aliu Creation. |
+* 07/06/01 aliu Modified to support int32_t keys on |
+* platforms with sizeof(void*) < 32. |
+****************************************************************************** |
+*/ |
+ |
+#include "uhash.h" |
+#include "hash.h" |
+#include "uvector.h" |
+#include "unicode/unistr.h" |
+#include "unicode/uchar.h" |
+ |
+/******************************************************************** |
+ * PUBLIC UnicodeString support functions for UHashtable |
+ ********************************************************************/ |
+ |
+U_CAPI int32_t U_EXPORT2 |
+uhash_hashUnicodeString(const UHashTok key) { |
+ U_NAMESPACE_USE |
+ const UnicodeString *str = (const UnicodeString*) key.pointer; |
+ return (str == NULL) ? 0 : str->hashCode(); |
+} |
+ |
+U_CAPI void U_EXPORT2 |
+uhash_deleteUnicodeString(void *obj) { |
+ U_NAMESPACE_USE |
+ delete (UnicodeString*) obj; |
+} |
+ |
+U_CAPI UBool U_EXPORT2 |
+uhash_compareUnicodeString(const UHashTok key1, const UHashTok key2) { |
+ U_NAMESPACE_USE |
+ const UnicodeString *str1 = (const UnicodeString*) key1.pointer; |
+ const UnicodeString *str2 = (const UnicodeString*) key2.pointer; |
+ if (str1 == str2) { |
+ return TRUE; |
+ } |
+ if (str1 == NULL || str2 == NULL) { |
+ return FALSE; |
+ } |
+ return *str1 == *str2; |
+} |
+ |
+/** |
+ * Deleter for Hashtable objects. |
+ */ |
+U_CAPI void U_EXPORT2 |
+uhash_deleteHashtable(void *obj) { |
+ U_NAMESPACE_USE |
+ delete (Hashtable*) obj; |
+} |
+ |
+/** |
+ * Deleter for UObject instances. |
+ */ |
+U_CAPI void U_EXPORT2 |
+uhash_deleteUObject(void *obj) { |
+ U_NAMESPACE_USE |
+ delete (UObject*) obj; |
+} |
+ |
+//eof |
Property changes on: icu46/source/common/uhash_us.cpp |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |