1 #include "position.hpp"
10 Position::Position (int initial_position)
11 : _major(initial_position)
14 // Intentionally Empty
17 bool Position::operator== (const Position& rhs)
19 return (_major == rhs._major) && (_minor == rhs._minor);
23 bool Position::operator== (const int rhs)
25 return (_major == rhs) && (_minor == 0);
28 Position& Position::operator+= (const float rhs)
31 int minor = (int)((rhs - major) * 10);
36 /* Check for overflow */
46 Position& Position::operator-= (const float rhs)
53 bool Position::operator< (const Position& rhs)
55 if (_major < rhs._major)
58 if (_major == rhs._major)
59 if (_minor < rhs._minor)
65 bool Position::operator> (const Position& rhs)
67 if (_major > rhs._major)
70 if (_major == rhs._major)
71 if (_minor > rhs._minor)
77 std::ostream& operator<< (std::ostream& os, Position& rhs)
79 os << "Position: " << rhs._major << "." << rhs._minor;
84 /* vim: set ts=4 sts=4 sw=4 noexpandtab textwidth=112: */