Logo Search packages:      
Sourcecode: djvulibre version File versions

ByteStream::Stdio Class Reference

Inheritance diagram for ByteStream::Stdio:

ByteStream GPEnabled

List of all members.


Detailed Description

ByteStream interface for stdio files. The virtual member functions read#, write#, tell# and seek# are mapped to the well known stdio functions fread#, fwrite#, ftell# and fseek#.
See also:
Unix man page fopen(3), fread(3), fwrite(3), ftell(3), fseek(3)

Definition at line 132 of file ByteStream.cpp.


Public Types

enum  codepage_type { RAW, AUTO, NATIVE, UTF8 }

Public Member Functions

virtual void flush (void)
int get_count (void) const
GNativeString getAsNative (void)
GUTF8String getAsUTF8 (void)
GUTF8String init (const char mode[])
GUTF8String init (FILE *const f, const char *const mode="rb", const bool closeme=false)
GUTF8String init (const GURL &url, const char *const mode)
virtual size_t read (void *buffer, size_t size)
virtual int seek (long offset, int whence=SEEK_SET, bool nothrow=false)
virtual long tell (void) const
virtual size_t write (const void *buffer, size_t size)
Utility Functions.
Class ByteStream# implements these functions using the virtual interface functions only. All subclasses of ByteStream# inherit these functions.

size_t copy (ByteStream &bsfrom, size_t size=0)
GP< ByteStreamduplicate (const size_t size=0) const
size_t format (const char *fmt,...)
 Allows printf() type operations to a bytestream.
void formatmessage (const char *fmt,...)
TArray< char > get_data (void)
 Use at your own risk, only guarenteed to work for ByteStream::Memorys.
virtual bool is_static (void) const
 Returns false, unless a subclass of ByteStream::Static.
unsigned int read16 ()
unsigned int read24 ()
unsigned int read32 ()
unsigned int read8 ()
size_t readall (void *buffer, size_t size)
virtual size_t readat (void *buffer, size_t sz, int pos)
int scanf (const char *fmt,...)
 Allows scanf() type operations on a bytestream.
virtual int size (void) const
size_t writall (const void *buffer, size_t size)
void write16 (unsigned int card16)
void write24 (unsigned int card24)
void write32 (unsigned int card32)
void write8 (unsigned int card8)
void writemessage (const char *message)
size_t writestring (const GNativeString &s)
size_t writestring (const GUTF8String &s)

Static Public Member Functions

static GP< ByteStreamcreate (FILE *const f, char const *const mode, const bool closeme)
static GP< ByteStreamcreate (const int fd, char const *const mode, const bool closeme)
static GP< ByteStreamcreate (char const *const mode)
static GP< ByteStreamcreate (const GURL &url, char const *const mode)
static GP< ByteStreamcreate (void const *const buffer, const size_t size)
static GP< ByteStreamcreate (void)
static GP< ByteStreamcreate_static (void const *const buffer, const size_t size)
static GP< ByteStreamget_stderr (char const *const mode=0)
static GP< ByteStreamget_stdin (char const *const mode=0)
static GP< ByteStreamget_stdout (char const *const mode=0)

Public Attributes

enum ByteStream::codepage_type cp

Static Public Attributes

static const char * EndOfFile = ERR_MSG("EOF")

Protected Attributes

volatile int count
 The reference counter.
FILE * fp
long pos

Private Member Functions

Stdiooperator= (const Stdio &)
 Stdio (const Stdio &)

Private Attributes

bool can_read
bool can_write
bool must_close

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index