wabbajack/Wabbajack.Common.CSP/EnumeratorBuffer.cs

36 lines
775 B
C#

using System.Collections.Generic;
using System.IO;
namespace Wabbajack.Common.CSP
{
class EnumeratorBuffer<T> : IBuffer<T>
{
private readonly IEnumerator<T> _enumerator;
private bool _empty;
public EnumeratorBuffer(IEnumerator<T> enumerator)
{
_enumerator = enumerator;
_empty = !_enumerator.MoveNext();
}
public void Dispose()
{
}
public bool IsFull => true;
public bool IsEmpty => _empty;
public T Remove()
{
var val = _enumerator.Current;
_empty = !_enumerator.MoveNext();
return val;
}
public void Add(T itm)
{
throw new InvalidDataException();
}
}
}