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