ICU 50.2 50.2
utrans.h
Go to the documentation of this file.
1/*
2*******************************************************************************
3* Copyright (C) 1997-2011, 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
19#include "unicode/urep.h"
20#include "unicode/parseerr.h"
21#include "unicode/uenum.h"
22
23/********************************************************************
24 * General Notes
25 ********************************************************************
26 */
55
56/********************************************************************
57 * Data Structures
58 ********************************************************************/
59
67typedef void* UTransliterator;
68
96
119typedef struct UTransPosition {
120
130
140
148 int32_t start;
149
157 int32_t limit;
158
160
161/********************************************************************
162 * General API
163 ********************************************************************/
164
188U_STABLE UTransliterator* U_EXPORT2
190 int32_t idLength,
191 UTransDirection dir,
192 const UChar *rules,
193 int32_t rulesLength,
194 UParseError *parseError,
195 UErrorCode *pErrorCode);
196
212U_STABLE UTransliterator* U_EXPORT2
214 UErrorCode* status);
215
226U_STABLE UTransliterator* U_EXPORT2
228 UErrorCode* status);
229
236U_STABLE void U_EXPORT2
238
239#if U_SHOW_CPLUSPLUS_API
240
242
253
255
256#endif
257
272U_STABLE const UChar * U_EXPORT2
274 int32_t *resultLength);
275
290U_STABLE void U_EXPORT2
292 UErrorCode* status);
293
303U_STABLE void U_EXPORT2
304utrans_unregisterID(const UChar* id, int32_t idLength);
305
324U_STABLE void U_EXPORT2
326 const UChar* filterPattern,
327 int32_t filterPatternLen,
328 UErrorCode* status);
329
337U_STABLE int32_t U_EXPORT2
339
349U_STABLE UEnumeration * U_EXPORT2
351
352/********************************************************************
353 * Transliteration API
354 ********************************************************************/
355
379U_STABLE void U_EXPORT2
381 UReplaceable* rep,
382 UReplaceableCallbacks* repFunc,
383 int32_t start,
384 int32_t* limit,
385 UErrorCode* status);
386
430U_STABLE void U_EXPORT2
432 UReplaceable* rep,
433 UReplaceableCallbacks* repFunc,
434 UTransPosition* pos,
435 UErrorCode* status);
436
468U_STABLE void U_EXPORT2
470 UChar* text,
471 int32_t* textLength,
472 int32_t textCapacity,
473 int32_t start,
474 int32_t* limit,
475 UErrorCode* status);
476
503U_STABLE void U_EXPORT2
505 UChar* text,
506 int32_t* textLength,
507 int32_t textCapacity,
508 UTransPosition* pos,
509 UErrorCode* status);
510
511/* deprecated API ----------------------------------------------------------- */
512
513#ifndef U_HIDE_DEPRECATED_API
514
515/* see utrans.h documentation for why these functions are deprecated */
516
541utrans_open(const char* id,
542 UTransDirection dir,
543 const UChar* rules, /* may be Null */
544 int32_t rulesLength, /* -1 if null-terminated */
545 UParseError* parseError, /* may be Null */
546 UErrorCode* status);
547
563U_DEPRECATED int32_t U_EXPORT2
565 char* buf,
566 int32_t bufCapacity);
567
577U_DEPRECATED void U_EXPORT2
578utrans_unregister(const char* id);
579
598U_DEPRECATED int32_t U_EXPORT2
600 char* buf,
601 int32_t bufCapacity);
602
603#endif /* U_HIDE_DEPRECATED_API */
604
605#endif /* #if !UCONFIG_NO_TRANSLITERATION */
606
607#endif
"Smart pointer" class, closes a UTransliterator via utrans_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
C API: Parse Error Information.
A UParseError struct is used to returned detailed information about parsing errors.
Definition parseerr.h:56
A set of function pointers that transliterators use to manipulate a UReplaceable.
Definition urep.h:51
Position structure for utrans_transIncremental() incremental transliteration.
Definition utrans.h:119
int32_t start
Beginning index, inclusive, of the text to be transliteratd.
Definition utrans.h:148
int32_t contextLimit
Ending index, exclusive, of the context to be considered for a transliteration operation.
Definition utrans.h:139
int32_t contextStart
Beginning index, inclusive, of the context to be considered for a transliteration operation.
Definition utrans.h:129
int32_t limit
Ending index, exclusive, of the text to be transliteratd.
Definition utrans.h:157
C API: String Enumeration.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition uenum.h:39
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API.
Definition umachine.h:113
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:278
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition umachine.h:109
C API: Callbacks for UReplaceable.
void * UReplaceable
An opaque replaceable text object.
Definition urep.h:42
UTransDirection
Direction constant indicating the direction in a transliterator, e.g., the forward or reverse rules o...
Definition utrans.h:77
@ UTRANS_FORWARD
UTRANS_FORWARD means from <source> to <target> for a transliterator with ID <source>-<target>.
Definition utrans.h:85
@ UTRANS_REVERSE
UTRANS_REVERSE means from <target> to <source> for a transliterator with ID <source>-<target>.
Definition utrans.h:93
void * UTransliterator
An opaque transliterator for use in C.
Definition utrans.h:67
void utrans_close(UTransliterator *trans)
Close a transliterator.
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.
void utrans_register(UTransliterator *adoptedTrans, UErrorCode *status)
Register an open transliterator with the system.
UTransliterator * utrans_clone(const UTransliterator *trans, UErrorCode *status)
Create a copy of a transliterator.
const UChar * utrans_getUnicodeID(const UTransliterator *trans, int32_t *resultLength)
Return the programmatic identifier for this transliterator.
int32_t utrans_getID(const UTransliterator *trans, char *buf, int32_t bufCapacity)
Deprecated, use utrans_getUnicodeID() instead.
void utrans_unregisterID(const UChar *id, int32_t idLength)
Unregister a transliterator from the system.
void utrans_unregister(const char *id)
Deprecated, use utrans_unregisterID() instead.
int32_t utrans_getAvailableID(int32_t index, char *buf, int32_t bufCapacity)
Deprecated, use utrans_openIDs() instead.
int32_t utrans_countAvailableIDs(void)
Return the number of system transliterators.
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.
void utrans_setFilter(UTransliterator *trans, const UChar *filterPattern, int32_t filterPatternLen, UErrorCode *status)
Set the filter used by a transliterator.
UEnumeration * utrans_openIDs(UErrorCode *pErrorCode)
Return a UEnumeration for the available transliterators.
UTransliterator * utrans_open(const char *id, UTransDirection dir, const UChar *rules, int32_t rulesLength, UParseError *parseError, UErrorCode *status)
Deprecated, use utrans_openU() instead.
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.
UTransliterator * utrans_openInverse(const UTransliterator *trans, UErrorCode *status)
Open an inverse of an existing transliterator.
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,...
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.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:476
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:129