ICU 76.1: common/unicode/ubiditransform.h Source File

ICU 76.1 76.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
25#if U_SHOW_CPLUSPLUS_API
26#include "unicode/localpointer.h"
27#endif // U_SHOW_CPLUSPLUS_API
28
71 typedef enum {
76 UBIDI_LOGICAL = 0,
81 UBIDI_VISUAL
82} UBiDiOrder;
83
94 typedef enum {
100 UBIDI_MIRRORING_OFF = 0,
107 UBIDI_MIRRORING_ON
108} UBiDiMirroring;
109
115 typedef struct UBiDiTransform UBiDiTransform;
116
251 U_CAPI uint32_t U_EXPORT2
252ubiditransform_transform(UBiDiTransform *pBiDiTransform,
253 const UChar *src, int32_t srcLength,
254 UChar *dest, int32_t destSize,
255 UBiDiLevel inParaLevel, UBiDiOrder inOrder,
256 UBiDiLevel outParaLevel, UBiDiOrder outOrder,
257 UBiDiMirroring doMirroring, uint32_t shapingOptions,
258 UErrorCode *pErrorCode);
259
297 U_CAPI UBiDiTransform* U_EXPORT2
298ubiditransform_open(UErrorCode *pErrorCode);
299
304 U_CAPI void U_EXPORT2
305ubiditransform_close(UBiDiTransform *pBidiTransform);
306
307#if U_SHOW_CPLUSPLUS_API
308
309U_NAMESPACE_BEGIN
310
320 U_DEFINE_LOCAL_OPEN_POINTER(LocalUBiDiTransformPointer, UBiDiTransform, ubiditransform_close);
321
322U_NAMESPACE_END
323
324#endif
325
326#endif
LocalUBiDiTransformPointer
"Smart pointer" class, closes a UBiDiTransform via ubiditransform_close().
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
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:550
ubidi.h
C API: Bidi algorithm.
UBiDiLevel
uint8_t UBiDiLevel
UBiDiLevel is the type of the level values in this Bidi implementation.
Definition ubidi.h:340
ubiditransform_close
U_CAPI void ubiditransform_close(UBiDiTransform *pBidiTransform)
Deallocates the given UBiDiTransform object.
ubiditransform_transform
U_CAPI 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...
UBiDiTransform
struct UBiDiTransform UBiDiTransform
Forward declaration of the UBiDiTransform structure that stores information used by the layout transf...
Definition ubiditransform.h:115
UBiDiOrder
UBiDiOrder
UBiDiOrder indicates the order of text.
Definition ubiditransform.h:71
UBIDI_LOGICAL
@ UBIDI_LOGICAL
0: Constant indicating a logical order.
Definition ubiditransform.h:76
UBIDI_VISUAL
@ UBIDI_VISUAL
1: Constant indicating a visual order.
Definition ubiditransform.h:81
UBiDiMirroring
UBiDiMirroring
UBiDiMirroring indicates whether or not characters with the "mirrored" property in RTL runs should be...
Definition ubiditransform.h:94
UBIDI_MIRRORING_ON
@ UBIDI_MIRRORING_ON
1: Constant indicating that character mirroring should be performed.
Definition ubiditransform.h:107
UBIDI_MIRRORING_OFF
@ UBIDI_MIRRORING_OFF
0: Constant indicating that character mirroring should not be performed.
Definition ubiditransform.h:100
ubiditransform_open
U_CAPI UBiDiTransform * ubiditransform_open(UErrorCode *pErrorCode)
Allocates a UBiDiTransform object.
uchar.h
C API: Unicode Properties.
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition umachine.h:378
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition umachine.h:110
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:430