ICU 65.1  65.1
Public Member Functions
icu::BytesTrie::Iterator Class Reference

Iterator for all of the (byte sequence, value) pairs in a BytesTrie. More...

#include <bytestrie.h>

Inheritance diagram for icu::BytesTrie::Iterator:
icu::UMemory

Public Member Functions

 Iterator (const void *trieBytes, int32_t maxStringLength, UErrorCode &errorCode)
 Iterates from the root of a byte-serialized BytesTrie. More...
 
 Iterator (const BytesTrie &trie, int32_t maxStringLength, UErrorCode &errorCode)
 Iterates from the current state of the specified BytesTrie. More...
 
 ~Iterator ()
 Destructor. More...
 
Iteratorreset ()
 Resets this iterator to its initial state. More...
 
UBool hasNext () const
 
UBool next (UErrorCode &errorCode)
 Finds the next (byte sequence, value) pair if there is one. More...
 
StringPiece getString () const
 
int32_t getValue () const
 

Detailed Description

Iterator for all of the (byte sequence, value) pairs in a BytesTrie.

Stable:
ICU 4.8

Definition at line 282 of file bytestrie.h.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

icu::BytesTrie::Iterator::Iterator ( const void *  trieBytes,
int32_t  maxStringLength,
UErrorCode errorCode 
)

Iterates from the root of a byte-serialized BytesTrie.

Parameters
trieBytesThe trie bytes.
maxStringLengthIf 0, the iterator returns full strings/byte sequences. Otherwise, the iterator returns strings with this maximum length.
errorCodeStandard ICU error code. Its input value must pass the U_SUCCESS() test, or else the function returns immediately. Check for U_FAILURE() on output or use with function chaining. (See User Guide for details.)
Stable:
ICU 4.8

◆ Iterator() [2/2]

icu::BytesTrie::Iterator::Iterator ( const BytesTrie trie,
int32_t  maxStringLength,
UErrorCode errorCode 
)

Iterates from the current state of the specified BytesTrie.

Parameters
trieThe trie whose state will be copied for iteration.
maxStringLengthIf 0, the iterator returns full strings/byte sequences. Otherwise, the iterator returns strings with this maximum length.
errorCodeStandard ICU error code. Its input value must pass the U_SUCCESS() test, or else the function returns immediately. Check for U_FAILURE() on output or use with function chaining. (See User Guide for details.)
Stable:
ICU 4.8

◆ ~Iterator()

icu::BytesTrie::Iterator::~Iterator ( )

Destructor.

Stable:
ICU 4.8

Member Function Documentation

◆ getString()

StringPiece icu::BytesTrie::Iterator::getString ( ) const
Returns
The NUL-terminated byte sequence for the last successful next().
Stable:
ICU 4.8

◆ getValue()

int32_t icu::BytesTrie::Iterator::getValue ( ) const
inline
Returns
The value for the last successful next().
Stable:
ICU 4.8

Definition at line 354 of file bytestrie.h.

References NULL, UINT64_C, and USTRINGTRIE_INTERMEDIATE_VALUE.

◆ hasNext()

UBool icu::BytesTrie::Iterator::hasNext ( ) const
Returns
TRUE if there are more elements.
Stable:
ICU 4.8

◆ next()

UBool icu::BytesTrie::Iterator::next ( UErrorCode errorCode)

Finds the next (byte sequence, value) pair if there is one.

If the byte sequence is truncated to the maximum length and does not have a real value, then the value is set to -1. In this case, this "not a real value" is indistinguishable from a real value of -1.

Parameters
errorCodeStandard ICU error code. Its input value must pass the U_SUCCESS() test, or else the function returns immediately. Check for U_FAILURE() on output or use with function chaining. (See User Guide for details.)
Returns
TRUE if there is another element.
Stable:
ICU 4.8

◆ reset()

Iterator& icu::BytesTrie::Iterator::reset ( )

Resets this iterator to its initial state.

Returns
*this
Stable:
ICU 4.8

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