public IntersectExprEnumerator Init(IntersectExprEnumerable <T> parent, IPoolingEnumerator <T> src, IEqualityComparer <T> comparer) { _src = src; _parent = parent; _alreadyDoneItems = Pool <PoolingDictionary <T, int> > .Get().Init(0, comparer); return(this); }
public void Dispose() { _src?.Dispose(); _src = null; _alreadyDoneItems?.Dispose(); Pool <PoolingDictionary <T, int> > .Return(_alreadyDoneItems); _alreadyDoneItems = default; _parent?.Dispose(); _parent = default; Pool <IntersectExprEnumerator> .Return(this); }