ICU 76.1 76.1
|
Light-weight, non-const reader class for a UCharsTrie. More...
#include <ucharstrie.h>
Data Structures | |
class | Iterator |
Iterator for all of the (string, value) pairs in a UCharsTrie. More... | |
class | State |
UCharsTrie state object, for saving a trie's current state and resetting the trie back to this state later. More... | |
Public Member Functions | |
UCharsTrie (ConstChar16Ptr trieUChars) | |
Constructs a UCharsTrie reader instance. | |
~UCharsTrie () | |
Destructor. | |
UCharsTrie (const UCharsTrie &other) | |
Copy constructor, copies the other trie reader object and its state, but not the char16_t array which will be shared. | |
UCharsTrie & | reset () |
Resets this trie to its initial state. | |
uint64_t | getState64 () const |
Returns the state of this trie as a 64-bit integer. | |
UCharsTrie & | resetToState64 (uint64_t state) |
Resets this trie to the saved state. | |
const UCharsTrie & | saveState (State &state) const |
Saves the state of this trie. | |
UCharsTrie & | resetToState (const State &state) |
Resets this trie to the saved state. | |
UStringTrieResult | current () const |
Determines whether the string so far matches, whether it has a value, and whether another input char16_t can continue a matching string. | |
UStringTrieResult | first (int32_t uchar) |
Traverses the trie from the initial state for this input char16_t. | |
UStringTrieResult | firstForCodePoint (UChar32 cp) |
Traverses the trie from the initial state for the one or two UTF-16 code units for this input code point. | |
UStringTrieResult | next (int32_t uchar) |
Traverses the trie from the current state for this input char16_t. | |
UStringTrieResult | nextForCodePoint (UChar32 cp) |
Traverses the trie from the current state for the one or two UTF-16 code units for this input code point. | |
UStringTrieResult | next (ConstChar16Ptr s, int32_t length) |
Traverses the trie from the current state for this string. | |
int32_t | getValue () const |
Returns a matching string's value if called immediately after current()/first()/next() returned USTRINGTRIE_INTERMEDIATE_VALUE or USTRINGTRIE_FINAL_VALUE. | |
UBool | hasUniqueValue (int32_t &uniqueValue) const |
Determines whether all strings reachable from the current state map to the same value. | |
int32_t | getNextUChars (Appendable &out) const |
Finds each char16_t which continues the string from the current state. | |
Friends | |
class | UCharsTrieBuilder |
Light-weight, non-const reader class for a UCharsTrie.
Traverses a char16_t-serialized data structure with minimal state, for mapping strings (16-bit-unit sequences) to non-negative integer values.
This class owns the serialized trie data only if it was constructed by the builder's build() method. The public constructor and the copy constructor only alias the data (only copy the pointer). There is no assignment operator.
This class is not intended for public subclassing.
Definition at line 53 of file ucharstrie.h.
|
inline |
Constructs a UCharsTrie reader instance.
The trieUChars must contain a copy of a char16_t sequence from the UCharsTrieBuilder, starting with the first char16_t of that sequence. The UCharsTrie object will not read more char16_ts than the UCharsTrieBuilder generated in the corresponding build() call.
The array is not copied/cloned and must not be modified while the UCharsTrie object is in use.
trieUChars | The char16_t array that contains the serialized trie. |
Definition at line 69 of file ucharstrie.h.
icu::UCharsTrie::~UCharsTrie | ( | ) |
Destructor.
|
inline |
Copy constructor, copies the other trie reader object and its state, but not the char16_t array which will be shared.
(Shallow copy.)
other | Another UCharsTrie object. |
Definition at line 85 of file ucharstrie.h.
UStringTrieResult icu::UCharsTrie::current | ( | ) | const |
Determines whether the string so far matches, whether it has a value, and whether another input char16_t can continue a matching string.
|
inline |
Traverses the trie from the initial state for this input char16_t.
Equivalent to reset().next(uchar).
uchar | Input char value. Values below 0 and above 0xffff will never match. |
Definition at line 200 of file ucharstrie.h.
UStringTrieResult icu::UCharsTrie::firstForCodePoint | ( | UChar32 | cp | ) |
Traverses the trie from the initial state for the one or two UTF-16 code units for this input code point.
Equivalent to reset().nextForCodePoint(cp).
cp | A Unicode code point 0..0x10ffff. |
int32_t icu::UCharsTrie::getNextUChars | ( | Appendable & | out | ) | const |
Finds each char16_t which continues the string from the current state.
That is, each char16_t c for which it would be next(c)!=USTRINGTRIE_NO_MATCH now.
out | Each next char16_t is appended to this object. |
|
inline |
Returns the state of this trie as a 64-bit integer.
The state value is never 0.
Definition at line 108 of file ucharstrie.h.
|
inline |
Returns a matching string's value if called immediately after current()/first()/next() returned USTRINGTRIE_INTERMEDIATE_VALUE or USTRINGTRIE_FINAL_VALUE.
getValue() can be called multiple times.
Do not call getValue() after USTRINGTRIE_NO_MATCH or USTRINGTRIE_NO_VALUE!
Definition at line 258 of file ucharstrie.h.
Determines whether all strings reachable from the current state map to the same value.
uniqueValue | Receives the unique value, if this function returns true. (output-only) |
Definition at line 275 of file ucharstrie.h.
UStringTrieResult icu::UCharsTrie::next | ( | ConstChar16Ptr | s, |
int32_t | length | ||
) |
Traverses the trie from the current state for this string.
Equivalent to
s | A string. Can be nullptr if length is 0. |
length | The length of the string. Can be -1 if NUL-terminated. |
UStringTrieResult icu::UCharsTrie::next | ( | int32_t | uchar | ) |
Traverses the trie from the current state for this input char16_t.
uchar | Input char value. Values below 0 and above 0xffff will never match. |
UStringTrieResult icu::UCharsTrie::nextForCodePoint | ( | UChar32 | cp | ) |
Traverses the trie from the current state for the one or two UTF-16 code units for this input code point.
cp | A Unicode code point 0..0x10ffff. |
|
inline |
Resets this trie to its initial state.
Definition at line 94 of file ucharstrie.h.
|
inline |
Resets this trie to the saved state.
If the state object contains no state, or the state of a different trie, then this trie remains unchanged.
state | The State object which holds a saved trie state. |
Definition at line 177 of file ucharstrie.h.
|
inline |
Resets this trie to the saved state.
Unlike resetToState(State), the 64-bit state value must be from getState64() from the same trie object or from one initialized the exact same way. Because of no validation, this method is faster.
state | The opaque trie state value from getState64(). |
Definition at line 127 of file ucharstrie.h.
|
inline |
Saves the state of this trie.
state | The State object to hold the trie's state. |
Definition at line 160 of file ucharstrie.h.
|
friend |
Definition at line 399 of file ucharstrie.h.