# 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 1482 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 1636 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 1643 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 1650 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 1576 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 1565 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 1529 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 1552 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 1559 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 1597 of file utext.h.

int32_t UText::extraSize

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

Stable:
  ICU 3.4

Definition at line 1535 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 1503 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 1495 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 1544 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 1606 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 1589 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 1582 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 1660 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 1666 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 1672 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 1625 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 1511 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 1612 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 1618 of file utext.h.

int32_t UText::sizeOfStruct

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

Stable:
  ICU 3.4

Definition at line 1519 of file utext.h.

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

- utext.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines