diff options
| author | JosJuice <josjuice@gmail.com> | 2017-06-04 10:33:14 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-06-05 13:26:51 +0200 |
| commit | c3fa0d6edf0ed65acdf789debed57cd4aa7955ba (patch) | |
| tree | f8f42f79831b513161902d819a945d60368f7499 /Source/Core/DiscIO/Volume.h | |
| parent | e23cfc29654ece853309454a7a37306cc696af19 (diff) | |
DiscIO: Use std::optional in Volume and Blob
Diffstat (limited to 'Source/Core/DiscIO/Volume.h')
| -rw-r--r-- | Source/Core/DiscIO/Volume.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Source/Core/DiscIO/Volume.h b/Source/Core/DiscIO/Volume.h index 8b59b53618..7e0f01bdf3 100644 --- a/Source/Core/DiscIO/Volume.h +++ b/Source/Core/DiscIO/Volume.h @@ -44,13 +44,12 @@ public: virtual ~IVolume() {} virtual bool Read(u64 _Offset, u64 _Length, u8* _pBuffer, const Partition& partition) const = 0; template <typename T> - bool ReadSwapped(u64 offset, T* buffer, const Partition& partition) const + std::optional<T> ReadSwapped(u64 offset, const Partition& partition) const { T temp; if (!Read(offset, sizeof(T), reinterpret_cast<u8*>(&temp), partition)) - return false; - *buffer = Common::FromBigEndian(temp); - return true; + return {}; + return Common::FromBigEndian(temp); } virtual std::vector<Partition> GetPartitions() const { return {}; } virtual Partition GetGamePartition() const { return PARTITION_NONE; } @@ -65,8 +64,8 @@ public: virtual std::string GetGameID(const Partition& partition) const = 0; std::string GetMakerID() const { return GetMakerID(GetGamePartition()); } virtual std::string GetMakerID(const Partition& partition) const = 0; - u16 GetRevision() const { return GetRevision(GetGamePartition()); } - virtual u16 GetRevision(const Partition& partition) const = 0; + std::optional<u16> GetRevision() const { return GetRevision(GetGamePartition()); } + virtual std::optional<u16> GetRevision(const Partition& partition) const = 0; std::string GetInternalName() const { return GetInternalName(GetGamePartition()); } virtual std::string GetInternalName(const Partition& partition) const = 0; virtual std::map<Language, std::string> GetShortNames() const { return {}; } @@ -78,8 +77,8 @@ public: std::string GetApploaderDate() const { return GetApploaderDate(GetGamePartition()); } virtual std::string GetApploaderDate(const Partition& partition) const = 0; // 0 is the first disc, 1 is the second disc - u8 GetDiscNumber() const { return GetDiscNumber(GetGamePartition()); } - virtual u8 GetDiscNumber(const Partition& partition) const { return 0; } + std::optional<u8> GetDiscNumber() const { return GetDiscNumber(GetGamePartition()); } + virtual std::optional<u8> GetDiscNumber(const Partition& partition) const { return 0; } virtual Platform GetVolumeType() const = 0; virtual bool SupportsIntegrityCheck() const { return false; } virtual bool CheckIntegrity(const Partition& partition) const { return false; } |
