ICU 62.1
62.1
|
Base class for string trie builder classes. More...
#include <stringtriebuilder.h>
Data Structures | |
class | BranchHeadNode |
class | BranchNode |
class | FinalValueNode |
class | IntermediateValueNode |
class | LinearMatchNode |
class | ListBranchNode |
class | Node |
class | SplitBranchNode |
class | ValueNode |
Static Public Member Functions | |
static UBool | hashNode (const void *node) |
static UBool | equalNodes (const void *left, const void *right) |
Protected Member Functions | |
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) |
virtual int32_t | getElementStringLength (int32_t i) const =0 |
virtual char16_t | getElementUnit (int32_t i, int32_t unitIndex) const =0 |
virtual int32_t | getElementValue (int32_t i) const =0 |
virtual int32_t | getLimitOfLinearMatch (int32_t first, int32_t last, int32_t unitIndex) const =0 |
virtual int32_t | countElementUnits (int32_t start, int32_t limit, int32_t unitIndex) const =0 |
virtual int32_t | skipElementsBySomeUnits (int32_t i, int32_t unitIndex, int32_t count) const =0 |
virtual int32_t | indexOfElementWithNextUnit (int32_t i, int32_t unitIndex, char16_t unit) const =0 |
virtual UBool | matchNodesCanHaveValues () const =0 |
virtual int32_t | getMaxBranchLinearSubNodeLength () const =0 |
virtual int32_t | getMinLinearMatch () const =0 |
virtual int32_t | getMaxLinearMatchLength () const =0 |
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... | |
virtual Node * | createLinearMatchNode (int32_t i, int32_t unitIndex, int32_t length, Node *nextNode) const =0 |
virtual int32_t | write (int32_t unit)=0 |
virtual int32_t | writeElementUnits (int32_t i, int32_t unitIndex, int32_t length)=0 |
virtual int32_t | writeValueAndFinal (int32_t i, UBool isFinal)=0 |
virtual int32_t | writeValueAndType (UBool hasValue, int32_t value, int32_t node)=0 |
virtual int32_t | writeDeltaTo (int32_t jumpTarget)=0 |
Protected Attributes | |
UHashtable * | nodes |
Static Protected Attributes | |
static const int32_t | kMaxBranchLinearSubNodeLength =5 |
static const int32_t | kMaxSplitBranchLevels =14 |
Additional Inherited Members | |
![]() | |
virtual | ~UObject () |
Destructor. More... | |
virtual UClassID | getDynamicClassID () const |
ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. More... | |
Base class for string trie builder classes.
This class is not intended for public subclassing.
Definition at line 63 of file stringtriebuilder.h.
|
protected |
This API is for internal use only.
|
protectedvirtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
static |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
static |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
Makes sure that there is only one unique FinalValueNode registered with this value.
Avoids creating a node if the value is a duplicate.
value | A final value. |
errorCode | ICU in/out UErrorCode. Set to U_MEMORY_ALLOCATION_ERROR if it was success but newNode==NULL. |
|
protected |
Makes sure that there is only one unique node registered that is equivalent to newNode.
newNode | Input node. The builder takes ownership. |
errorCode | ICU in/out UErrorCode. Set to U_MEMORY_ALLOCATION_ERROR if it was success but newNode==NULL. |
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protected |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
protectedpure virtual |
This API is for internal use only.
|
staticprotected |
This API is for internal use only.
Definition at line 138 of file stringtriebuilder.h.
|
staticprotected |
This API is for internal use only.
Definition at line 143 of file stringtriebuilder.h.
|
protected |
This API is for internal use only.
Definition at line 187 of file stringtriebuilder.h.