private Queue(DropCollectStack <T> incoming, DropStack <T> outgoing, DropStack <T> partialOutgoing, DropStack <T> incomingTraverser) { this._incoming = incoming; this._outgoing = outgoing; this._partialOutgoing = partialOutgoing; this._incomingTraverser = incomingTraverser; }
private Queue <T> With(DropCollectStack <T> items = null, DropStack <T>?ready = null, DropStack <T>?reStack = null, DropStack <T>?reFeed = null) { return(new Queue <T>( items ?? _incoming, ready ?? _outgoing, reStack ?? _partialOutgoing, reFeed ?? _incomingTraverser)); }