Example #1
0
        // 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);
        }
Example #2
0
        // 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);
        }
Example #3
0
        // 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();
        }
Example #6
0
 public static SpeculativeReader <T> GetSpeculativeReader <T>(
     this IEnumerable <T> enumerable,
     GenerateEndItem <T> generateEndItem = null)
 {
     return(GetSpeculativeReader(enumerable.GetEnumerator(), generateEndItem));
 }
Example #7
0
 public static BaseVariableLookaheadReader <T> GetVariableLookaheadReader <T>(this IEnumerable <T> enumerable,
                                                                              GenerateEndItem <T> generateEndItem = null)
 {
     return(GetVariableLookaheadReader(enumerable.GetEnumerator(), generateEndItem));
 }
Example #8
0
 public static FixedLookaheadReader <T> GetFixedLookaheadReader <T>(this IEnumerable <T> enumerable,
                                                                    int lookahead = 2,
                                                                    GenerateEndItem <T> generateEndItem = null)
 {
     return(GetFixedLookaheadReader(enumerable.GetEnumerator(), lookahead, generateEndItem));
 }
Example #9
0
 public SpeculativeReader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null)
 {
     SetData(enumerator, generateEndItem);
 }
Example #10
0
 public Reader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem)
 {
     SetData(enumerator, generateEndItem);
 }
 public VariableLookaheadReader(IEnumerator <T> enumerator, GenerateEndItem <T> generateEndItem = null)
 {
     SetData(enumerator, generateEndItem);
 }