public IEnumerable <BreakSpan> GetBreakSpanIter() { List <BreakAtInfo> breakAtList = visitor.GetBreakList(); int c_index = 0; int count = breakAtList.Count; for (int i = 0; i < count; ++i) { BreakAtInfo brkInfo = breakAtList[i]; BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = (ushort)(brkInfo.breakAt - c_index); sp.wordKind = brkInfo.wordKind; c_index += sp.len; yield return(sp); } //------------------- if (c_index < _endAt) { BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = (ushort)(_endAt - c_index); yield return(sp); } }
public IEnumerable <BreakSpan> GetBreakSpanIter() { List <int> breakAtList = visitor.GetBreakList(); int c_index = 0; int i = 0; foreach (int breakAt in breakAtList) { BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = (ushort)(breakAtList[i] - c_index); c_index += sp.len; i++; yield return(sp); } //------------------- if (c_index < _endAt) { BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = (ushort)(_endAt - c_index); yield return(sp); } }
public IEnumerable <BreakSpan> GetBreakSpanIter() { List <int> breakAtList = visitor.GetBreakList(); int c_index = 0; int i = 0; foreach (int breakAt in breakAtList) { BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = breakAtList[i] - c_index; c_index += sp.len; i++; yield return(sp); } //------------------- if (c_index < textLength) { BreakSpan sp = new BreakSpan(); sp.startAt = c_index; sp.len = textLength - c_index; yield return(sp); } }