31 #if U_SHOW_CPLUSPLUS_API 34 class CharacterIterator;
52 UITER_START, UITER_CURRENT, UITER_LIMIT, UITER_ZERO, UITER_LENGTH
86 #define UITER_NO_STATE ((uint32_t)0xffffffff) 655 #if U_SHOW_CPLUSPLUS_API void uiter_setReplaceable(UCharIterator *iter, const icu::Replaceable *rep)
Set up a UCharIterator to iterate over a C++ Replaceable.
uint32_t UCharIteratorGetState(const UCharIterator *iter)
Function type declaration for UCharIterator.getState().
UCharIteratorGetState * getState
(public) Return the state of the iterator, to be restored later with setState().
UChar32 uiter_previous32(UCharIterator *iter)
Helper function for UCharIterator to get the previous code point.
const void * context
(protected) Pointer to string or wrapped object or similar.
UChar32 UCharIteratorCurrent(UCharIterator *iter)
Function type declaration for UCharIterator.current().
int32_t reservedField
(protected) Used by UTF-8 iterators and possibly others.
UCharIteratorNext * next
(public) Return the code unit at the current index and increment the index (post-increment, like s[i++]), or return U_SENTINEL if there is none (index is at the limit).
uint32_t uiter_getState(const UCharIterator *iter)
Get the "state" of the iterator in the form of a single 32-bit word.
void uiter_setString(UCharIterator *iter, const UChar *s, int32_t length)
Set up a UCharIterator to iterate over a string.
void uiter_setUTF8(UCharIterator *iter, const char *s, int32_t length)
Set up a UCharIterator to iterate over a UTF-8 string.
UChar32 UCharIteratorNext(UCharIterator *iter)
Function type declaration for UCharIterator.next().
C API for code unit iteration.
UChar32 UCharIteratorPrevious(UCharIterator *iter)
Function type declaration for UCharIterator.previous().
void uiter_setCharacterIterator(UCharIterator *iter, icu::CharacterIterator *charIter)
Set up a UCharIterator to wrap around a C++ CharacterIterator.
UCharIteratorHasNext * hasNext
(public) Check if current() and next() can still return another code unit.
UCharIteratorPrevious * previous
(public) Decrement the index and return the code unit from there (pre-decrement, like s[–i])...
int32_t UCharIteratorReserved(UCharIterator *iter, int32_t something)
Function type declaration for UCharIterator.reservedFn().
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
UCharIteratorReserved * reservedFn
(public) Reserved for future use.
int32_t start
(protected) Start index or similar.
int32_t length
(protected) Length of string or similar.
Replaceable is an abstract base class representing a string of characters that supports the replaceme...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
int32_t UCharIteratorGetIndex(UCharIterator *iter, UCharIteratorOrigin origin)
Function type declaration for UCharIterator.getIndex().
UCharIteratorOrigin
Origin constants for UCharIterator.getIndex() and UCharIterator.move().
Abstract class that defines an API for iteration on text objects.
int32_t UCharIteratorMove(UCharIterator *iter, int32_t delta, UCharIteratorOrigin origin)
Function type declaration for UCharIterator.move().
UBool UCharIteratorHasPrevious(UCharIterator *iter)
Function type declaration for UCharIterator.hasPrevious().
UCharIteratorHasPrevious * hasPrevious
(public) Check if previous() can still return another code unit.
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
void uiter_setUTF16BE(UCharIterator *iter, const char *s, int32_t length)
Set up a UCharIterator to iterate over a UTF-16BE string (byte vector with a big-endian pair of bytes...
Constant value that may be returned by UCharIteratorMove indicating that the final UTF-16 index is no...
UChar32 uiter_next32(UCharIterator *iter)
Helper function for UCharIterator to get the next code point.
uint16_t UChar
The base type for UTF-16 code units and pointers.
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
UCharIteratorGetIndex * getIndex
(public) Returns the current position or the start or limit index of the iteration range...
UBool UCharIteratorHasNext(UCharIterator *iter)
Function type declaration for UCharIterator.hasNext().
UCharIteratorMove * move
(public) Moves the current position relative to the start or limit of the iteration range...
UChar32 uiter_current32(UCharIterator *iter)
Helper function for UCharIterator to get the code point at the current index.
Basic definitions for ICU, for both C and C++ APIs.
void uiter_setState(UCharIterator *iter, uint32_t state, UErrorCode *pErrorCode)
Restore the "state" of the iterator using a state word from a getState() call.
void UCharIteratorSetState(UCharIterator *iter, uint32_t state, UErrorCode *pErrorCode)
Function type declaration for UCharIterator.setState().
int32_t index
(protected) Current index or similar.
UCharIteratorSetState * setState
(public) Restore the iterator state from the state word from a call to getState().
UCharIteratorCurrent * current
(public) Return the code unit at the current position, or U_SENTINEL if there is none (index is at th...
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
int8_t UBool
The ICU boolean type.
int32_t limit
(protected) Limit index or similar.