Lines Matching refs:int32_t
72 static int32_t hashNode(const void *node);
87 void createCompactBuilder(int32_t sizeGuess, UErrorCode &errorCode);
92 void build(UStringTrieBuildOption buildOption, int32_t elementsLength, UErrorCode &errorCode);
95 int32_t writeNode(int32_t start, int32_t limit, int32_t unitIndex);
97 int32_t writeBranchSubNode(int32_t start, int32_t limit, int32_t unitIndex, int32_t length);
104 Node *makeNode(int32_t start, int32_t limit, int32_t unitIndex, UErrorCode &errorCode);
106 Node *makeBranchSubNode(int32_t start, int32_t limit, int32_t unitIndex,
107 int32_t length, UErrorCode &errorCode);
111 virtual int32_t getElementStringLength(int32_t i) const = 0;
113 virtual char16_t getElementUnit(int32_t i, int32_t unitIndex) const = 0;
115 virtual int32_t getElementValue(int32_t i) const = 0;
120 virtual int32_t getLimitOfLinearMatch(int32_t first, int32_t last, int32_t unitIndex) const = 0;
124 virtual int32_t countElementUnits(int32_t start, int32_t limit, int32_t unitIndex) const = 0;
126 virtual int32_t skipElementsBySomeUnits(int32_t i, int32_t unitIndex, int32_t count) const = 0;
128 virtual int32_t indexOfElementWithNextUnit(int32_t i, int32_t unitIndex, char16_t unit) const = 0;
134 virtual int32_t getMaxBranchLinearSubNodeLength() const = 0;
136 virtual int32_t getMinLinearMatch() const = 0;
138 virtual int32_t getMaxLinearMatchLength() const = 0;
143 static const int32_t kMaxBranchLinearSubNodeLength=5;
148 static const int32_t kMaxSplitBranchLevels=14;
171 Node *registerFinalValue(int32_t value, UErrorCode &errorCode);
202 Node(int32_t initialHash) : hash(initialHash), offset(0) {}
203 inline int32_t hashCode() const { return hash; }
205 static inline int32_t hashCode(const Node *node) { return node==NULL ? 0 : node->hashCode(); }
236 virtual int32_t markRightEdgesFirst(int32_t edgeNumber);
240 inline void writeUnlessInsideRightEdge(int32_t firstRight, int32_t lastRight,
251 inline int32_t getOffset() const { return offset; }
253 int32_t hash;
254 int32_t offset;
267 FinalValueNode(int32_t v) : Node(0x111111u*37u+v), value(v) {}
271 int32_t value;
282 ValueNode(int32_t initialHash) : Node(initialHash), hasValue(false), value(0) {}
284 void setValue(int32_t v) {
291 int32_t value;
300 IntermediateValueNode(int32_t v, Node *nextNode)
303 virtual int32_t markRightEdgesFirst(int32_t edgeNumber) override;
317 LinearMatchNode(int32_t len, Node *nextNode)
321 virtual int32_t markRightEdgesFirst(int32_t edgeNumber) override;
323 int32_t length;
333 BranchNode(int32_t initialHash) : Node(initialHash) {}
335 int32_t firstEdgeNumber;
345 virtual int32_t markRightEdgesFirst(int32_t edgeNumber) override;
348 void add(int32_t c, int32_t value) {
356 void add(int32_t c, Node *node) {
365 int32_t length;
366 int32_t values[kMaxBranchLinearSubNodeLength];
380 virtual int32_t markRightEdgesFirst(int32_t edgeNumber) override;
392 BranchHeadNode(int32_t len, Node *subNode)
396 virtual int32_t markRightEdgesFirst(int32_t edgeNumber) override;
399 int32_t length;
407 virtual Node *createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t length,
411 virtual int32_t write(int32_t unit) = 0;
413 virtual int32_t writeElementUnits(int32_t i, int32_t unitIndex, int32_t length) = 0;
415 virtual int32_t writeValueAndFinal(int32_t i, UBool isFinal) = 0;
417 virtual int32_t writeValueAndType(UBool hasValue, int32_t value, int32_t node) = 0;
419 virtual int32_t writeDeltaTo(int32_t jumpTarget) = 0;