Tools.h++ Manual
17-18 104011 Tandem Computers Incorporated
17
#endif
RWDEFINE_COLLECTABLE(Bus, 200)
Bus::Bus() :
busNumber_ (0),
driver_ ("Unknown"),
passengers_ (rwnil)
{
}
Bus::Bus(int busno, const RWCString& driver) :
busNumber_ (busno),
driver_ (driver),
passengers_ (rwnil)
{
}
Bus::~Bus()
{
customers_.clearAndDestroy();
delete passengers_;
}
RWspace
Bus::binaryStoreSize() const
{
RWspace count = RWCollectable::binaryStoreSize() +
customers_.recursiveStoreSize() +
sizeof(busNumber_) +
driver_.binaryStoreSize();
if (passengers_)
count += passengers_->recursiveStoreSize();
return count;
}
int
Bus::compareTo(const RWCollectable* c) const
{
const Bus* b = (const Bus*)c;
if (busNumber_ == b->busNumber_) return 0;
return busNumber_ > b->busNumber_ ? 1 : -1;