From 5344e3098bbd6ec4ad87ae3eb1d5724990bf124c Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 20 Aug 2017 10:55:08 -0400 Subject: [PATCH] Minor: made has_disk something that is decided on insertion/deletion. --- Storage/Disk/Drive.cpp | 6 ++++-- Storage/Disk/Drive.hpp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Storage/Disk/Drive.cpp b/Storage/Disk/Drive.cpp index b8124dc90..99e8e6d11 100644 --- a/Storage/Disk/Drive.cpp +++ b/Storage/Disk/Drive.cpp @@ -12,20 +12,22 @@ using namespace Storage::Disk; Drive::Drive() - : head_position_(0), head_(0) {} + : head_position_(0), head_(0), has_disk_(false) {} void Drive::set_disk(const std::shared_ptr &disk) { disk_ = disk; track_ = nullptr; + has_disk_ = !!disk_; } void Drive::set_disk_with_track(const std::shared_ptr &track) { disk_ = nullptr; track_ = track; + has_disk_ = !!track_; } bool Drive::has_disk() { - return (bool)disk_ || (bool)track_; + return has_disk_; } bool Drive::get_is_track_zero() { diff --git a/Storage/Disk/Drive.hpp b/Storage/Disk/Drive.hpp index d65cb5435..009b15dc9 100644 --- a/Storage/Disk/Drive.hpp +++ b/Storage/Disk/Drive.hpp @@ -73,6 +73,7 @@ class Drive { private: std::shared_ptr track_; std::shared_ptr disk_; + bool has_disk_; int head_position_; unsigned int head_; };