# UReplaceableCallbacks Struct Reference

A set of function pointers that transliterators use to manipulate a UReplaceable. More...

`#include <urep.h>`

## Data Fields
int32_t(* | length )(const UReplaceable *rep)
| Function pointer that returns the number of UChar code units in this text.
UChar(* | charAt )(const UReplaceable *rep, int32_t offset)
| Function pointer that returns a UChar code units at the given offset into this text; 0 <= offset < n, where n is the value returned by (*length)(rep).
UChar32(* | char32At )(const UReplaceable *rep, int32_t offset)
| Function pointer that returns a UChar32 code point at the given offset into this text.
void(* | replace )(UReplaceable *rep, int32_t start, int32_t limit, const UChar *text, int32_t textLength)
| Function pointer that replaces text between start and limit in this text with the given text.
void(* | extract )(UReplaceable *rep, int32_t start, int32_t limit, UChar *dst)
| Function pointer that copies the characters in the range [`start`, `limit`) into the array `dst`.
void(* | copy )(UReplaceable *rep, int32_t start, int32_t limit, int32_t dest)
| Function pointer that copies text between start and limit in this text to another index in the text.

## Detailed Description

A set of function pointers that transliterators use to manipulate a UReplaceable.

The caller should supply the required functions to manipulate their text appropriately. Related to the C++ class Replaceable.

Stable:
  ICU 2.0

Definition at line 51 of file urep.h.

## Field Documentation

UChar32(* UReplaceableCallbacks::char32At)(const UReplaceable *rep, int32_t offset)

Function pointer that returns a UChar32 code point at the given offset into this text.

See unistr.h for a description of charAt() vs. char32At().

Parameters:

  | rep | A pointer to "this" UReplaceable object.
  | offset | The index at which to fetch the UChar32 (code point).

Returns:
  The UChar32 (code point) at offset, or U+FFFF if the offset is out of bounds.

Stable:
  ICU 2.0

UChar(* UReplaceableCallbacks::charAt)(const UReplaceable *rep, int32_t offset)

Function pointer that returns a UChar code units at the given offset into this text; 0 <= offset < n, where n is the value returned by (*length)(rep).

See unistr.h for a description of charAt() vs. char32At().

Parameters:

  | rep | A pointer to "this" UReplaceable object.
  | offset | The index at which to fetch the UChar (code unit).

Returns:
  The UChar (code unit) at offset, or U+FFFF if the offset is out of bounds.

Stable:
  ICU 2.0

void(* UReplaceableCallbacks::copy)(UReplaceable *rep, int32_t start, int32_t limit, int32_t dest)

Function pointer that copies text between start and limit in this text to another index in the text.

Attributes (out of band info) should be retained. After this call, there will be (at least) two copies of the characters originally located at start..limit-1.

Parameters:

  | rep | A pointer to "this" UReplaceable object.
  | start | the starting index of the text to be copied, inclusive.
  | limit | the ending index of the text to be copied, exclusive.
  | dest | the index at which the copy of the UChars should be inserted.

Stable:
  ICU 2.0

void(* UReplaceableCallbacks::extract)(UReplaceable *rep, int32_t start, int32_t limit, UChar *dst)

Function pointer that copies the characters in the range [`start`, `limit`) into the array `dst`.

Parameters:

  | rep | A pointer to "this" UReplaceable object.
  | start | offset of first character which will be copied into the array
  | limit | offset immediately following the last character to be copied
  | dst | array in which to copy characters. The length of `dst` must be at least `(limit - start)`.

Stable:
  ICU 2.1

int32_t(* UReplaceableCallbacks::length)(const UReplaceable *rep)

Function pointer that returns the number of UChar code units in this text.

Parameters:

  | rep | A pointer to "this" UReplaceable object.

Returns:
  The length of the text.

Stable:
  ICU 2.0

void(* UReplaceableCallbacks::replace)(UReplaceable *rep, int32_t start, int32_t limit, const UChar *text, int32_t textLength)

Function pointer that replaces text between start and limit in this text with the given text.

Attributes (out of band info) should be retained.

Parameters:

  | rep | A pointer to "this" UReplaceable object.
  | start | the starting index of the text to be replaced, inclusive.
  | limit | the ending index of the text to be replaced, exclusive.
  | text | the new text to replace the UChars from start..limit-1.
  | textLength | the number of UChars at text, or -1 if text is null-terminated.

Stable:
  ICU 2.0

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

- urep.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines