diff --git a/Storage/Disk/Track/Track.hpp b/Storage/Disk/Track/Track.hpp index 798a0a34e..9e6b15071 100644 --- a/Storage/Disk/Track/Track.hpp +++ b/Storage/Disk/Track/Track.hpp @@ -22,6 +22,17 @@ namespace Disk { */ class Track { public: + /*! + Describes the location of a track, implementing < to allow for use as a set key. + */ + struct Address { + int head, position; + + bool operator < (const Address &rhs) const { + return (head < rhs.head) || (position < rhs.position); + } + }; + /*! Describes a detectable track event — either a flux transition or the passing of the index hole, along with the length of time between the previous event and its occurance.