Lines Matching refs:pos

31     const UChar *pos=pos_;
32 if(pos==NULL) {
36 return (remainingMatchLength_<0 && (node=*pos)>=kMinValueLead) ?
60 UCharsTrie::branchNext(const UChar *pos, int32_t length, int32_t uchar) {
63 length=*pos++;
69 if(uchar<*pos++) {
71 pos=jumpByDelta(pos);
74 pos=skipDelta(pos);
81 if(uchar==*pos++) {
83 int32_t node=*pos;
89 ++pos;
90 // int32_t delta=readValue(pos, node);
95 delta=((node-kMinTwoUnitValueLead)<<16)|*pos++;
97 delta=(pos[0]<<16)|pos[1];
98 pos+=2;
101 pos+=delta;
102 node=*pos;
105 pos_=pos;
109 pos=skipValue(pos);
111 if(uchar==*pos++) {
112 pos_=pos;
113 int32_t node=*pos;
122 UCharsTrie::nextImpl(const UChar *pos, int32_t uchar) {
123 int32_t node=*pos++;
126 return branchNext(pos, node, uchar);
130 if(uchar==*pos++) {
132 pos_=pos;
133 return (length<0 && (node=*pos)>=kMinValueLead) ?
144 pos=skipNodeValue(pos, node);
154 const UChar *pos=pos_;
155 if(pos==NULL) {
161 if(uchar==*pos++) {
163 pos_=pos;
165 return (length<0 && (node=*pos)>=kMinValueLead) ?
172 return nextImpl(pos, uchar);
181 const UChar *pos=pos_;
182 if(pos==NULL) {
194 pos_=pos;
196 return (length<0 && (node=*pos)>=kMinValueLead) ?
203 if(uchar!=*pos) {
207 ++pos;
214 pos_=pos;
216 return (length<0 && (node=*pos)>=kMinValueLead) ?
225 if(uchar!=*pos) {
229 ++pos;
233 int32_t node=*pos++;
236 UStringTrieResult result=branchNext(pos, node, uchar);
257 pos=pos_; // branchNext() advanced pos and wrote it to pos_ .
258 node=*pos++;
262 if(uchar!=*pos) {
266 ++pos;
275 pos=skipNodeValue(pos, node);
283 UCharsTrie::findUniqueValueFromBranch(const UChar *pos, int32_t length,
286 ++pos; // ignore the comparison unit
287 if(NULL==findUniqueValueFromBranch(jumpByDelta(pos), length>>1, haveUniqueValue, uniqueValue)) {
291 pos=skipDelta(pos);
294 ++pos; // ignore a comparison unit
296 int32_t node=*pos++;
299 int32_t value=readValue(pos, node);
300 pos=skipValue(pos, node);
311 if(!findUniqueValue(pos+value, haveUniqueValue, uniqueValue)) {
317 return pos+1; // ignore the last comparison unit
321 UCharsTrie::findUniqueValue(const UChar *pos, UBool haveUniqueValue, int32_t &uniqueValue) {
322 int32_t node=*pos++;
326 node=*pos++;
328 pos=findUniqueValueFromBranch(pos, node+1, haveUniqueValue, uniqueValue);
329 if(pos==NULL) {
333 node=*pos++;
336 pos+=node-kMinLinearMatch+1; // Ignore the match units.
337 node=*pos++;
342 value=readValue(pos, node&0x7fff);
344 value=readNodeValue(pos, node);
357 pos=skipNodeValue(pos, node);
365 const UChar *pos=pos_;
366 if(pos==NULL) {
370 out.appendCodeUnit(*pos); // Next unit of a pending linear-match node.
373 int32_t node=*pos++;
378 pos=skipNodeValue(pos, node);
384 node=*pos++;
387 getNextBranchUChars(pos, node, out);
391 out.appendCodeUnit(*pos);
397 UCharsTrie::getNextBranchUChars(const UChar *pos, int32_t length, Appendable &out) {
399 ++pos; // ignore the comparison unit
400 getNextBranchUChars(jumpByDelta(pos), length>>1, out);
402 pos=skipDelta(pos);
405 out.appendCodeUnit(*pos++);
406 pos=skipValue(pos);
408 out.appendCodeUnit(*pos);