Lines Matching refs:Start

629 static unsigned PluralNumber(const char *&Start, const char *End) {  in PluralNumber()  argument
632 while (Start != End && *Start >= '0' && *Start <= '9') { in PluralNumber()
634 Val += *Start - '0'; in PluralNumber()
635 ++Start; in PluralNumber()
641 static bool TestPluralRange(unsigned Val, const char *&Start, const char *End) { in TestPluralRange() argument
642 if (*Start != '[') { in TestPluralRange()
643 unsigned Ref = PluralNumber(Start, End); in TestPluralRange()
647 ++Start; in TestPluralRange()
648 unsigned Low = PluralNumber(Start, End); in TestPluralRange()
649 assert(*Start == ',' && "Bad plural expression syntax: expected ,"); in TestPluralRange()
650 ++Start; in TestPluralRange()
651 unsigned High = PluralNumber(Start, End); in TestPluralRange()
652 assert(*Start == ']' && "Bad plural expression syntax: expected )"); in TestPluralRange()
653 ++Start; in TestPluralRange()
658 static bool EvalPluralExpr(unsigned ValNo, const char *Start, const char *End) { in EvalPluralExpr() argument
660 if (*Start == ':') in EvalPluralExpr()
664 char C = *Start; in EvalPluralExpr()
667 ++Start; in EvalPluralExpr()
668 unsigned Arg = PluralNumber(Start, End); in EvalPluralExpr()
669 assert(*Start == '=' && "Bad plural expression syntax: expected ="); in EvalPluralExpr()
670 ++Start; in EvalPluralExpr()
672 if (TestPluralRange(ValMod, Start, End)) in EvalPluralExpr()
678 if (TestPluralRange(ValNo, Start, End)) in EvalPluralExpr()
683 Start = std::find(Start, End, ','); in EvalPluralExpr()
684 if (Start == End) in EvalPluralExpr()
686 ++Start; in EvalPluralExpr()