public void Dispose() { _enumerator?.Dispose(); _src?.Dispose(); Heap.Return(_src); Heap.Return(this); _src = default; }
public IEnumerator <T> GetEnumerator() { var src = _src; _src = default; Heap.Return(this); return(Heap.Get <EnumeratorVal>().Init(src)); }
public IEnumerator <T> Init(PoolingListVal <T> src) { _src = src; _enumerator = _src.GetEnumerator(); return(this); }
public IEnumerable <T> Init(PoolingListVal <T> src) { _src = src; return(this); }