public ListStack(NonListStackData data, ListStack formerStack) : base(formerStack.OutStream) { _data = new NonListStackData[formerStack._data.Length + 1]; _data[0] = data; formerStack._data.CopyTo(_data, 1); }
ListStack(NonListStackData[] data, ListStack formerStack) : base(formerStack.OutStream) { _data = new NonListStackData[data.Length + formerStack._data.Length]; data.CopyTo(_data, 0); formerStack._data.CopyTo(_data, data.Length); }
internal override StackData PushOnto(ListStack formerStack) => formerStack;
internal override StackData PushOnto(ListStack formerStack) => new ListStack(this, formerStack);
internal virtual StackData PushOnto(ListStack formerStack) { NotImplementedMethod(formerStack); return null; }