Stream interface for VIL image loaders. More...
#include <vil_stream.h>

Public Member Functions | |
| virtual bool | ok () const =0 |
| Return false if the stream is broken. | |
| virtual vil_streampos | write (void const *buf, vil_streampos n)=0 |
| 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. | |
| virtual vil_streampos | tell () const =0 |
| Return file pointer. | |
| virtual void | seek (vil_streampos position)=0 |
| Goto file pointer. | |
| virtual vil_streampos | file_size () const =0 |
| Amount of data in the stream. | |
| void | ref () |
| up/down the reference count. | |
| void | unref () |
Protected Member Functions | |
| vil_stream () | |
| virtual | ~vil_stream () |
Private Attributes | |
| vcl_atomic_count | refcount_ |
Related Functions | |
(Note that these are not member functions.) | |
| vil_stream * | vil_open (char const *what, char const *how="r") |
| make a vil_stream from a filename, an URL, etc. | |
| float | vil_stream_read_big_endian_float (vil_stream *is) |
| Reads in a 4-byte big-endian float. | |
| void | vil_stream_read_big_endian_int_16 (vil_stream *is, vxl_uint_16 *data, unsigned n) |
| Reads in n 16 bit unsigned ints. | |
| void | vil_stream_write_big_endian_uint_16 (vil_stream *, vxl_uint_16) |
| void | vil_stream_write_little_endian_uint_16 (vil_stream *, vxl_uint_16) |
| void | vil_stream_write_big_endian_uint_32 (vil_stream *, vxl_uint_32) |
| void | vil_stream_write_little_endian_uint_32 (vil_stream *, vxl_uint_32) |
Stream interface for VIL image loaders.
This allows the loaders to be used with any type of stream.
Definition at line 24 of file vil_stream.h.
| vil_stream::vil_stream | ( | ) | [protected] |
Definition at line 15 of file vil_stream.cxx.
| vil_stream::~vil_stream | ( | ) | [protected, virtual] |
Definition at line 23 of file vil_stream.cxx.
| virtual vil_streampos vil_stream::file_size | ( | ) | const [pure virtual] |
Amount of data in the stream.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| virtual bool vil_stream::ok | ( | ) | const [pure virtual] |
Return false if the stream is broken.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| virtual vil_streampos vil_stream::read | ( | void * | buf, |
| vil_streampos | n | ||
| ) | [pure virtual] |
Read n bytes into buf. Returns number of bytes read.
The return value is less than n only at eof.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| void vil_stream::ref | ( | ) | [inline] |
up/down the reference count.
Definition at line 48 of file vil_stream.h.
| virtual void vil_stream::seek | ( | vil_streampos | position | ) | [pure virtual] |
Goto file pointer.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| virtual vil_streampos vil_stream::tell | ( | ) | const [pure virtual] |
Return file pointer.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| void vil_stream::unref | ( | ) |
Definition at line 31 of file vil_stream.cxx.
| virtual vil_streampos vil_stream::write | ( | void const * | buf, |
| vil_streampos | n | ||
| ) | [pure virtual] |
Write n bytes from buf. Returns number of bytes written.
The return value is less than n only in case of device failure.
Implemented in vil_stream_core, vil_stream_section, vil_stream_fstream, and vil_stream_url.
| vil_stream * vil_open | ( | char const * | what, |
| char const * | how = "r" |
||
| ) | [related] |
make a vil_stream from a filename, an URL, etc.
Definition at line 19 of file vil_open.cxx.
| float vil_stream_read_big_endian_float | ( | vil_stream * | is | ) | [related] |
Reads in a 4-byte big-endian float.
Definition at line 109 of file vil_stream_read.cxx.
| void vil_stream_read_big_endian_int_16 | ( | vil_stream * | is, |
| vxl_uint_16 * | data, | ||
| unsigned | n | ||
| ) | [related] |
Reads in n 16 bit unsigned ints.
Caller is responsible for allocating enough space.
Definition at line 121 of file vil_stream_read.cxx.
| void vil_stream_write_big_endian_uint_16 | ( | vil_stream * | , |
| vxl_uint_16 | |||
| ) | [related] |
Definition at line 17 of file vil_stream_write.cxx.
| void vil_stream_write_big_endian_uint_32 | ( | vil_stream * | , |
| vxl_uint_32 | |||
| ) | [related] |
Definition at line 33 of file vil_stream_write.cxx.
| void vil_stream_write_little_endian_uint_16 | ( | vil_stream * | , |
| vxl_uint_16 | |||
| ) | [related] |
Definition at line 25 of file vil_stream_write.cxx.
| void vil_stream_write_little_endian_uint_32 | ( | vil_stream * | , |
| vxl_uint_32 | |||
| ) | [related] |
Definition at line 43 of file vil_stream_write.cxx.
vcl_atomic_count vil_stream::refcount_ [private] |
Definition at line 57 of file vil_stream.h.
1.7.5.1