public static PkgdefTokenizer Create(int startIndex, Iterator <char> characters, Action <PkgdefIssue> onIssue) { PreCondition.AssertGreaterThanOrEqualTo(startIndex, 0, nameof(startIndex)); PreCondition.AssertNotNull(characters, "characters"); return(new PkgdefTokenizer(CurrentIndexIterator.Create(startIndex, characters), onIssue)); }
private PkgdefTokenizer(CurrentIndexIterator <char> characters, Action <PkgdefIssue> onIssue) { PreCondition.AssertNotNull(characters, nameof(characters)); PreCondition.AssertNotNull(onIssue, nameof(onIssue)); this.characters = characters; this.onIssue = onIssue; this.tokenQueue = new Queue <PkgdefToken>(); }
public static PkgdefTokenizer Create(Iterator <char> characters, Action <PkgdefIssue> onIssue) { PreCondition.AssertNotNull(characters, "characters"); return(new PkgdefTokenizer(CurrentIndexIterator.Create(characters), onIssue)); }
/// <summary> /// Create a new CurrentIndexIterator that will iterate over the values in the provided IEnumerable. /// </summary> /// <param name="enumerable">The IEnumerable to iterate over.</param> /// <returns>A new CurrentIndexIterator that will iterate over the values in the provided IEnumerable.</returns> public static CurrentIndexIterator <T> Create <T>(IEnumerable <T> enumerable) { PreCondition.AssertNotNull(enumerable, nameof(enumerable)); return(CurrentIndexIterator.Create(Iterator.Create(enumerable))); }
/// <summary> /// Create a new CurrentIndexIterator that will iterate over the values in the provided IEnumerator. /// </summary> /// <param name="enumerator">The IEnumerator to iterate over.</param> /// <returns>A new CurrentIndexIterator that will iterate over the values in the provided IEnumerator.</returns> public static CurrentIndexIterator <T> Create <T>(IEnumerator <T> enumerator) { return(CurrentIndexIterator.Create(Iterator.Create(enumerator))); }
/// <summary> /// Create a new CurrentIndexIterator that will iterate over the values in the provided IEnumerable. /// </summary> /// <param name="iterator">The Iterator to iterate over.</param> /// <returns>A new CurrentIndexIterator that will iterate over the values in the provided IEnumerable.</returns> public static CurrentIndexIterator <T> Create <T>(Iterator <T> iterator) { return(CurrentIndexIterator.Create(0, iterator)); }