vil_stream Class Reference

#include <vil_stream.h>

Inheritance diagram for vil_stream:

vil_stream_core vil_stream_fstream vil_stream_section vil_stream_url List of all members.

Detailed Description

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.


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_streamvil_open (char const *what, char const *how="r")
 make a vil_stream from a filename, an URL, etc.

Constructor & Destructor Documentation

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.


Member Function Documentation

virtual bool vil_stream::ok (  )  const [pure virtual]

Return false if the stream is broken.

Implemented in vil_stream_core, vil_stream_fstream, vil_stream_section, and vil_stream_url.

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_fstream, vil_stream_section, 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_fstream, vil_stream_section, and vil_stream_url.

virtual vil_streampos vil_stream::tell (  )  const [pure virtual]

Return file pointer.

Implemented in vil_stream_core, vil_stream_fstream, vil_stream_section, and vil_stream_url.

virtual void vil_stream::seek ( vil_streampos  position  )  [pure virtual]

Goto file pointer.

Implemented in vil_stream_core, vil_stream_fstream, vil_stream_section, and vil_stream_url.

virtual vil_streampos vil_stream::file_size (  )  const [pure virtual]

Amount of data in the stream.

Implemented in vil_stream_core, vil_stream_fstream, vil_stream_section, and vil_stream_url.

void vil_stream::ref (  )  [inline]

up/down the reference count.

Definition at line 48 of file vil_stream.h.

void vil_stream::unref (  ) 

Definition at line 31 of file vil_stream.cxx.


Friends And Related Function Documentation

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.


Member Data Documentation

vcl_atomic_count vil_stream::refcount_ [private]

Definition at line 57 of file vil_stream.h.


The documentation for this class was generated from the following files:
Generated on Sun Nov 22 05:08:46 2009 for core/vil by  doxygen 1.5.1