68 void read(
char *buf,
size_t nRead,
size_t bufSize = 0 );
69 void write(
const char *buf,
size_t nWrite );
90 uint32_t checksum(
char *buf,
size_t size )
const;
91 void verifyChecksum(
char *page_buffer,
size_t page );
93 template <
class FTYPE>
CheckedFile &writeFloatingPoint( FTYPE value,
int precision );
95 void getCurrentPageAndOffset( uint64_t &page,
size_t &pageOffset,
OffsetMode omode =
Logical );
96 void readPhysicalPage(
char *page_buffer, uint64_t page );
97 void writePhysicalPage(
char *page_buffer, uint64_t page );
99 uint64_t lseek64( int64_t
offset,
int whence );
102 uint64_t logicalLength_ = 0;
103 uint64_t physicalLength_ = 0;
109 bool readOnly_ =
false;
void write(const char *buf, size_t nWrite)
static constexpr uint64_t physicalPageSizeMask
CheckedFile & operator<<(const e57::ustring &s)
static constexpr size_t physicalPageSize
void read(char *buf, size_t nRead, size_t bufSize=0)
void extend(uint64_t newLength, OffsetMode omode=Logical)
uint64_t position(OffsetMode omode=Logical)
static uint64_t logicalToPhysical(uint64_t logicalOffset)
static uint64_t physicalToLogical(uint64_t physicalOffset)
CheckedFile(const e57::ustring &fileName, Mode mode, ReadChecksumPolicy policy)
static constexpr size_t physicalPageSizeLog2
e57::ustring fileName() const
static constexpr size_t logicalPageSize
uint64_t length(OffsetMode omode=Logical)
void seek(uint64_t offset, OffsetMode omode=Logical)
constexpr ReadChecksumPolicy CHECKSUM_POLICY_ALL
Only verify 50% of the checksums. The last block is always verified.
int ReadChecksumPolicy
Specifies the percentage of checksums which are verified when reading an ImageFile (0-100%).
std::string ustring
UTF-8 encodeded Unicode string.