{
/* If we do not use the direction to help differentiate, then it is
* possible that an object can be neither less, greater, or equal */
- return ((position_ < rhs.position_) || (direction_ < rhs.direction_));
+ return (position_ < rhs.position_);
}
bool Stop::operator> (const Stop& rhs) const
return direction_;
}
+const Position Stop::getPosition () const
+{
+ return position_;
+}
+
std::ostream& operator<< (std::ostream& os, const Stop& rhs)
{
- os << "Stop(" << rhs.position_ << ", " << rhs.direction_ << ")";
+ os << "Stop(" << rhs.position_ << ", "; // << rhs.direction_ << ")";
+
+ switch (rhs.direction_)
+ {
+ case IDLE:
+ os << "IDLE";
+ break;
+ case UP:
+ os << "UP";
+ break;
+ case DOWN:
+ os << "DOWN";
+ break;
+ case ALL:
+ os << "ALL";
+ break;
+ default:
+ os << "UNHANDLED";
+ break;
+ }
+
+ os << ")";
return os;
}