-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSequence.hpp
More file actions
15 lines (15 loc) · 892 Bytes
/
Sequence.hpp
File metadata and controls
15 lines (15 loc) · 892 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
template <class T> class Sequence
{
public:
virtual T GetFirst() const = 0;
virtual T GetLast() const = 0;
virtual T Get(int index) const = 0;
virtual Sequence<T>* GetSubsequence(int startIndex, int endIndex) const = 0;
virtual int GetLength() const = 0;
virtual void Append(T item) = 0;
virtual void Prepend(T item) = 0;
virtual void InsertAt(int index, T item) = 0;
virtual Sequence<T>* Concat(Sequence<T>* list) = 0;
virtual void Remove(int index) = 0;
};