10 # include <vcl_msvc_warnings.h> 19 : underlying_(underlying)
24 assert(underlying !=
nullptr);
30 : underlying_(underlying)
35 assert(underlying !=
nullptr);
106 assert(position >= 0);
109 std::cerr << __FILE__ <<
": attempt to seek past given section (failed).\n";
vil_streampos read(void *buf, vil_streampos n) override
Read n bytes into buf. Returns number of bytes read.
virtual vil_streampos tell() const =0
Return file pointer.
vil_streampos file_size() const override
Amount of data in the stream.
virtual vil_streampos write(void const *buf, vil_streampos n)=0
Write n bytes from buf. Returns number of bytes written.
virtual void seek(vil_streampos position)=0
Goto file pointer.
vil_streampos write(void const *buf, vil_streampos n) override
Write n bytes from buf. Returns number of bytes written.
virtual vil_streampos read(void *buf, vil_streampos n)=0
Read n bytes into buf. Returns number of bytes read.
Stream interface for VIL image loaders.
vil_stream_section(vil_stream *underlying, int begin)
skip to position 'begin' in underlying stream and translate seeks, reads and writes relative to that ...
void ref()
up/down the reference count.
~vil_stream_section() override
virtual vil_streampos file_size() const =0
Amount of data in the stream.
make a section of a vil_stream behave like a vil_stream
void seek(vil_streampos position) override
Goto file pointer.