Loading...
Searching...
No Matches
BytesTrieBuilder Class Reference

Builder class for BytesTrie. More...

`#include <bytestriebuilder.h>`

Inheritance diagram for BytesTrieBuilder:

## Public Member Functions

| BytesTrieBuilder (UErrorCode &errorCode)
| Constructs an empty builder.
virtual | ~BytesTrieBuilder ()
| Destructor.
BytesTrieBuilder & | add (StringPiece s, int32_t value, UErrorCode &errorCode)
| Adds a (byte sequence, value) pair.
BytesTrie * | build (UStringTrieBuildOption buildOption, UErrorCode &errorCode)
| Builds a BytesTrie for the add()ed data.
StringPiece | buildStringPiece (UStringTrieBuildOption buildOption, UErrorCode &errorCode)
| Builds a BytesTrie for the add()ed data and byte-serializes it.
BytesTrieBuilder & | clear ()
| Removes all (byte sequence, value) pairs.

## Friends

class | ::BytesTrieTest

## Detailed Description

Builder class for BytesTrie.

This class is not intended for public subclassing.

Stable
  ICU 4.8

Definition at line 45 of file bytestriebuilder.h.

## Constructor & Destructor Documentation

## BytesTrieBuilder()

BytesTrieBuilder::BytesTrieBuilder | ( | UErrorCode & | errorCode | ) |

Constructs an empty builder.

Parameters

  errorCode | Standard ICU error code.

Stable
  ICU 4.8

Referenced by add(), and clear().

## ~BytesTrieBuilder()

virtual BytesTrieBuilder::~BytesTrieBuilder | ( |  | ) |

virtual

Destructor.

Stable
  ICU 4.8

## Member Function Documentation

## add()

BytesTrieBuilder & BytesTrieBuilder::add | ( | StringPiece | s,
|  | int32_t | value,
|  | UErrorCode & | errorCode )

Adds a (byte sequence, value) pair.

The byte sequence must be unique. The bytes will be copied; the builder does not keep a reference to the input StringPiece or its data().

Parameters

  s | The input byte sequence.
  value | The value associated with this byte sequence.
  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

References BytesTrieBuilder().

## build()

BytesTrie * BytesTrieBuilder::build | ( | UStringTrieBuildOption | buildOption,
|  | UErrorCode & | errorCode )

Builds a BytesTrie for the add()ed data.

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

A BytesTrie cannot be empty. At least one (byte sequence, 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 BytesTrie for the add()ed data.

Stable
  ICU 4.8

## buildStringPiece()

StringPiece BytesTrieBuilder::buildStringPiece | ( | UStringTrieBuildOption | buildOption,
|  | UErrorCode & | errorCode )

Builds a BytesTrie for the add()ed data and byte-serializes it.

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

A BytesTrie cannot be empty. At least one (byte sequence, value) pair must have been add()ed.

Multiple calls to buildStringPiece() return StringPieces referring to the builder's same byte array, without rebuilding. If buildStringPiece() is called after build(), the trie will be re-serialized into a new array (because build() passes on ownership). If build() is called after buildStringPiece(), the trie object returned by build() will become the owner of the underlying string for the previously returned StringPiece. 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 StringPiece which refers to the byte-serialized BytesTrie for the add()ed data.

Stable
  ICU 4.8

## clear()

BytesTrieBuilder & BytesTrieBuilder::clear | ( |  | ) |

Removes all (byte sequence, value) pairs.

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

Returns
  *this

Stable
  ICU 4.8

References BytesTrieBuilder().

## Friends And Related Symbol Documentation

## ::BytesTrieTest

friend class ::BytesTrieTest

friend

Definition at line 130 of file bytestriebuilder.h.

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

- common/unicode/bytestriebuilder.h