An in-core vil_stream implementation. More...
#include <vil_stream_core.h>

Public Member Functions | |
| vil_stream_core (unsigned block_size=16384) | |
| vil_streampos | size () const |
| get current file size. More... | |
| vil_streampos | m_transfer (char *buf, vil_streampos pos, vil_streampos n, bool read) |
| Read or write n bytes at position pos. More... | |
| bool | ok () const override |
| Return false if the stream is broken. More... | |
| vil_streampos | read (void *buf, vil_streampos n) override |
| Read n bytes into buf. Returns number of bytes read. More... | |
| vil_streampos | write (void const *buf, vil_streampos n) override |
| Write n bytes from buf. Returns number of bytes written. More... | |
| vil_streampos | tell () const override |
| Return file pointer. More... | |
| void | seek (vil_streampos position) override |
| Goto file pointer. More... | |
| vil_streampos | file_size () const override |
| Amount of data in the stream. More... | |
| void | ref () |
| up/down the reference count. More... | |
| void | unref () |
Protected Member Functions | |
| ~vil_stream_core () override | |
Private Attributes | |
| vil_streampos | curpos_ |
| unsigned | blocksize_ |
| std::vector< char * > | block_ |
| vil_streampos | tailpos_ |
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. More... | |
| float | vil_stream_read_big_endian_float (vil_stream *is) |
| Reads in a 4-byte big-endian float. More... | |
| void | vil_stream_read_big_endian_int_16 (vil_stream *is, vxl_uint_16 *data, unsigned n) |
| Reads in n 16 bit unsigned ints. More... | |
| 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) |
| void | vil_stream_write_big_endian_int_32 (vil_stream *, vxl_int_32) |
| void | vil_stream_write_little_endian_int_32 (vil_stream *, vxl_int_32) |
An in-core vil_stream implementation.
This is an infinite stream - reads past the last point written will succeed but will return garbage data.
Definition at line 18 of file vil_stream_core.h.
| vil_stream_core::vil_stream_core | ( | unsigned | block_size = 16384 | ) |
Definition at line 14 of file vil_stream_core.cxx.
|
overrideprotected |
Definition at line 20 of file vil_stream_core.cxx.
|
inlineoverridevirtual |
Amount of data in the stream.
Implements vil_stream.
Definition at line 43 of file vil_stream_core.h.
| vil_streampos vil_stream_core::m_transfer | ( | char * | buf, |
| vil_streampos | pos, | ||
| vil_streampos | n, | ||
| bool | read | ||
| ) |
Read or write n bytes at position pos.
This does not change the current position. When read=false, buf is actually a "char const *".
Definition at line 50 of file vil_stream_core.cxx.
|
inlineoverridevirtual |
Return false if the stream is broken.
Implements vil_stream.
Definition at line 37 of file vil_stream_core.h.
|
overridevirtual |
Read n bytes into buf. Returns number of bytes read.
The return value is less than n only at eof.
Implements vil_stream.
Definition at line 29 of file vil_stream_core.cxx.
|
inlineinherited |
up/down the reference count.
Definition at line 45 of file vil_stream.h.
|
inlineoverridevirtual |
|
inline |
get current file size.
Definition at line 29 of file vil_stream_core.h.
|
inlineoverridevirtual |
|
inherited |
Definition at line 31 of file vil_stream.cxx.
|
overridevirtual |
Write n bytes from buf. Returns number of bytes written.
The return value is less than n only in case of device failure.
Implements vil_stream.
Definition at line 40 of file vil_stream_core.cxx.
|
related |
make a vil_stream from a filename, an URL, etc.
Definition at line 18 of file vil_open.cxx.
|
related |
Reads in a 4-byte big-endian float.
Definition at line 122 of file vil_stream_read.cxx.
|
related |
Reads in n 16 bit unsigned ints.
Caller is responsible for allocating enough space.
Definition at line 134 of file vil_stream_read.cxx.
|
related |
Definition at line 50 of file vil_stream_write.cxx.
|
related |
Definition at line 14 of file vil_stream_write.cxx.
|
related |
Definition at line 30 of file vil_stream_write.cxx.
|
related |
Definition at line 60 of file vil_stream_write.cxx.
|
related |
Definition at line 22 of file vil_stream_write.cxx.
|
related |
Definition at line 40 of file vil_stream_write.cxx.
|
private |
Definition at line 22 of file vil_stream_core.h.
|
private |
Definition at line 21 of file vil_stream_core.h.
|
private |
Definition at line 20 of file vil_stream_core.h.
|
private |
Definition at line 23 of file vil_stream_core.h.
1.8.15