ICU 58.2 58.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Structures | Public Member Functions
icu::UCharsTrieBuilder Class Reference

Builder class for UCharsTrie. More...

`#include <ucharstriebuilder.h>`

Inheritance diagram for icu::UCharsTrieBuilder:

## Public Member Functions
| UCharsTrieBuilder (UErrorCode &errorCode)
| Constructs an empty builder. More...
virtual | ~UCharsTrieBuilder ()
| Destructor. More...
UCharsTrieBuilder & | add (const UnicodeString &s, int32_t value, UErrorCode &errorCode)
| Adds a (string, value) pair. More...
UCharsTrie * | build (UStringTrieBuildOption buildOption, UErrorCode &errorCode)
| Builds a UCharsTrie for the add()ed data. More...
UnicodeString & | buildUnicodeString (UStringTrieBuildOption buildOption, UnicodeString &result, UErrorCode &errorCode)
| Builds a UCharsTrie for the add()ed data and UChar-serializes it. More...
UCharsTrieBuilder & | clear ()
| Removes all (string, value) pairs. More...
Public Member Functions inherited from icu::UObject
virtual | ~UObject ()
| Destructor. More...
virtual UClassID | getDynamicClassID () const
| ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More...

## Additional Inherited Members
Static Public Member Functions inherited from icu::StringTrieBuilder
static UBool | hashNode (const void *node)
static UBool | equalNodes (const void *left, const void *right)
Protected Member Functions inherited from icu::StringTrieBuilder
| StringTrieBuilder ()
virtual | ~StringTrieBuilder ()
void | createCompactBuilder (int32_t sizeGuess, UErrorCode &errorCode)
void | deleteCompactBuilder ()
void | build (UStringTrieBuildOption buildOption, int32_t elementsLength, UErrorCode &errorCode)
int32_t | writeNode (int32_t start, int32_t limit, int32_t unitIndex)
int32_t | writeBranchSubNode (int32_t start, int32_t limit, int32_t unitIndex, int32_t length)
Node * | makeNode (int32_t start, int32_t limit, int32_t unitIndex, UErrorCode &errorCode)
Node * | makeBranchSubNode (int32_t start, int32_t limit, int32_t unitIndex, int32_t length, UErrorCode &errorCode)
Node * | registerNode (Node *newNode, UErrorCode &errorCode)
| Makes sure that there is only one unique node registered that is equivalent to newNode. More...
Node * | registerFinalValue (int32_t value, UErrorCode &errorCode)
| Makes sure that there is only one unique FinalValueNode registered with this value. More...
Protected Attributes inherited from icu::StringTrieBuilder
UHashtable * | nodes
Static Protected Attributes inherited from icu::StringTrieBuilder
static const int32_t | kMaxBranchLinearSubNodeLength =5
static const int32_t | kMaxSplitBranchLevels =14

## Detailed Description

Builder class for UCharsTrie.

This class is not intended for public subclassing.

Stable:
  ICU 4.8

Definition at line 40 of file ucharstriebuilder.h.

## Constructor & Destructor Documentation

icu::UCharsTrieBuilder::UCharsTrieBuilder | ( | UErrorCode & | errorCode | ) |

Constructs an empty builder.

Parameters

  errorCode | Standard ICU error code.

Stable:
  ICU 4.8

virtual icu::UCharsTrieBuilder::~UCharsTrieBuilder | ( |  | ) |
| virtual

Destructor.

Stable:
  ICU 4.8

## Member Function Documentation

UCharsTrieBuilder& icu::UCharsTrieBuilder::add | ( | const UnicodeString & | s,
|  | int32_t | value,
|  | UErrorCode & | errorCode
| ) |  |

Adds a (string, value) pair.

The string must be unique. The string contents will be copied; the builder does not keep a reference to the input UnicodeString or its buffer.

Parameters

  s | The input string.
  value | The value associated with this string.
  errorCode | Standard 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
  *this

Stable:
  ICU 4.8

UCharsTrie* icu::UCharsTrieBuilder::build | ( | UStringTrieBuildOption | buildOption,
|  | UErrorCode & | errorCode
| ) |  |

Builds a UCharsTrie for the add()ed data.

Once built, no further data can be add()ed until clear() is called.

A UCharsTrie cannot be empty. At least one (string, value) pair must have been add()ed.

This method passes ownership of the builder's internal result array to the new trie object. Another call to any build() variant will re-serialize the trie. After clear() has been called, a new array will be used as well.

Parameters

  buildOption | Build option, see UStringTrieBuildOption.
  errorCode | Standard 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
  A new UCharsTrie for the add()ed data.

Stable:
  ICU 4.8

UnicodeString& icu::UCharsTrieBuilder::buildUnicodeString | ( | UStringTrieBuildOption | buildOption,
|  | UnicodeString & | result,
|  | UErrorCode & | errorCode
| ) |  |

Builds a UCharsTrie for the add()ed data and UChar-serializes it.

Once built, no further data can be add()ed until clear() is called.

A UCharsTrie cannot be empty. At least one (string, value) pair must have been add()ed.

Multiple calls to buildUnicodeString() set the UnicodeStrings to the builder's same UChar array, without rebuilding. If buildUnicodeString() is called after build(), the trie will be re-serialized into a new array. If build() is called after buildUnicodeString(), the trie object will become the owner of the previously returned array. After clear() has been called, a new array will be used as well.

Parameters

  buildOption | Build option, see UStringTrieBuildOption.
  result | A UnicodeString which will be set to the UChar-serialized UCharsTrie for the add()ed data.
  errorCode | Standard 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
  result

Stable:
  ICU 4.8

UCharsTrieBuilder& icu::UCharsTrieBuilder::clear | ( |  | ) |
| inline

Removes all (string, value) pairs.

New data can then be add()ed and a new trie can be built.

Returns
  *this

Stable:
  ICU 4.8

Definition at line 124 of file ucharstriebuilder.h.

References icu::StringTrieBuilder::countElementUnits(), icu::StringTrieBuilder::getElementStringLength(), icu::StringTrieBuilder::getElementUnit(), icu::StringTrieBuilder::getElementValue(), icu::StringTrieBuilder::getLimitOfLinearMatch(), icu::StringTrieBuilder::getMaxBranchLinearSubNodeLength(), icu::StringTrieBuilder::getMaxLinearMatchLength(), icu::StringTrieBuilder::getMinLinearMatch(), icu::StringTrieBuilder::indexOfElementWithNextUnit(), icu::StringTrieBuilder::matchNodesCanHaveValues(), icu::operator==(), icu::StringTrieBuilder::skipElementsBySomeUnits(), TRUE, and U_NAMESPACE_END.

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

- ucharstriebuilder.h