ICU 59.1  59.1
ubiditransform.h
Go to the documentation of this file.
1 /*
2 ******************************************************************************
3 *
4 * © 2016 and later: Unicode, Inc. and others.
5 * License & terms of use: http://www.unicode.org/copyright.html
6 *
7 ******************************************************************************
8 * file name: ubiditransform.h
9 * encoding: UTF-8
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2016jul24
14 * created by: Lina Kemmel
15 *
16 */
17 
18 #ifndef UBIDITRANSFORM_H
19 #define UBIDITRANSFORM_H
20 
21 #include "unicode/utypes.h"
22 #include "unicode/ubidi.h"
23 #include "unicode/uchar.h"
24 #include "unicode/localpointer.h"
25 
26 #ifndef U_HIDE_DRAFT_API
27 
65 typedef enum {
76 } UBiDiOrder;
77 
88 typedef enum {
103 
110 
245 U_DRAFT uint32_t U_EXPORT2
247  const UChar *src, int32_t srcLength,
248  UChar *dest, int32_t destSize,
249  UBiDiLevel inParaLevel, UBiDiOrder inOrder,
250  UBiDiLevel outParaLevel, UBiDiOrder outOrder,
251  UBiDiMirroring doMirroring, uint32_t shapingOptions,
252  UErrorCode *pErrorCode);
253 
291 U_DRAFT UBiDiTransform* U_EXPORT2
292 ubiditransform_open(UErrorCode *pErrorCode);
293 
298 U_DRAFT void U_EXPORT2
299 ubiditransform_close(UBiDiTransform *pBidiTransform);
300 
301 #if U_SHOW_CPLUSPLUS_API
302 
304 
315 
317 
318 #endif
319 
320 #endif /* U_HIDE_DRAFT_API */
321 #endif
C API: Bidi algorithm.
1: Constant indicating that character mirroring should be performed.
uint32_t ubiditransform_transform(UBiDiTransform *pBiDiTransform, const UChar *src, int32_t srcLength, UChar *dest, int32_t destSize, UBiDiLevel inParaLevel, UBiDiOrder inOrder, UBiDiLevel outParaLevel, UBiDiOrder outOrder, UBiDiMirroring doMirroring, uint32_t shapingOptions, UErrorCode *pErrorCode)
Performs transformation of text from the bidi layout defined by the input ordering scheme to the bidi...
uint8_t UBiDiLevel
UBiDiLevel is the type of the level values in this Bidi implementation.
Definition: ubidi.h:332
void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:496
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
C API: Unicode Properties.
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:349
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
UBiDiOrder
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:396
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
0: Constant indicating a logical order.
Basic definitions for ICU, for both C and C++ APIs.
1: Constant indicating a visual order.
0: Constant indicating that character mirroring should not be performed.
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
#define U_DRAFT
This is used to declare a function as a draft public ICU C API.
Definition: umachine.h:113