# UText Struct Reference

UText struct. More...

`#include <utext.h>`

## Data Fields
uint32_t | magic
| (private) Magic.
int32_t | flags
| (private) Flags for managing the allocation and freeing of memory associated with this UText.
int32_t | providerProperties
| Text provider properties.
int32_t | sizeOfStruct
| (public) sizeOfStruct=sizeof(UText) Allows possible backward compatible extension.
int64_t | chunkNativeLimit
| (protected) Native index of the first character position following the current chunk.
int32_t | extraSize
| (protected) Size in bytes of the extra space (pExtra).
int32_t | nativeIndexingLimit
| (protected) The highest chunk offset where native indexing and chunk (UTF-16) indexing correspond.
int64_t | chunkNativeStart
| (protected) Native index of the first character in the text chunk.
int32_t | chunkOffset
| (protected) Current iteration position within the text chunk (UTF-16 buffer).
int32_t | chunkLength
| (protected) Length the text chunk (UTF-16 buffer), in UChars.
const UChar * | chunkContents
| (protected) pointer to a chunk of text in UTF-16 format.
const UTextFuncs * | pFuncs
| (public) Pointer to Dispatch table for accessing functions for this UText.
void * | pExtra
| (protected) Pointer to additional space requested by the text provider during the utext_open operation.
const void * | context
| (protected) Pointer to string or text-containin object or similar.
const void * | p
| (protected) Pointer fields available for use by the text provider.
const void * | q
| (protected) Pointer fields available for use by the text provider.
const void * | r
| (protected) Pointer fields available for use by the text provider.
void * | privP
| Private field reserved for future use by the UText framework itself.
int64_t | a
| (protected) Integer field reserved for use by the text provider.
int32_t | b
| (protected) Integer field reserved for use by the text provider.
int32_t | c
| (protected) Integer field reserved for use by the text provider.
int64_t | privA
| Private field reserved for future use by the UText framework itself.
int32_t | privB
| Private field reserved for future use by the UText framework itself.
int32_t | privC
| Private field reserved for future use by the UText framework itself.

## Detailed Description

UText struct.

Provides the interface between the generic UText access code and the UText provider code that works on specific kinds of text (UTF-8, noncontiguous UTF-16, whatever.)

Applications that are using predefined types of text providers to pass text data to ICU services will have no need to view the internals of the UText structs that they open.

Stable:
  ICU 3.6

Definition at line 1307 of file utext.h.

## Field Documentation

int64_t UText::a

(protected) Integer field reserved for use by the text provider.

Not used by the UText framework, or by the client (user) of the UText.

Stable:
  ICU 3.4

Definition at line 1461 of file utext.h.

int32_t UText::b

(protected) Integer field reserved for use by the text provider.

Not used by the UText framework, or by the client (user) of the UText.

Stable:
  ICU 3.4

Definition at line 1468 of file utext.h.

int32_t UText::c

(protected) Integer field reserved for use by the text provider.

Not used by the UText framework, or by the client (user) of the UText.

Stable:
  ICU 3.4

Definition at line 1475 of file utext.h.

const UChar* UText::chunkContents

(protected) pointer to a chunk of text in UTF-16 format.

May refer either to original storage of the source of the text, or if conversion was required, to a buffer owned by the UText.

Stable:
  ICU 3.6

Definition at line 1401 of file utext.h.

int32_t UText::chunkLength

(protected) Length the text chunk (UTF-16 buffer), in UChars.

Stable:
  ICU 3.6

Definition at line 1390 of file utext.h.

int64_t UText::chunkNativeLimit

(protected) Native index of the first character position following the current chunk.

Stable:
  ICU 3.6

Definition at line 1354 of file utext.h.

int64_t UText::chunkNativeStart

(protected) Native index of the first character in the text chunk.

Stable:
  ICU 3.6

Definition at line 1377 of file utext.h.

int32_t UText::chunkOffset

(protected) Current iteration position within the text chunk (UTF-16 buffer).

This is the index to the character that will be returned by utext_next32().

Stable:
  ICU 3.6

Definition at line 1384 of file utext.h.

const void* UText::context

(protected) Pointer to string or text-containin object or similar.

This is the source of the text that this UText is wrapping, in a format that is known to the text provider functions.

Stable:
  ICU 3.4

Definition at line 1422 of file utext.h.

int32_t UText::extraSize

(protected) Size in bytes of the extra space (pExtra).

Stable:
  ICU 3.4

Definition at line 1360 of file utext.h.

int32_t UText::flags

(private) Flags for managing the allocation and freeing of memory associated with this UText.

Internal:
  Do not use. This API is for internal use only.

Definition at line 1328 of file utext.h.

uint32_t UText::magic

(private) Magic.

Used to help detect when UText functions are handed invalid or unitialized UText structs. utext_openXYZ() functions take an initialized, but not necessarily open, UText struct as an optional fill-in parameter. This magic field is used to check for that initialization. Text provider close functions must NOT clear the magic field because that would prevent reuse of the UText struct.

Internal:
  Do not use. This API is for internal use only.

Definition at line 1320 of file utext.h.

int32_t UText::nativeIndexingLimit

(protected) The highest chunk offset where native indexing and chunk (UTF-16) indexing correspond.

For UTF-16 sources, value will be equal to chunkLength.

Stable:
  ICU 3.6

Definition at line 1369 of file utext.h.

const void* UText::p

(protected) Pointer fields available for use by the text provider.

Not used by UText common code.

Stable:
  ICU 3.6

Definition at line 1431 of file utext.h.

void* UText::pExtra

(protected) Pointer to additional space requested by the text provider during the utext_open operation.

Stable:
  ICU 3.4

Definition at line 1414 of file utext.h.

const UTextFuncs* UText::pFuncs

(public) Pointer to Dispatch table for accessing functions for this UText.

Stable:
  ICU 3.6

Definition at line 1407 of file utext.h.

int64_t UText::privA

Private field reserved for future use by the UText framework itself.

This is not to be touched by the text providers.

Internal:
  Do not use. This API is for internal use only. ICU 3.4

Definition at line 1485 of file utext.h.

int32_t UText::privB

Private field reserved for future use by the UText framework itself.

This is not to be touched by the text providers.

Internal:
  Do not use. This API is for internal use only. ICU 3.4

Definition at line 1491 of file utext.h.

int32_t UText::privC

Private field reserved for future use by the UText framework itself.

This is not to be touched by the text providers.

Internal:
  Do not use. This API is for internal use only. ICU 3.4

Definition at line 1497 of file utext.h.

void* UText::privP

Private field reserved for future use by the UText framework itself.

This is not to be touched by the text providers.

Internal:
  Do not use. This API is for internal use only. ICU 3.4

Definition at line 1450 of file utext.h.

int32_t UText::providerProperties

Text provider properties.

This set of flags is maintainted by the text provider implementation.

Stable:
  ICU 3.4

Definition at line 1336 of file utext.h.

const void* UText::q

(protected) Pointer fields available for use by the text provider.

Not used by UText common code.

Stable:
  ICU 3.6

Definition at line 1437 of file utext.h.

const void* UText::r

(protected) Pointer fields available for use by the text provider.

Not used by UText common code.

Stable:
  ICU 3.6

Definition at line 1443 of file utext.h.

int32_t UText::sizeOfStruct

(public) sizeOfStruct=sizeof(UText) Allows possible backward compatible extension.

Stable:
  ICU 3.4

Definition at line 1344 of file utext.h.

The documentation for this struct was generated from the following file:

- utext.h