public override AppendPrependIterator <TSource> Append(TSource item) { var appended = _appended != null?_appended.Add(item) : new SingleLinkedNode <TSource>(item); return(new AppendPrependN <TSource>(_source, _prepended, appended, _prependCount, _appendCount + 1)); }
public override AppendPrependIterator <TSource> Prepend(TSource item) { return(new AppendPrependN <TSource>(_source, _prepended != null ? _prepended.Add(item) : new SingleLinkedNode <TSource>(item), _appended)); }
public override AppendPrepentAsyncIterator <TSource> Prepend(TSource item) { return(new AppendPrependNAsyncIterator <TSource>(source, prepended != null ? prepended.Add(item) : new SingleLinkedNode <TSource>(item), appended)); }
public override AppendPrependAsyncIterator <TSource> Prepend(TSource item) { var res = _prepended != null?_prepended.Add(item) : new SingleLinkedNode <TSource>(item); return(new AppendPrependNAsyncIterator <TSource>(_source, res, _appended, _prependCount + 1, _appendCount)); }