# UTransPosition

Position structure for [utrans_transIncremental()](https://developer.android.com/ndk/reference/group/icu4c#group__icu4c_1ga67160f7c04dc1af49d1f1aad2bcb0d49) incremental transliteration.

## Summary

This structure defines two substrings of the text being transliterated. The first region, \[contextStart, contextLimit), defines what characters the transliterator will read as context. The second region, \[start, limit), defines what characters will actually be transliterated. The second region should be a subset of the first.

After a transliteration operation, some of the indices in this structure will be modified. See the field descriptions for details.

contextStart \<= start \<= limit \<= contextLimit

Note: All index values in this structure must be at code point boundaries. That is, none of them may occur between two code units of a surrogate pair. If any index does split a surrogate pair, results are unspecified.

<br />

| ### Public attributes ||
|---|---|
| `https://developer.android.com/ndk/reference/struct/u-trans-position#struct_u_trans_position_1a78d09b71320d0b9a1e7720bda8420372` | `int32_t` Ending index, exclusive, of the context to be considered for a transliteration operation. |
| `https://developer.android.com/ndk/reference/struct/u-trans-position#struct_u_trans_position_1ac0b101b915a80d9cad00974c66e28c40` | `int32_t` Beginning index, inclusive, of the context to be considered for a transliteration operation. |
| `https://developer.android.com/ndk/reference/struct/u-trans-position#struct_u_trans_position_1ace64783d9d1016f2960cda02b30dbd03` | `int32_t` Ending index, exclusive, of the text to be transliterated. |
| `https://developer.android.com/ndk/reference/struct/u-trans-position#struct_u_trans_position_1a26113cfb9aa6fd5457e6e9e095f0fc32` | `int32_t` Beginning index, inclusive, of the text to be transliterated. |

## Public attributes

### contextLimit

Declared in `unicode/utrans.h`

```scdoc
int32_t UTransPosition::contextLimit
```
Ending index, exclusive, of the context to be considered for a transliteration operation.

The transliterator will ignore anything at or after this index. INPUT/OUTPUT parameter: This parameter is updated to reflect changes in the length of the text, but points to the same logical position in the text.

### contextStart

Declared in `unicode/utrans.h`

```scdoc
int32_t UTransPosition::contextStart
```
Beginning index, inclusive, of the context to be considered for a transliteration operation.

The transliterator will ignore anything before this index. INPUT/OUTPUT parameter: This parameter is updated by a transliteration operation to reflect the maximum amount of antecontext needed by a transliterator.

### limit

Declared in `unicode/utrans.h`

```scdoc
int32_t UTransPosition::limit
```
Ending index, exclusive, of the text to be transliterated.

INPUT/OUTPUT parameter: This parameter is updated to reflect changes in the length of the text, but points to the same logical position in the text.

### start

Declared in `unicode/utrans.h`

```scdoc
int32_t UTransPosition::start
```
Beginning index, inclusive, of the text to be transliterated.

INPUT/OUTPUT parameter: This parameter is advanced past characters that have already been transliterated by a transliteration operation.