source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Stack/IPushStack.cs @ 14834

Last change on this file since 14834 was 14834, checked in by pkimmesw, 3 years ago

#2665 LexicaseSelector, Performance improvements, UI Fixes, Debugger only shows used stacks, fixed Debugger stepping, Added vector expressions, ERCOptions,

File size: 853 bytes
Line 
1namespace HeuristicLab.Problems.ProgramSynthesis.Push.Stack {
2  using System;
3  using System.Collections.Generic;
4
5  public interface IPushStack<T> : ICollection<T>, IPushStackBase {
6    T Top { get; }
7    T TopOrDefault { get; }
8    T Bottom { get; }
9    T BottomOrDefault { get; }
10    T this[int key] { get; set; }
11
12    void Push(T item);
13    void Push(T item1, T item2);
14    void Push(T item1, T item2, T item3);
15    void Push(T item1, T item2, T item3, T item4);
16
17    void Push(IReadOnlyList<T> items, int startIndex = 0);
18    T Peek();
19    T[] Peek(int count);
20    void PushResult(int count, Func<T[], T> templateFunc);
21    void Insert(int index, T item);
22    T ReverseElementAt(int offset);
23    void SetTop(T value);
24    T Pop();
25    T[] Pop(int count);
26    bool TryPop(out T item);
27    T ElementAt(int index);
28  }
29}
Note: See TracBrowser for help on using the repository browser.