openMSX
DiskPartition.hh
Go to the documentation of this file.
1#ifndef DISKPARTITION_HH
2#define DISKPARTITION_HH
3
4#include "SectorBasedDisk.hh"
5#include <memory>
6
7namespace openmsx {
8
9class DiskPartition final : public SectorBasedDisk
10{
11public:
22 std::shared_ptr<SectorAccessibleDisk> owned = nullptr);
23
25 size_t start, size_t length);
26
27private:
28 void readSectorImpl (size_t sector, SectorBuffer& buf) override;
29 void writeSectorImpl(size_t sector, const SectorBuffer& buf) override;
30 [[nodiscard]] bool isWriteProtectedImpl() const override;
31
32private:
34 std::shared_ptr<SectorAccessibleDisk> owned;
35 size_t start;
36};
37
38} // namespace openmsx
39
40#endif
DiskPartition(SectorAccessibleDisk &disk, unsigned partition, std::shared_ptr< SectorAccessibleDisk > owned=nullptr)
Return a partition (as a SectorbasedDisk) from another Disk.
Abstract class for disk images that only represent the logical sector information (so not the raw tra...
T length(const vecN< N, T > &x)
Definition: gl_vec.hh:339
void partition(SectorAccessibleDisk &disk, std::span< const unsigned > sizes)
Write a partition table to the given disk and format each partition.
This file implemented 3 utility functions:
Definition: Autofire.cc:9