// Simple Reader public static Reader <T> GetReader <T>(this IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null) { var reader = new Reader <T>(enumerator, generateEndItem); return(reader); }
// Variable Lookahead Reader public static VariableLookaheadReader <T> GetVariableLookaheadReader <T>(this IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null) { var reader = new VariableLookaheadReader <T>(enumerator, generateEndItem); return(reader); }
// Fixed Lookahead Reader public static FixedLookaheadReader <T> GetFixedLookaheadReader <T>(this IEnumerator <T> enumerator, int lookahead = 2, GenerateEndItem <T> generateEndItem = null) { var reader = new FixedLookaheadReader <T>(enumerator, lookahead, generateEndItem); return(reader); }
public FixedLookaheadReader(IEnumerator<T> enumerator, int lookahead, GenerateEndItem<T> generateEndItem = null) { if (lookahead < 1) throw new ArgumentOutOfRangeException("lookahead", "Lookahead must be greater than 1."); buffer = new T[lookahead]; SetData(enumerator, generateEndItem); }
protected void SetData(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null) { this.enumerator = enumerator; this.generateEndItem = generateEndItem; this.position = -1; this.endPosition = -1; this.lastItem = default(T); Initialize(); }
public static SpeculativeReader <T> GetSpeculativeReader <T>( this IEnumerable <T> enumerable, GenerateEndItem <T> generateEndItem = null) { return(GetSpeculativeReader(enumerable.GetEnumerator(), generateEndItem)); }
public static BaseVariableLookaheadReader <T> GetVariableLookaheadReader <T>(this IEnumerable <T> enumerable, GenerateEndItem <T> generateEndItem = null) { return(GetVariableLookaheadReader(enumerable.GetEnumerator(), generateEndItem)); }
public static FixedLookaheadReader <T> GetFixedLookaheadReader <T>(this IEnumerable <T> enumerable, int lookahead = 2, GenerateEndItem <T> generateEndItem = null) { return(GetFixedLookaheadReader(enumerable.GetEnumerator(), lookahead, generateEndItem)); }
public SpeculativeReader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null) { SetData(enumerator, generateEndItem); }
public Reader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem) { SetData(enumerator, generateEndItem); }
public VariableLookaheadReader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null) { SetData(enumerator, generateEndItem); }