summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h')
-rw-r--r--Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h b/Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h
new file mode 100644
index 00000000000..085643a8d7a
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/tools/genrb/ustr.h
@@ -0,0 +1,66 @@
+/*
+*******************************************************************************
+*
+* Copyright (C) 1998-2003, International Business Machines
+* Corporation and others. All Rights Reserved.
+*
+*******************************************************************************
+*
+* File ustr.h
+*
+* Modification History:
+*
+* Date Name Description
+* 05/28/99 stephen Creation.
+*******************************************************************************
+*/
+
+#ifndef USTR_H
+#define USTR_H 1
+
+#include "unicode/utypes.h"
+
+#define U_APPEND_CHAR32(c,target,len) { \
+ if (c <= 0xffff) \
+ { \
+ *(target)++ = (UChar) c; \
+ len=1; \
+ } \
+ else \
+ { \
+ target[0] = U16_LEAD(c); \
+ target[1] = U16_TRAIL(c); \
+ len=2; \
+ target +=2; \
+ } \
+}
+
+/* A C representation of a string "object" (to avoid realloc all the time) */
+struct UString {
+ UChar *fChars;
+ int32_t fLength;
+ int32_t fCapacity;
+};
+
+void ustr_init(struct UString *s);
+
+void
+ustr_initChars(struct UString *s, const char* source, int32_t length, UErrorCode *status);
+
+void ustr_deinit(struct UString *s);
+
+void ustr_setlen(struct UString *s, int32_t len, UErrorCode *status);
+
+void ustr_cpy(struct UString *dst, const struct UString *src,
+ UErrorCode *status);
+
+void ustr_cat(struct UString *dst, const struct UString *src,
+ UErrorCode *status);
+
+void ustr_ncat(struct UString *dst, const struct UString *src,
+ int32_t n, UErrorCode *status);
+
+void ustr_ucat(struct UString *dst, UChar c, UErrorCode *status);
+void ustr_u32cat(struct UString *dst, UChar32 c, UErrorCode *status);
+void ustr_uscat(struct UString *dst, const UChar* src,int len,UErrorCode *status);
+#endif