93 : m_start_offset(start_offset)
94 , m_end_offset(end_offset)
99 throw InvalidException(
"VirtualSeeker::VirtualSeeker(): the start and end offsets cannot be negative.");
120 throw InvalidException(
"VirtualSeeker::VirtualSeeker(): the start and end offsets cannot be negative.");
198 throw std::logic_error(
"VirtualSeekManager::vseekg(): error - unknown seekdir");
202 is.seekg(offset, sd);
offset_t startOffset() const
Return the start offset.
Various exceptions used throughout the Zipios++ library, all based on zipios::Exception.
offset_t endOffset() const
Return the end offset.
Define the zipios::VirtualSeeker class.
void setOffsets(offset_t start_offset, offset_t end_offset)
Set the offsets of the virtual seeker.
void getOffsets(offset_t &start_offset, offset_t &end_offset) const
Retrieve the current offsets.
VirtualSeeker(offset_t start_offset=0, offset_t end_offset=0)
Create a virtual seeker.
void vseekg(std::istream &is, offset_t offset, std::ios::seekdir sd) const
Seek within the embedded file.
An InvalidException is used when invalid data is provided.
std::streampos vtellg(std::istream &is) const
Current position within the sub-file.