summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/i18n/regextxt.h
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu/source/i18n/regextxt.h')
-rw-r--r--intl/icu/source/i18n/regextxt.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/regextxt.h b/intl/icu/source/i18n/regextxt.h
new file mode 100644
index 000000000..c5651aefd
--- /dev/null
+++ b/intl/icu/source/i18n/regextxt.h
@@ -0,0 +1,50 @@
+// Copyright (C) 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/********************************************************************
+ * COPYRIGHT:
+ * Copyright (c) 2008-2010, International Business Machines Corporation and
+ * others. All Rights Reserved.
+ ********************************************************************/
+//
+// file: regextxt.h
+//
+// This file contains utility code for supporting UText in the regular expression engine.
+//
+// This class is internal to the regular expression implementation.
+// For the public Regular Expression API, see the file "unicode/regex.h"
+//
+
+#ifndef _REGEXTXT_H
+#define _REGEXTXT_H
+
+#include "unicode/utypes.h"
+#include "unicode/utext.h"
+
+U_NAMESPACE_BEGIN
+
+#define UTEXT_USES_U16(ut) (NULL==((ut)->pFuncs->mapNativeIndexToUTF16))
+
+#if 0
+#define REGEX_DISABLE_CHUNK_MODE 1
+#endif
+
+#ifdef REGEX_DISABLE_CHUNK_MODE
+# define UTEXT_FULL_TEXT_IN_CHUNK(ut,len) (FALSE)
+#else
+# define UTEXT_FULL_TEXT_IN_CHUNK(ut,len) ((0==((ut)->chunkNativeStart))&&((len)==((ut)->chunkNativeLimit))&&((len)==((ut)->nativeIndexingLimit)))
+#endif
+
+struct URegexUTextUnescapeCharContext {
+ UText *text;
+ int32_t lastOffset;
+};
+#define U_REGEX_UTEXT_UNESCAPE_CONTEXT(text) { (text), -1 }
+
+U_CFUNC UChar U_CALLCONV
+uregex_utext_unescape_charAt(int32_t offset, void * /* struct URegexUTextUnescapeCharContext* */ context);
+U_CFUNC UChar U_CALLCONV
+uregex_ucstr_unescape_charAt(int32_t offset, void * /* UChar* */ context);
+
+U_NAMESPACE_END
+
+#endif