55#include < optional>
66#include < vector>
77
8- #define VIRTUAL
98
109namespace vcc ::media
1110{
@@ -55,12 +54,12 @@ namespace vcc::media
5554 // / @brief Indicates the total number of heads in supported by the disk.
5655 // /
5756 // / @return A value greater than 0 (zero) specifying the number of heads.
58- [[nodiscard]] VIRTUAL size_type head_count () const noexcept ;
57+ [[nodiscard]] virtual size_type head_count () const noexcept ;
5958
6059 // / @brief Indicates the total number of tracks in supported by the disk.
6160 // /
6261 // / @return A value greater than 0 (zero) specifying the number of heads.
63- [[nodiscard]] VIRTUAL size_type track_count () const noexcept ;
62+ [[nodiscard]] virtual size_type track_count () const noexcept ;
6463
6564 // / @brief Retrieves the first valid sector id supported by the disk.
6665 // /
@@ -70,14 +69,14 @@ namespace vcc::media
7069 // / a base 0 sector id - but that may not always work. This however may not be possible.
7170 // /
7271 // / @return The first valid sector identifier.
73- [[nodiscard]] VIRTUAL size_type first_valid_sector_id () const noexcept ;
72+ [[nodiscard]] virtual size_type first_valid_sector_id () const noexcept ;
7473
7574 // / @brief Indicates if the disk is write protected.
7675 // /
7776 // / Indicates if the disk is in write protect mode and cannot be written to.
7877 // /
7978 // / @return `true` if the disk is write protected; otherwise `false`.
80- [[nodiscard]] VIRTUAL bool is_write_protected () const noexcept ;
79+ [[nodiscard]] virtual bool is_write_protected () const noexcept ;
8180
8281
8382 // / @brief Retrieve the number of sectors available on a specific head and track.
@@ -93,7 +92,7 @@ namespace vcc::media
9392 // /
9493 // / @throws std::invalid_argument if the head specified in `disk_head` does not exist.
9594 // / @throws std::invalid_argument if the track specified in `disk_track` does not exist.
96- [[nodiscard]] VIRTUAL size_type get_sector_count (
95+ [[nodiscard]] virtual size_type get_sector_count (
9796 size_type disk_head,
9897 size_type disk_track) const ;
9998
@@ -103,14 +102,14 @@ namespace vcc::media
103102 // / @param disk_head The head to validate.
104103 // /
105104 // / @return `true` if the head exists on the disk; `false` otherwise.
106- [[nodiscard]] VIRTUAL bool is_valid_disk_head (size_type disk_head) const noexcept ;
105+ [[nodiscard]] virtual bool is_valid_disk_head (size_type disk_head) const noexcept ;
107106
108107 // / @brief Check if the disk image contains a specific track on a specific head.
109108 // /
110109 // / @param disk_track The track to validate.
111110 // /
112111 // / @return `true` if the track exists on the disk; `false` otherwise.
113- [[nodiscard]] VIRTUAL bool is_valid_disk_track (size_type disk_track) const noexcept ;
112+ [[nodiscard]] virtual bool is_valid_disk_track (size_type disk_track) const noexcept ;
114113
115114 // / @brief Check if the disk image contains a sector on a specific head and track.
116115 // /
@@ -124,7 +123,7 @@ namespace vcc::media
124123 // / @param disk_sector The zero based index of the sector to validate.
125124 // /
126125 // / @return `true` if the track exists on the disk; `false` otherwise.
127- [[nodiscard]] VIRTUAL bool is_valid_track_sector (
126+ [[nodiscard]] virtual bool is_valid_track_sector (
128127 size_type disk_head,
129128 size_type disk_track,
130129 size_type disk_sector) const noexcept ;
0 commit comments