Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Stack/IStack.cs @ 14777

Last change on this file since 14777 was 14777, checked in by pkimmesw, 7 years ago

#2665 simplifier, push solution results view, performance improvements, small bug fixes, ui fixes

File size: 1.1 KB
Line 
1namespace HeuristicLab.Problems.ProgramSynthesis.Push.Stack {
2  using System;
3  using System.Collections.Generic;
4
5  public interface IStack<T> : ICollection<T> {
6    bool IsEmpty { get; }
7
8    bool IsEnabled { get; }
9    T Top { get; }
10
11    T TopOrDefault { get; }
12
13    T Bottom { get; }
14
15    T BottomOrDefault { get; }
16
17    T this[int key] { get; set; }
18
19    void Swap(int count);
20
21    void Yank(int index);
22
23    void Push(T item);
24    void Push(T item1, T item2);
25    void Push(T item1, T item2, T item3);
26    void Push(T item1, T item2, T item3, T item4);
27
28    void Push(IReadOnlyList<T> items, int startIndex = 0);
29
30    T Peek();
31
32    T[] Peek(int count);
33
34    void PushResult(int count, Func<T[], T> templateFunc);
35
36    void Insert(int index, T item);
37
38    T ReverseElementAt(int offset);
39
40    void SetTop(T value);
41
42    void RemoveTop();
43
44    void Remove(int count);
45
46    void RemoveAt(int index);
47
48    void RemoveAt(int index, int count);
49
50    T Pop();
51
52    T[] Pop(int count);
53
54    bool TryPop(out T item);
55
56    T ElementAt(int index);
57  }
58}
Note: See TracBrowser for help on using the repository browser.