]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | // © 2016 and later: Unicode, Inc. and others. |
2 | // License & terms of use: http://www.unicode.org/copyright.html | |
729e4ab9 A |
3 | /******************************************************************** |
4 | * COPYRIGHT: | |
5 | * Copyright (c) 2008-2010, International Business Machines Corporation and | |
6 | * others. All Rights Reserved. | |
7 | ********************************************************************/ | |
8 | // | |
9 | // file: regextxt.h | |
10 | // | |
11 | // This file contains utility code for supporting UText in the regular expression engine. | |
12 | // | |
13 | // This class is internal to the regular expression implementation. | |
14 | // For the public Regular Expression API, see the file "unicode/regex.h" | |
15 | // | |
16 | ||
17 | #ifndef _REGEXTXT_H | |
18 | #define _REGEXTXT_H | |
19 | ||
20 | #include "unicode/utypes.h" | |
21 | #include "unicode/utext.h" | |
22 | ||
23 | U_NAMESPACE_BEGIN | |
24 | ||
25 | #define UTEXT_USES_U16(ut) (NULL==((ut)->pFuncs->mapNativeIndexToUTF16)) | |
26 | ||
27 | #if 0 | |
28 | #define REGEX_DISABLE_CHUNK_MODE 1 | |
29 | #endif | |
30 | ||
31 | #ifdef REGEX_DISABLE_CHUNK_MODE | |
32 | # define UTEXT_FULL_TEXT_IN_CHUNK(ut,len) (FALSE) | |
33 | #else | |
34 | # define UTEXT_FULL_TEXT_IN_CHUNK(ut,len) ((0==((ut)->chunkNativeStart))&&((len)==((ut)->chunkNativeLimit))&&((len)==((ut)->nativeIndexingLimit))) | |
35 | #endif | |
36 | ||
37 | struct URegexUTextUnescapeCharContext { | |
38 | UText *text; | |
39 | int32_t lastOffset; | |
40 | }; | |
41 | #define U_REGEX_UTEXT_UNESCAPE_CONTEXT(text) { (text), -1 } | |
42 | ||
43 | U_CFUNC UChar U_CALLCONV | |
44 | uregex_utext_unescape_charAt(int32_t offset, void * /* struct URegexUTextUnescapeCharContext* */ context); | |
45 | U_CFUNC UChar U_CALLCONV | |
46 | uregex_ucstr_unescape_charAt(int32_t offset, void * /* UChar* */ context); | |
47 | ||
48 | U_NAMESPACE_END | |
49 | ||
50 | #endif |