Tools.h++ Manual

104011 Tandem Computers Incorporated 17-19
17
}
RWBoolean
Bus::isEqual(const RWCollectable* c) const
{
const Bus* b = (const Bus*)c;
return busNumber_ == b->busNumber_;
}
unsigned
Bus::hash() const
{
return (unsigned)busNumber_;
}
size_t
Bus::customers() const
{
return customers_.entries();
}
size_t
Bus::passengers() const
{
return passengers_ ? passengers_->entries() : 0;
}
void Bus::saveGuts(RWFile& f) const
{
RWCollectable::saveGuts(f); // Save base class
f.Write(busNumber_); // Write primitive directly
f << driver_ << customers_; // Use Tools.h++ provided
versions
f << passengers_; // Will detect nil pointer
automatically
}
void Bus::saveGuts(RWvostream& strm) const
{
RWCollectable::saveGuts(strm); // Save base class
strm << busNumber_; // Write primitives directly
strm << driver_ << customers_; // Use Tools.h++ provided
versions