Added support for seekg and tellg functions #14
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These code change include added support for seekg and tellg functions. These functions can be useful for determining the size of the uncompressed output. For my particular use case I need to store a few positions in a file and come back to them later on a second pass. The new seek function is capable of seeking forward. If a backwards seek is triggered and it is already buffered it will just jump to that position, but when the position is not in the buffer it will reset the stream and seek from the zero position. A relative seek from the end of the stream is not possible and will throw an exception.
Here is the code that I used for testing (I also changed the buffer size to 100):
Here is the file I used as well:
src.tar.gz