#ifndef BIDDERCOLLECTION_H
#define BIDDERCOLLECTION_H
#include "bidders.h"
#include <iostream>
#include "sllistUtils.h"
class BidderCollection {
int size;
LListHeader<Bidder> list;
public:
typedef LListNode<Bidder>* Position;
/**
* Create a collection capable of holding any number of items
*/
BidderCollection ();
BidderCollection (const BidderCollection&);
BidderCollection& operator= (const BidderCollection&);
~BidderCollection ();
int getSize() const {return size;}
const Bidder& get(Position index) const;
Bidder& get(Position index);
Position getFirst() const;
bool more (Position afterThis) const;
Position getNext(Position afterThis) const;
void add (const Bidder& value);
void remove (Position);
Position findBidder (std::string name) const;
/**
* Read all items from the indicated file
*/
void readBidders (std::string fileName);
void print (std::ostream& out) const;
bool operator== (const BidderCollection&) const;
bool operator< (const BidderCollection&) const;
};
inline
std::ostream& operator<< (std::ostream& out, const BidderCollection& b)
{
b.print(out);
return out;
}
#endif