2 using System.Collections.Generic;
6 namespace Lextm.SharpSnmpLib.Mib
13 private int _index = -1;
19 throw new ArgumentNullException(
"lexer");
25 #region ISymbolEnumerator Member 29 if ((_index < 0) || (_index >= _list.Count) || (item != _list[_index]))
31 throw new ArgumentException(
@"wrong last symbol",
"last");
41 #region IEnumerator<Symbol> Member 47 if ((_index >= 0) && (_index <= _list.Count))
58 #region IDisposable Member 66 #region IEnumerator Member 68 object System.Collections.IEnumerator.Current
70 get {
return this.Current; }
76 return (_index >= 0) && (_index < _list.Count);
99 public string Join(
string separator)
101 if (separator == null)
104 StringBuilder result =
new StringBuilder();
106 foreach (
Symbol s
in this)
109 result.Append(separator);
112 if (result.Length > 0)
114 result.Length -= separator.Length;
117 return result.ToString();
121 public static class SymbolEnumeratorExtension
123 public static Symbol NextSymbol(
this IEnumerator<Symbol> enumerator)
125 if (enumerator.MoveNext())
127 return enumerator.Current;
133 public static Symbol NextNonEOLSymbol(
this IEnumerator<Symbol> enumerator)
135 while (enumerator.MoveNext())
139 return enumerator.Current;
ISymbolEnumerator GetSymbolEnumerator()
string Join(string separator)
SymbolList()
Initializes a new instance of the SymbolList class.
static readonly Symbol EOL
bool PutBack(Symbol item)