| // © 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 |