ICU 56.1: utrans.h Source File

ICU 56.1 56.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

utrans.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************
3 * Copyright (C) 1997-2011,2014-2015 International Business Machines
4 * Corporation and others. All Rights Reserved.
5 *******************************************************************************
6 * Date Name Description
7 * 06/21/00 aliu Creation.
8 *******************************************************************************
9 */
10
11 #ifndef UTRANS_H
12 #define UTRANS_H
13
14 #include "unicode/utypes.h"
15
16 #if !UCONFIG_NO_TRANSLITERATION
17
18 #include "unicode/localpointer.h"
19 #include "unicode/urep.h"
20 #include "unicode/parseerr.h"
21 #include "unicode/uenum.h"
22 #include "unicode/uset.h"
23
24 /********************************************************************
25 * General Notes
26 ********************************************************************
27 */
57 /********************************************************************
58 * Data Structures
59 ********************************************************************/
60
68 typedef void* UTransliterator;
69
78 typedef enum UTransDirection {
79
86 UTRANS_FORWARD,
87
94 UTRANS_REVERSE
95
96 } UTransDirection;
97
120 typedef struct UTransPosition {
121
130 int32_t contextStart;
131
140 int32_t contextLimit;
141
149 int32_t start;
150
158 int32_t limit;
159
160 } UTransPosition;
161
162 /********************************************************************
163 * General API
164 ********************************************************************/
165
189 U_STABLE UTransliterator* U_EXPORT2
190 utrans_openU(const UChar *id,
191 int32_t idLength,
192 UTransDirection dir,
193 const UChar *rules,
194 int32_t rulesLength,
195 UParseError *parseError,
196 UErrorCode *pErrorCode);
197
213 U_STABLE UTransliterator* U_EXPORT2
214 utrans_openInverse(const UTransliterator* trans,
215 UErrorCode* status);
216
227 U_STABLE UTransliterator* U_EXPORT2
228 utrans_clone(const UTransliterator* trans,
229 UErrorCode* status);
230
237 U_STABLE void U_EXPORT2
238 utrans_close(UTransliterator* trans);
239
240 #if U_SHOW_CPLUSPLUS_API
241
242 U_NAMESPACE_BEGIN
243
253 U_DEFINE_LOCAL_OPEN_POINTER(LocalUTransliteratorPointer, UTransliterator, utrans_close);
254
255 U_NAMESPACE_END
256
257 #endif
258
273 U_STABLE const UChar * U_EXPORT2
274 utrans_getUnicodeID(const UTransliterator *trans,
275 int32_t *resultLength);
276
291 U_STABLE void U_EXPORT2
292 utrans_register(UTransliterator* adoptedTrans,
293 UErrorCode* status);
294
304 U_STABLE void U_EXPORT2
305 utrans_unregisterID(const UChar* id, int32_t idLength);
306
325 U_STABLE void U_EXPORT2
326 utrans_setFilter(UTransliterator* trans,
327 const UChar* filterPattern,
328 int32_t filterPatternLen,
329 UErrorCode* status);
330
338 U_STABLE int32_t U_EXPORT2
339 utrans_countAvailableIDs(void);
340
350 U_STABLE UEnumeration * U_EXPORT2
351 utrans_openIDs(UErrorCode *pErrorCode);
352
353 /********************************************************************
354 * Transliteration API
355 ********************************************************************/
356
380 U_STABLE void U_EXPORT2
381 utrans_trans(const UTransliterator* trans,
382 UReplaceable* rep,
383 UReplaceableCallbacks* repFunc,
384 int32_t start,
385 int32_t* limit,
386 UErrorCode* status);
387
431 U_STABLE void U_EXPORT2
432 utrans_transIncremental(const UTransliterator* trans,
433 UReplaceable* rep,
434 UReplaceableCallbacks* repFunc,
435 UTransPosition* pos,
436 UErrorCode* status);
437
469 U_STABLE void U_EXPORT2
470 utrans_transUChars(const UTransliterator* trans,
471 UChar* text,
472 int32_t* textLength,
473 int32_t textCapacity,
474 int32_t start,
475 int32_t* limit,
476 UErrorCode* status);
477
504 U_STABLE void U_EXPORT2
505 utrans_transIncrementalUChars(const UTransliterator* trans,
506 UChar* text,
507 int32_t* textLength,
508 int32_t textCapacity,
509 UTransPosition* pos,
510 UErrorCode* status);
511
529 U_STABLE int32_t U_EXPORT2
530 utrans_toRules( const UTransliterator* trans,
531 UBool escapeUnprintable,
532 UChar* result, int32_t resultLength,
533 UErrorCode* status);
534
554 U_STABLE USet* U_EXPORT2
555 utrans_getSourceSet(const UTransliterator* trans,
556 UBool ignoreFilter,
557 USet* fillIn,
558 UErrorCode* status);
559
560 /* deprecated API ----------------------------------------------------------- */
561
562 #ifndef U_HIDE_DEPRECATED_API
563
564 /* see utrans.h documentation for why these functions are deprecated */
565
589 U_DEPRECATED UTransliterator* U_EXPORT2
590 utrans_open(const char* id,
591 UTransDirection dir,
592 const UChar* rules, /* may be Null */
593 int32_t rulesLength, /* -1 if null-terminated */
594 UParseError* parseError, /* may be Null */
595 UErrorCode* status);
596
612 U_DEPRECATED int32_t U_EXPORT2
613 utrans_getID(const UTransliterator* trans,
614 char* buf,
615 int32_t bufCapacity);
616
626 U_DEPRECATED void U_EXPORT2
627 utrans_unregister(const char* id);
628
647 U_DEPRECATED int32_t U_EXPORT2
648 utrans_getAvailableID(int32_t index,
649 char* buf,
650 int32_t bufCapacity);
651
652 #endif /* U_HIDE_DEPRECATED_API */
653
654 #endif /* #if !UCONFIG_NO_TRANSLITERATION */
655
656 #endif
UTRANS_FORWARD
UTRANS_FORWARD means from to for a transliterator with ID -.
Definition: utrans.h:86
utrans_getID
int32_t utrans_getID(const UTransliterator *trans, char *buf, int32_t bufCapacity)
Deprecated, use utrans_getUnicodeID() instead.
UTRANS_REVERSE
UTRANS_REVERSE means from to for a transliterator with ID -.
Definition: utrans.h:94
UTransliterator
void * UTransliterator
An opaque transliterator for use in C.
Definition: utrans.h:68
utrans_unregisterID
void utrans_unregisterID(const UChar *id, int32_t idLength)
Unregister a transliterator from the system.
utrans_transIncremental
void utrans_transIncremental(const UTransliterator *trans, UReplaceable *rep, UReplaceableCallbacks *repFunc, UTransPosition *pos, UErrorCode *status)
Transliterate the portion of the UReplaceable text buffer that can be transliterated unambiguosly...
utrans_close
void utrans_close(UTransliterator *trans)
Close a transliterator.
utrans_countAvailableIDs
int32_t utrans_countAvailableIDs(void)
Return the number of system transliterators.
utrans_setFilter
void utrans_setFilter(UTransliterator *trans, const UChar *filterPattern, int32_t filterPatternLen, UErrorCode *status)
Set the filter used by a transliterator.
UTransPosition
Position structure for utrans_transIncremental() incremental transliteration.
Definition: utrans.h:120
urep.h
C API: Callbacks for UReplaceable.
UEnumeration
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:39
UReplaceable
void * UReplaceable
An opaque replaceable text object.
Definition: urep.h:42
utrans_openU
UTransliterator * utrans_openU(const UChar *id, int32_t idLength, UTransDirection dir, const UChar *rules, int32_t rulesLength, UParseError *parseError, UErrorCode *pErrorCode)
Open a custom transliterator, given a custom rules string OR a system transliterator, given its ID.
utrans_toRules
int32_t utrans_toRules(const UTransliterator *trans, UBool escapeUnprintable, UChar *result, int32_t resultLength, UErrorCode *status)
Create a rule string that can be passed to utrans_openU to recreate this transliterator.
UTransPosition::limit
int32_t limit
Ending index, exclusive, of the text to be transliteratd.
Definition: utrans.h:158
UTransPosition::contextLimit
int32_t contextLimit
Ending index, exclusive, of the context to be considered for a transliteration operation.
Definition: utrans.h:140
utrans_openIDs
UEnumeration * utrans_openIDs(UErrorCode *pErrorCode)
Return a UEnumeration for the available transliterators.
uset.h
C API: Unicode Set.
utrans_transUChars
void utrans_transUChars(const UTransliterator *trans, UChar *text, int32_t *textLength, int32_t textCapacity, int32_t start, int32_t *limit, UErrorCode *status)
Transliterate a segment of a UChar* string.
utrans_getUnicodeID
const UChar * utrans_getUnicodeID(const UTransliterator *trans, int32_t *resultLength)
Return the programmatic identifier for this transliterator.
U_DEPRECATED
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API.
Definition: umachine.h:113
utrans_open
UTransliterator * utrans_open(const char *id, UTransDirection dir, const UChar *rules, int32_t rulesLength, UParseError *parseError, UErrorCode *status)
Deprecated, use utrans_openU() instead.
LocalUTransliteratorPointer
"Smart pointer" class, closes a UTransliterator via utrans_close().
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
utrans_trans
void utrans_trans(const UTransliterator *trans, UReplaceable *rep, UReplaceableCallbacks *repFunc, int32_t start, int32_t *limit, UErrorCode *status)
Transliterate a segment of a UReplaceable string.
UTransPosition::contextStart
int32_t contextStart
Beginning index, inclusive, of the context to be considered for a transliteration operation...
Definition: utrans.h:130
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:535
UTransPosition::start
int32_t start
Beginning index, inclusive, of the text to be transliteratd.
Definition: utrans.h:149
utrans_transIncrementalUChars
void utrans_transIncrementalUChars(const UTransliterator *trans, UChar *text, int32_t *textLength, int32_t textCapacity, UTransPosition *pos, UErrorCode *status)
Transliterate the portion of the UChar* text buffer that can be transliterated unambiguosly.
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
utrans_getAvailableID
int32_t utrans_getAvailableID(int32_t index, char *buf, int32_t bufCapacity)
Deprecated, use utrans_openIDs() instead.
utrans_clone
UTransliterator * utrans_clone(const UTransliterator *trans, UErrorCode *status)
Create a copy of a transliterator.
utrans_getSourceSet
USet * utrans_getSourceSet(const UTransliterator *trans, UBool ignoreFilter, USet *fillIn, UErrorCode *status)
Returns the set of all characters that may be modified in the input text by this UTransliterator, optionally ignoring the transliterator's current filter.
utrans_openInverse
UTransliterator * utrans_openInverse(const UTransliterator *trans, UErrorCode *status)
Open an inverse of an existing transliterator.
UReplaceableCallbacks
A set of function pointers that transliterators use to manipulate a UReplaceable. ...
Definition: urep.h:51
utrans_register
void utrans_register(UTransliterator *adoptedTrans, UErrorCode *status)
Register an open transliterator with the system.
UChar
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:312
U_NAMESPACE_END
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
USet
struct USet USet
Definition: ucnv.h:67
parseerr.h
C API: Parse Error Information.
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
uenum.h
C API: String Enumeration.
UParseError
A UParseError struct is used to returned detailed information about parsing errors.
Definition: parseerr.h:56
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UTransPosition
struct UTransPosition UTransPosition
Position structure for utrans_transIncremental() incremental transliteration.
utrans_unregister
void utrans_unregister(const char *id)
Deprecated, use utrans_unregisterID() instead.
UTransDirection
UTransDirection
Direction constant indicating the direction in a transliterator, e.g., the forward or reverse rules o...
Definition: utrans.h:78
U_STABLE
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:109
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:234