6 #ifndef OPERATIONAL_ITERATOR_LIST_H_
7 #define OPERATIONAL_ITERATOR_LIST_H_
21 explicit List(
long size);
29 long Count()
const override;
31 Item &
Get(
long index)
const override;
32 Item &
First()
const override;
33 Item &
Last()
const override;
35 bool Includes(
const Item& anItem)
const override;
37 void Append(
const Item& anItem)
override;
38 void Prepend(
const Item& anItem)
override;
40 void Remove(
const Item& anItem)
override;
46 Item &
Top()
const override;
48 void Push(
const Item& anItem)
override;
64 items_ =
new Item[size_];
101 return items_[index];
114 return Get(Count() - 1);
120 for (
long i = 0; i < Count(); i++)
122 if (items_[i] == item)
135 items_[count_] = item;
145 for (
long i = count_ - 1; i >= 0; i--)
146 items_[i + 1] = items_[i];
155 for (
long i = 0; i < Count(); i++)
157 if (items_[i] == item)
167 if (index < 0 || index >= Count())
168 throw "RangeException";
170 for (
auto i = index; i < Count() - 1; i++)
171 items_[i] = items_[i + 1];
178 RemoveAt(Count() - 1);
virtual ~List()
Definition: list.h:71
void Push(const Item &anItem) override
Definition: list.h:200
List & operator=(const List &list)
Definition: list.h:77
void RemoveAll() override
Definition: list.h:188
Definition: application.cc:10
Item & Pop() override
Definition: list.h:206
List()
Definition: list.h:59
Definition: list_interface.h:14
void Remove(const Item &anItem) override
Definition: list.h:153
virtual ListIterator< Item > * CreateIterator() const
Definition: list.h:86
void RemoveFirst() override
Definition: list.h:182
Item & First() const override
Definition: list.h:106
Item & Top() const override
Definition: list.h:194
Item & Last() const override
Definition: list.h:112
long Count() const override
Definition: list.h:92
void RemoveLast() override
Definition: list.h:176
void Prepend(const Item &anItem) override
Definition: list.h:141
Definition: list_iterator.h:17
void RemoveAt(long index) override
Definition: list.h:165
Item & Get(long index) const override
Definition: list.h:98
void Append(const Item &anItem) override
Definition: list.h:131
bool Includes(const Item &anItem) const override
Definition: list.h:118