UReplaceableCallbacks

#include <urep.h>

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

Summary

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

Public attributes

char32At)(const UReplaceable *rep, int32_t offset)
Function pointer that returns a UChar32 code point at the given offset into this text.
charAt)(const UReplaceable *rep, int32_t offset)
UChar(*
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).
copy)(UReplaceable *rep, int32_t start, int32_t limit, int32_t dest)
void(*
Function pointer that copies text between start and limit in this text to another index in the text.
extract)(UReplaceable *rep, int32_t start, int32_t limit, UChar *dst)
void(*
Function pointer that copies the characters in the range [start, limit) into the array dst.
length)(const UReplaceable *rep)
int32_t(*
Function pointer that returns the number of UChar code units in this text.
replace)(UReplaceable *rep, int32_t start, int32_t limit, const UChar *text, int32_t textLength)
void(*
Function pointer that replaces text between start and limit in this text with the given text.

Public attributes

char32At

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().

Details
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.

charAt

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().

Details
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.

copy

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.

Details
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.

extract

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.

Details
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).

length

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

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

Details
Parameters
rep
A pointer to "this" UReplaceable object.
Returns
The length of the text.

replace

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.

Details
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.