clear();
}
+pouch::pouch(const pouch &p)
+{
+ count = p.count;
+ items = p.items;
+}
+
+pouch::pouch(pouch *p)
+{
+ count = p->count;
+ items = p->items;
+}
+
void pouch::clear()
{
items.clear();
+ count = 0;
}
bool pouch::isEmpty()
items.sort();
}
+itemContainer *pouch::Find(int id)
+{
+ list<itemContainer>::iterator item_iter;
+ item_iter = items.begin();
+
+ while (item_iter != items.end())
+ {
+ if ((*item_iter).getItem()->getID() == id)
+ {
+ return &(*item_iter);
+ }
+ ++item_iter;
+ }
+ return NULL;
+}
+
itemContainer *pouch::Find(char *n)
{
list<itemContainer>::iterator item_iter;
{
return &(*item_iter);
}
- item_iter++;
+ ++item_iter;
}
return NULL;
}
{
return &(*item_iter);
}
- item_iter++;
+ ++item_iter;
}
return NULL;
{
return NULL;
}
- itemContainer it(i);
- items.push_front(it);
- ++count;
- sort();
- return &items.front();
+ else
+ {
+ itemContainer it(i), *temp;
+ items.push_front(it);
+ ++count;
+ temp = &items.front();
+ sort();
+ return temp;
+ }
+}
+
+itemContainer *pouch::addItem(item *i, int amt)
+{
+ if (count >= 3000 || (count + amt) >= maxitems)
+ {
+ return NULL;
+ }
+ else
+ {
+ itemContainer it(i), *temp;
+ for (int x=0; x < amt; x++)
+ {
+ items.push_front(it);
+ ++count;
+ }
+ temp = &items.front();
+ sort();
+ return temp;
+ }
}
+
itemContainer *pouch::addItemNoChecks(item *i)
{
itemContainer it(i);
void pouch::deleteItem(item *i)
{
list<itemContainer>::iterator item_iter;
- count--;
-
- item_iter = find(items.begin(), items.end(), i);
+ item_iter = find(items.begin(), items.end(), i);
+
if (item_iter != items.end())
- items.erase(item_iter);
+ {
+ items.erase(item_iter);
+ count--;
+ }
}
const pouch &pouch::operator=(const pouch &right)